Метаданные, также известные как промежуточные данные и ретрансляционные данные, представляют собой данные, описывающие данные (данные о данных), в основном информацию, описывающую атрибуты данных (свойство). Используется для поддержки таких функций, как указание места хранения, исторических данных, поиск ресурсов, запись файлов и т. д.
Метаданные изображения (Метаданные) — это теги, встроенные в файлы изображений. Больше похоже на атрибуты файлов, но со многими типами. Для цифровых изображений в настоящее время распространенные исследовательские данные включают EXIF, Существует три типа IPTC и XMP:
Способ внедрения метаданных варьируется от формата изображения к файлу изображения, а файлы изображений разных форматов имеют разные методы внедрения.
Например, JPG и TIF — это EXIF, а PNG.
В Windows просмотр метаданных изображений предназначен для файлов изображений. 【свойство】——>【Подробности】 Эта страница выглядит так, как показано ниже:
ExifдляExchangeable Image File(сменные файлы изображений)аббревиатура,да специально настроен для фотографий, сделанных цифровыми фотоаппаратами.,Используется для записи различной информации при съемке изображений: информация об изображении (производитель,резолюция и др.),Запись съемки камеры (ISO,баланс белого,Насыщенность,резкость и др.),миниатюра(миниатюраширина,высота и др.),GPS (долгота на момент съемки),широта,высота) и т. д.,Поместите эту информацию в файл изображения головы в соответствии со стандартом файлов JPEG.
Exif изначально был разработан Японской ассоциацией развития электронной промышленности (JEIDA). --Japan Electronic Industry Development Association) Он был сформулирован в 1996 году (1.0), а в 1998 году на провинциальном уровне вышла версия 2.1, в которой добавлена поддержка аудиофайлов. Последняя версия на данный момент — 2.21. версия. Стандарт проектирования файлов камер (DCF), разрабатываемый Международной организацией по стандартизации (ISO). -- Design role for Camera File правила проектирования файловой системы системы/камеры) могут быть основаны на Exif2.1.
Почти все новые цифровые камеры в настоящее время используют формат файлов Exif для хранения изображений.
Файлы Exif на самом деле представляют собой тип файла JPEG и соответствуют стандарту JPEG.,Так что присоединяйтесь EXIF информация не влияет JPEG Просмотр файлов. К информации заголовка файла добавляется только содержимое информации о съемке и индексное изображение.
Таким образом, вы можете использовать любое программное обеспечение для работы с изображениями, поддерживающее формат JPEG, для просмотра или изменения файлов Exif, но вы можете не увидеть информацию Exif при его открытии. После изменения информация Exif может быть потеряна.
Basically, Exif file format is the same as JPEG file format. Exif inserts some of image/digicam information data and thumbnail image to JPEG in conformity to JPEG specification.Therefore you can view Exif format image files by JPEG compliant Internet browser/Picture viewer/Photo retouch software etc. as a usual JPEG image files.
Проще говоря, информация EXIF — это ряд информации, собранной цифровой камерой в процессе съемки, а затем помещенной в заголовок привычного файла JPEG/TIFF. Другими словами, информация EXIF встраивается в JPEG. Формат файла изображения /TIFF. Набор параметров съемки, в основном включая диафрагму, выдержку, ISO, дату и время, а также другую информацию, связанную с условиями съемки в данный момент, маркой камеры, цветовым кодированием, звуком, записанным во время съемки, и глобальную информацию. система позиционирования (GPS) и другая информация.
Exif можно добавлять к файлам JPEG, TIFF, RIFF, CR2, NEF, XMP и другим файлам — спецификация PNG не включает встроенный EXIF.
Как проанализировать информацию Exif в файле изображения и перехватить блок данных Exif в файле изображения?
Информация Exif начинается с 0xFFE1, а последние два байта указывают длину информации Exif. Таким образом, максимальный размер информации Exif составляет 64 КБ, а внутренний формат TIFF — формат файла изображения с тегами — изначально был разработан для производителей настольных сканеров для достижения общего формата файла отсканированного изображения, формата JPEG, в середине 1980-х годов. быть встроены в другие типы форматов файлов, например в форматы файлов типа TIFF).
Every JPEG file starts from binary value '0xFFD8', ends by binary value '0xFFD9'. There are several binary 0xFFXX data in JPEG data, they are called as "Marker", and it means the period of JPEG information data. 0xFFD8 means SOI(Start of image), 0xFFD9 means EOI(End of image). These two special Markers have no data following, the other Markers have data with it. Basic format of Marker is below.
Многие картинки не имеют суффиксов, но картинки все же можно идентифицировать, опираясь на описания?
На самом деле, это очень просто: определить, что такое первые 3 байта. Если обнаружено, что оно начинается с FF D8 FF, то это считается изображением в формате JEPG.
Файлы JPG состоят из сегментов данных. Количество и длина сегментов не определены. Если файл JPEG содержит достаточно информации, его можно открыть.
Компоненты формата изображения JPEG: SOI (заголовок файла) + APP0 (идентификационная информация изображения) + DQT (определить таблицу квантования) + SOF0 (основная информация об изображении) + DHT (определить таблицу Хаффмана) + DRI (определить интервал перезапуска) + SOS (Начало строка сканирования) + EOI (конец файла)
Откройте файл JPG в шестнадцатеричном формате, и вы найдете
JPEG Есть некоторые в файлеДанные в форме 0xFF** называются «Маркерами».,это значит JPEG Информационный сегмент данных. Например 0xFFD8 представлять SOI(Start of image), 0xFFD9 представлять EOI(End of image)。
Метки 0xFFE0~0xFFEF называются «Маркерами приложения». Они не нужны для декодирования файлов JPEG и могут использоваться для хранения информации о конфигурации и т. д. EXIF также использует этот сегмент метки для вставки информации, в частности, маркера APP1(0xFFE1). Вся информация EXIF хранится в этом сегменте данных.
SOI Marker | Marker XX size=SSSS | Marker YY size=TTTT | SOS Marker size=UUUU | Image stream | EOI Marker | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
FFD8 | FFXX | SSSS | DDDD...... | FFYY | TTTT | DDDD...... | FFDA | UUUU | DDDD.... | I I I I.... | FFD9 |
Теги между 0xFFE0~0xFFEF называются «тегами приложений». Они не обязательно должны существовать при декодировании изображений JPEG. Они используются в пользовательских приложениях. Например, старые цифровые камеры Olympus/canon/casio/agfa используют JFIF (обмен файлами JPEG). Формат) для хранения изображений JFIF использует тег APP0 (0xFFE0) для вставки данных конфигурации цифровой камеры и миниатюр.
Exif также использует теги приложения для вставки данных, но Exif использует тег APP1 (0xFFE1), чтобы избежать конфликтов с форматом JFIF. С него начинается каждый формат файла Exif, например.
SOI-тег | Размер отметки XX=SSSS | Отметьте размер YY=TTTT | Размер тега SOS = УУУУ | поток данных изображения | знак ВЗ | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
FFD8 | FFXXlo0p | SSSS | DDDD...... | FFYY | TTTT | DDDD...... | FFDA | UUUU | DDDD.... | I I I I.... | FFD9 |
Exif также использует теги приложения для вставки данных, но Exif использует тег APP1 (0xFFE1), чтобы избежать конфликтов с форматом JFIF. С него начинается каждый формат файла Exif, например.;
0xFF+Marker Number(1 byte)+Data size(2 bytes)+Data(n bytes)
SOI Marker | APP1 Marker | APP1 Data | Other Marker |
---|---|---|---|
FFD8 | FFE1 | SSSS 457869660000 TTTT...... | FFXX SSSS DDDD...... |
Файл изображения начинается с тега SOI (0xFFD8), поэтому это файл JPEG. Сразу за ним следует тег APP1. И все его данные Exif хранятся в поле данных APP1. Часть «SSSS» выше представляет APP1. поле данных (область данных Exif). Обратите внимание, что размер «SSSS» здесь включает размер самого дескриптора.
После «SSSS» идут данные APP1. Первая часть — это специальные данные, которые используются для определения того, является ли это Exif. Его значение представляет собой объединенную строку символа ASCII «Exif» и двух байтов 0x00.
После поля тега APP1 следуют другие теги JPEG.
Если изображение представляет собой шестнадцатеричные данные, то:
FF D8 FF E0 00 10 4A 46 49 46 00 01 02 01 00 60 00 60 00 00 FF E1 08 32 45 78 69 66 00 00 49 49 10 60 00 60 20 00 …… FFD9
Затем FF D8 — это бит флага SOI, FF E0 — это начальный бит файла exif, а следующие четыре бита — это длина информации маркера exif. Кажется, проблем нет, если данные такой длины разбирать в данные TIFFdata, а exif разбирать непосредственно в строку.
FF D8
FF E0 00 10 4A 46 49 46 00 01 02 01 00 60 00 60 00 00 mark0,00 10 = 16 бит
FF E1 08 32 45 78 69 66 00 00 49 49 10 60 00 60 20 00 …… mark1,00 10 = 2098 бит
……
Image stream
FFD9
Структура данных Exif (APP1) примерно следующий. Так обстоит дело с порядком байтов Intel, и он содержит JPEG Отформатированный Миниатюра. Как описано выше, Exif Данные начинаются с символов ASCII. "Exif" и 2 байта 0x00, Это позади Exif-данные. Exif использовать TIFF формат для хранения данных. Если вы хотите получить более подробную информацию о TIFF, Пожалуйста, обратитесь к «Спецификация TIFF6.0 (TIFF6.0 specification)".
FFE1 | Тег приложения1 | ||||
---|---|---|---|---|---|
SSSS | Данные приложения1 | Данные приложения1размер | |||
45786966 0000 | Exif-заголовок | ||||
49492A00 08000000 | заголовок TIFF | ||||
XXXX. . . . | IFD0 (основное изображение) | Оглавление | |||
LLLLLLLL | Подключиться к IFD1 | ||||
XXXX. . . . | Поле данных IFD0 | ||||
XXXX. . . . | Exif детский IFD | Оглавление | |||
00000000 | Соединение завершено | ||||
XXXX. . . . | Exif детский IFDизполе данных | ||||
XXXX. . . . | Interoperability IFD | Directory | |||
00000000 | Соединение завершено | ||||
XXXX. . . . | Поля данных IFD взаимодействия | ||||
XXXX. . . . | Makernote IFD | Directory | |||
00000000 | Соединение завершено | ||||
XXXX. . . . | Поля данных Makernote IFD | ||||
XXXX. . . . | IFD1 (миниатюрное изображение) | Оглавление | |||
00000000 | Соединение завершено | ||||
XXXX. . . . | Поле данных IFD1 | ||||
FFD8XXXX. . . XXXXFFD9 | уменьшенное изображение |
Exif – TIFF
TIFF–формат файла изображения,Содержит элемент данных изображения data. Благодаря своей простоте и гибкости,Souse очень широк,Прочтите эту статью специально《Интерпретация формата JPEG/Exif/TIFF (3): TIFF》
Нам просто нужно идентифицировать его голову и расшифровать сообщение. Эта информация имеет таблицу кодирования, кодируется согласно заголовку, а затем декодирует содержимое внутри.
Ниже приводится описание формата файла, данное на официальном сайте. Вы можете.
Tags used by IFD0 (main image)
Tag No. | Tag Name | Format | CompoNo | Desc. |
---|---|---|---|---|
0x010e | ImageDescription | ascii string | Describes image | |
0x010f | Make | ascii string | Shows manufacturer of digicam | |
0x0110 | Model | ascii string | Shows model number of digicam | |
0x0112 | Orientation | unsigned short | 1 | The orientation of the camera relative to the scene, when the image was captured. The start point of stored data is, '1' means upper left, '3' lower right, '6' upper right, '8' lower left, '9' undefined. |
0x011a | XResolution | unsigned rational | 1 | Display/Print resolution of image. Large number of digicam uses 1/72inch, but it has no mean because personal computer doesn't use this value to display/print out. |
0x011b | YResolution | unsigned rational | 1 | |
0x0128 | ResolutionUnit | unsigned short | 1 | Unit of XResolution(0x011a)/YResolution(0x011b). '1' means no-unit, '2' means inch, '3' means centimeter. |
0x0131 | Software | ascii string | Shows firmware(internal software of digicam) version number. | |
0x0132 | DateTime | ascii string | 20 | Date/Time of image was last modified. Data format is "YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes. In usual, it has the same value of DateTimeOriginal(0x9003) |
0x013e | WhitePoint | unsigned rational | 2 | Defines chromaticity of white point of the image. If the image uses CIE Standard Illumination D65(known as international standard of 'daylight'), the values are '3127/10000,3290/10000'. |
0x013f | PrimaryChromaticities | unsigned rational | 6 | Defines chromaticity of the primaries of the image. If the image uses CCIR Recommendation 709 primearies, values are '640/1000,330/1000,300/1000,600/1000,150/1000,0/1000'. |
0x0211 | YCbCrCoefficients | unsigned rational | 3 | When image format is YCbCr, this value shows a constant to translate it to RGB format. In usual, values are '0.299/0.587/0.114'. |
0x0213 | YCbCrPositioning | unsigned short | 1 | When image format is YCbCr and uses 'Subsampling'(cropping of chroma data, all the digicam do that), defines the chroma sample point of subsampling pixel array. '1' means the center of pixel array, '2' means the datum point. |
0x0214 | ReferenceBlackWhite | unsigned rational | 6 | Shows reference value of black point/white point. In case of YCbCr format, first 2 show black/white of Y, next 2 are Cb, last 2 are Cr. In case of RGB format, first 2 show black/white of R, next 2 are G, last 2 are B. |
0x8298 | Copyright | ascii string | Shows copyright information | |
0x8769 | ExifOffset | unsigned long | 1 | Offset to Exif Sub IFD |
Больше можно посмотреть:https://www.media.mit.edu/pia/Research/deepview/exif.html
Эта статьяда《Интерпретация формата JPEG/Exif/TIFF (5): идентификатор тега маркера exif》
Ссылки:
Подробное описание файла изображения с информацией Exif blog.sina.com.cn/s/blog_651251e60102uz3d.html#AboutExif
Метаданные информации Exif изображения https://www.jianshu.com/p/a6d67df60e7e
Информация о ротации файлов изображений JPEG и EXIF https://blog.csdn.net/yulimin/article/details/102827865
https://www.media.mit.edu/pia/Research/deepview/exif.html
https://baike.baidu.com/item/Exif/422825?fr=aladdin
Считайте атрибут Exif изображения JPG (1) - Введение в информацию Exif https://blog.csdn.net/fioletfly/article/details/53605959
Чтение атрибутов Exif изображений JPG (2) — реализация кода C https://blog.csdn.net/fioletfly/article/details/54094940
Считайте атрибут Exif изображения JPG (3) - ExifсвойствочитатьGPSинформационный код(C/C++выполнить)https://blog.csdn.net/fioletfly/article/details/54133422
Реализация программы C для добавления информации Exif к изображениям jpg. https://blog.csdn.net/psy6653/article/details/79658144
Добавляем EXIF в JPEG https://blog.csdn.net/weixin_43549602/article/details/84654965
Подробное объяснение формата изображения jpeg https://blog.csdn.net/yun_hen/article/details/78135122
Алгоритм сжатия — JPEG2000. Принципы кодирования и декодирования https://blog.csdn.net/ytang_/article/details/76571635
Подробное объяснение PNG, JPEG, BMP и других форматов изображений https://www.jianshu.com/p/f5557c0e689e
использовать HTTP2и изображения Progressive JPEG для более быстрой загрузки изображений http
ПерепечаткаЭтот сайтстатья《Интерпретация формата JPEG/Exif/TIFF (2): Подробное объяснение сохранения метаданных изображения и EXIF.》, Пожалуйста, укажите источник:https://www.zhoulujun.cn/html/theory/multimedia/CG-CV-IP/8397.html