У меня есть серия изображений, которые я хочу сжать. Их сотни, поэтому я бы хотел использовать инструменты 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 или каким-либо автоматическим способом?
Я наконец-то нашел очень полезный пост здесь
Я использую следующие параметры:
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