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

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

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

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

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

Я получаю файл 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 ответ

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

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

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 
Другие вопросы по тегам