2

Я пытаюсь изменить размер изображения (450+) с помощью imagemagick, все они начинаются с 500x500, и я написал скрипт, чтобы изменить их размер примерно до 5 разных размеров.

Теперь, когда я их преобразовал, я замечаю, что качество цвета получает заметный успех. Что я могу изменить в своей команде, чтобы немного улучшить качество?

Команда: convert input.jpg[0] -background black -density 72 -resize 440x440 -quality 100 -strip output.jpg

Я не могу загрузить фактический файл, но вот урезанная версия (с отступами)

Оригинал:

ImageMagick:

1 ответ1

5

Вы используете опцию -strip , которая говорит конвертировать в

раздеть изображение любых профилей или комментариев.

Это включает в себя цветовой профиль. Следовательно, в средствах просмотра изображений, которые используют встроенный цветовой профиль, output.jpg будет выглядеть по-другому как input.jpg при использовании

convert input.jpg -background black -density 72 -resize 440x440 -quality 100 -strip output.jpg 

Итак, опуская опцию -strip - это самый простой способ получить одинаковые цвета в output.jpg:

convert input.jpg -background black -density 72 -resize 440x440 -quality 100 output.jpg 

Другая возможность заключается в следующем - если вы хотите избавиться от каких-либо комментариев, но сохранить цвета:

  1. Извлеките цветовой профиль.
  2. Уберите все метаданные с помощью jpegtran из пакета libjpeg-progs (операция без потерь).
  3. Измените размер изображения и снова включите цветовой профиль.

    convert input.jpg colorprofile.icc
    jpegtran -copy none input.jpg > input_stripped.jpg
    convert input_stripped.jpg -profile colorprofile.icc -background black -density 72 -resize 440x440 -quality 100 output.jpg 
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .