Можно ли узнать, какая степень сжатия использовалась для конкретного JPEG? - Фотопедия
4 голосов
/ 23 марта 2017

У меня есть пара JPEG. Есть ли способ узнать, какой уровень сжатия использовался при их кодировании? То есть были ли они закодированы на уровне 60 или 90?


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

Ответы [ 2 ]

9 голосов
/ 24 марта 2017

Нет, вы не можете, и нет смысла это делать, поскольку нет повсеместного определения уровня сжатия JPEG. Фактический результат при сохранении JPEG с уровнем сжатия 60 в одном программном обеспечении может значительно отличаться от того, что производит другое программное обеспечение при установке на уровень 60.

Если вы используете ImageMagick в соответствии с рекомендациями Rolazaro Azeveires, он действительно напечатает число качества, но это число , а не на основе данных EXIF. ImageMagick рассчитывает собственный индекс качества на основе количества таблиц квантования в файле изображения, и это число может снова отличаться от уровня качества, который вы фактически установили при сохранении изображения.

Например, если у вас есть структурно простое изображение, самым простым из которых является одноцветная плитка, и вы сохраняете его на уровне 100 с помощью программного обеспечения, использующего воспринимаемый индекс качества, программное обеспечение может сохранить изображение практически без потерь только с небольшое количество таблиц квантования. Анализ файла позже с помощью ImageMagick, вероятно, даст вам очень низкий уровень качества, поскольку ImageMagick видит только несколько таблиц квантования и не понимает, что на самом деле для сохранения файла с высоким качеством требовалось только небольшое количество таблиц квантования.

Вот, например, качество, сообщаемое ImageMagick для некоторых различных опций при сохранении изображения из Photoshop:

Photoshop                 ImageMagick identify -verbose
save for web q=1/100         Quality: 55
save for web q=80/100        Quality: 94
save for web q=100/100       Quality: 99
save image q=1/12            Quality: 81
save image q=6/12            Quality: 92
save image q=12/12           Quality: 99

Как видите, даже в одном программном обеспечении две разные функции «сохранить изображение» и «сохранить для Интернета и устройств» используют разные шкалы уровня качества и не соответствуют ни одному из уровней качества, о которых сообщает ImageMagick.

Дополнение: Поскольку Крис Х пытается доказать, что уровень качества, о котором сообщает ImageMagick, может быть полезен в некоторых случаях, я покажу несколько примеров, почему это не так. только разумный способ оценить качество файла JPEG - посмотреть на него и не полагаться на какое-то магическое число, выдаваемое программным инструментом.

Давайте сначала посмотрим на этот файл JPEG. Да, качество не является исключительно хорошим, есть некоторые видимые артефакты, и ImageMagick сообщает о качестве 62 при размере файла 17,426 байт:

enter image description here

Предположим, что у нас есть одно и то же изображение из другого источника, и для этого файла ImageMagick сообщает о качестве 99, а размер файла составляет 21.470 байт:

enter image description here

ИМХО должно быть очень очевидно, что ни размер файла, ни уровень качества ImageMagick не подходят для оценки истинного качества файла изображения.

4 голосов
/ 24 марта 2017

Можно, вроде. Команда identify ImageMagicks может показать оценку

identify -verbose image.jpeg

даст (много) информации об изображении.

Одна из строк будет выглядеть примерно так:

Quality: 84

Если эта команда показывает слишком много, и вам нужно только качество, вы можете передать это с помощью grep:

identify -verbose image.jpeg | grep Quality

(Украдено и расширено с «Как найти качество jpg», на superuser.com )

(отредактировано, чтобы включить, что это не данные EXIF, а предположение, и сказать «иди и прочитай другой хороший и, возможно, лучший, ответ»): -)

...