Как узнать, был ли сохранен JPEG-файл как Progressive?

Как узнать, был ли сохранен JPEG-файл как Progressive?

Я получил набор фотографий от фотографа и мне нужно подтвердить, что JPEG не были сохранены как Progressive JPEG. У меня есть Adobe Bridge и Photoshop — как это проверить?

решение1

Несколько простых методов:

  1. ImageMagick— В командной строке выполните:
    identify -verbose mystery.jpg | grep Interlace
    Вывод будет либо «Interlace:JPEG», либо «Interlace: None».
  2. фотошоп— Открыть файл. Выберите File -> Save for Web & Devices.
    Если это прогрессивный jpeg, будет установлен флажок Progressive.
  3. Любой браузер— Базовые jpeg будут загружаться сверху вниз, а прогрессивные jpeg будут делать что-то еще. Если файл загружается слишком быстро, вам может потребоваться добавить ограничение полосы пропускания. Я использую ipfw на своем Mac.

Источник

Программные методы

ПроверитьОбнаружение прогрессивного JPEG. Автор публикует ссылки на ряд скриптов, разработанных другими людьми:

Для распознавания файлов можно использовать пару идентификационных байтов. JPEG на основе прогрессивного DCT можно идентифицировать по байтам «0xFF, 0xC2». Кроме того, изображения прогрессивного JPEG обычно содержат несколько сканов, поэтому можно поискать пару совпадений «Начало сканирования» (байты: «0xFF, 0xDA»). Автор использовал простую команду Bash для получения точных результатов:

>grep -c -P “xffxc2″ progressive1.jpg
>1

>grep -c -P “xffxc2″ progressive2.jpg
>1

>grep -c -P “xffxc2″ baseline1.jpg
>0

>grep -c -P “xffxc2″ baseline2.jpg
>0

>grep -c -P “xffxDA” progressive1.jpg
>6

>grep -c -P “xffxDA” progressive2.jpg
>12

Ссылка также содержит ряд других полезных инструментов.

Обновлять

Сюжет становится все более запутанным (спасибо пользователю PussInBoots за то, что он подтолкнул меня к более глубокому изучению). Вопрос был о том, как определить, является ли JPEGсохраненокак прогрессивный.

  • "Сохранено как", похоже, имеет гибкое значение. Я экспериментировал и обнаружил, что в некоторых случаях сохранение как прогрессивного означало только то, что параметр метаданных (Interlace) был изменен, но файл фактически не был изменен для включения прогрессивных сканов. Таким образом, файл содержит одно изображение, и программное обеспечение для рендеринга получает указание обрабатывать его как прогрессивное изображение.

    Вот как эти «поддельные» прогрессивные файлы проявляются в описанных выше тестах:

    • InageMagick: Параметр Interlace читается как «JPEG», а не «None».

    • Фотошоп: Единственная версия Photoshop, которая у меня была под рукой, была древней (версия 7.0). В диалоговом окне «Сохранить для Web» для Progressiveэтих файлов флажок был предварительно установлен, но не для стандартных JPEG.

    • Браузер: Моя система и подключение к Интернету слишком быстры, чтобы это было полезным тестом. В нормальных условиях все происходит достаточно быстро, чтобы надежно различить разницу.

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

  • Итак, к первоначальному вопросу, если какой-либо из тестов, приведенных выше, указывает на то, что файлнетпрогрессивный JPEG, вы можете быть уверены, что это не так. Однако, "простые методы", указанные выше, по-видимому, не позволяют надежно отличить настоящий прогрессивный JPEG от "поддельного", поэтому вы не можете полагаться на них, чтобы узнать, является ли JPEGявляетсядействительно прогрессивный. На самом деле, PussInBoots сообщает в комментарии, что Photoshop CS6, похоже, имеет выбор по умолчанию как «прогрессивный», поэтому его начальная настройка ничего не говорит вам о существующем файле.

решение2

Если вы используете Unix, используйте fileкоманду:

$ file image.jpg

image.jpg: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], progressive, precision 8, 2000x1200, components 3

решение3

Для будущих поколений - есть более простой способ. Просто проверьте его с помощью Irfanview. Нажмите на Изображение->Информация.

Проверьте свойства JPEG с помощью Irfanview

Связанный контент