JPEG-сжатие на уровне GIMP с помощью Imagemagick

У меня есть серия изображений, которые я хочу сжать. Их сотни, поэтому я бы хотел использовать инструменты CLI.

Изображения имеют следующие характеристики.

$ identify 100.jpg 
100.jpg JPEG 639x426 639x426+0+0 8-bit sRGB 319KB

Если я изменю их размер с помощью GIMP и экспортирую с этими настройками

enter image description here

, я получаю файл 20 КБ с очень приемлемым качеством .

$ identify c.jpg 
c.jpg JPEG 400x267 400x267+0+0 8-bit sRGB 20KB

Если я изменю его размер с помощью преобразования Imagemagick, однако, следующим образом

$ convert 100.jpg -quality 50% -resize 400x267  c_im.jpg

я получу гораздо больший файл, без значительного улучшения качества.

$ identify c_im.jpg 
c_im.jpg JPEG 400x267 400x267+0+0 8-bit sRGB 86.6KB

Даже если я уменьшу качество или размер еще больше, я не смогу получить файл, такой же маленький, как файл GIMP, если я не захожу так далеко, что изображение вырождается до неузнаваемости.

И даже если я отмечу поля EXIF ​​и миниатюры в GIMP, размер увеличивается только до 43 КБ.

Есть ли способ получить уровни сжатия GIMP с помощью инструментов CLI или каким-либо автоматическим способом?

1
задан 26 November 2017 в 14:56

1 ответ

Я наконец-то нашел очень полезный пост здесь

Я использую следующие параметры:

convert 100.jpg -strip -gaussian-blur 0.05 -quality 50% -resize 400x267  c_im.jpg

Параметр strip действительно является ключевым. От 85 КБ до 16 КБ, просто так. Очевидно, он удаляет только комментарии и профили, которые мне не нужны.

Размытие приводит к небольшому уменьшению размера, но потеря четкости заметна, поэтому используйте по своему усмотрению.

$ identify c_im.jpg 
c_im.jpg JPEG 400x267 400x267+0+0 8-bit sRGB 15.7KB 
0
ответ дан 26 November 2017 в 14:56

Другие вопросы по тегам:

Похожие вопросы: