3

Я недавно вставил SD-карту своей камеры в ПК с Windows 7 и начал просматривать фотографии на ней. Я заметил, что некоторые не были правильно выровнены и используют rotate feature включенную в Windows Photo Viewer, чтобы просматривать их, как я хотел.

Чего я не знал, так это того, что когда используется функция поворота, она также перезаписывает изображение при нажатии следующей или предыдущей кнопки, что приводит к возможной потере качества (что, на мой взгляд, плохая идея, приложение должно по крайней мере предупреждать пользователя о том, что произойдет при использовании такой функции).

После этого я снова вставил SD-карту обратно в камеру, и произошел неприятный сюрприз: повернутый снимок больше нельзя было просматривать. Вместо этого я получил черный экран с надписью "Несовместимый формат JPEG". Другие файлы (нетронутые) по-прежнему работают нормально.

Чтобы попытаться понять, что произошло, я открыл файл JPEG с камеры и файл, созданный в Windows 7 в шестнадцатеричном редакторе. Вот разница:

Файлы JPEG камеры содержат тег Exif (с заголовком 0xE1 ). Другие файлы JPEG (Windows 7) содержат сначала тег JFIF , а затем тег Exif (с заголовком 0xE0 ).

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

Вот мой вопрос: возможно ли (с помощью какого-либо инструмента) конвертировать JFIF файлы в формат Exif ?

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

2 ответа2

2

Стандарт JPEG имеет ряд вариантов соответствия файлов, которые были созданы по определенным причинам, часто используются два типа: EXIF и JFIF.

Хотя оба файла классифицируются как файлы JPEG и отображаются на компьютере с расширением JPEG, различие обусловлено дополнительными данными, которые добавляются к исходному изображению во время обработки в камере или в компьютере. Эти данные обычно хранятся в областях, которые называются "APPn" (где "n" - это число 0,1,2 и т.д.).

Большинство приложений для обработки изображений могут открывать оба типа файлов JPEG, но большинство цифровых камер могут отображать только изображения в формате EXIF. Когда файл EXIF открывается в программе обработки изображений, такой как Photoshop, и затем сохраняется, файл изменяется в формат JFIF, в результате чего изображение больше не может быть открыто камерой, и данные съемки теряются.

EXIF

Формат EXIF был создан для использования в цифровых камерах, APPn хранит такую информацию, как состояние камеры на момент записи изображения (затвор, баланс белого апертуры и т.д.).

JFIF

Вариант JFIF обычно используется в индустрии обработки изображений, большинство программных приложений сохраняют файлы в этом формате. JFIF использует APPn для хранения информации, такой как авторское право и подписи (текст IPTC), и информации профиля для управления цветом (данные icm).

Вы можете попробовать ExifTool и выполнить эту команду, но возможно, что ваша камера не сможет отображать изображения, так как данные съемки будут потеряны.

exiftool "-exif:all<jfif:all" "-thumbnailimage<jfif:thumbnailimage" FILE

1

Из раздела «Совместимость» статьи Википедии « Формат обмена файлами JPEG»:

Более новый формат файла изображения Exchangeable (Exif) сопоставим с JFIF, но оба стандарта несовместимы друг с другом. Это связано с тем, что оба стандарта указывают, что их конкретный сегмент приложения (APP0 для JFIF, APP1 для Exif) должен быть первым в файле образа. На практике многие программы и цифровые камеры создают файлы с включенными обоими сегментами приложения. Это не повлияет на декодирование изображения для большинства декодеров, но плохо спроектированные парсеры JFIF или Exif могут не распознавать файл должным образом.

Исходя из вышеизложенного, вы можете преобразовать JFIF в Exif, просто удалив сегмент / маркер APP0 с помощью своего шестнадцатеричного редактора и добавив сегмент / маркер APP1 (например, используя другой инструмент, который манипулирует данными Exif). Или вы можете просто добавить данные Exif, и вы все равно сможете открыть изображение в большинстве программ.

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