Здравствуйте уважаемые читатели блога www.сайт. Подходит к концу время летних отпусков. Народ массово возвращается восвояси из разных замечательных мест. Многие с большим количеством сделанных во время путешествия или отдыха фотографий.
Погода этой осенью, по крайней мере в Москве, стоит просто ужасная. А значит, самое время заняться обработкой привезенных снимков.
Сегодня мы поговорим о редактировании EXIF данных фотографий, главным образом о том, как изменить записанное в EXIF фото время съемки .
Наверняка уже не для кого не секрет, что любая современная цифровая камера, будь то отдельный фотоаппарат, или фотокамера в телефоне или другом электронном устройстве, записывает в файл с изображением информацию о снимке — данные в формате EXIF (Exchangeable Image File ).
В первую очередь к ним относятся: модель фотоаппарата, которым был сделан снимок, значения выдержки, диафрагмы, фокусное расстояние, светочувствительность ISO, дата и время съемки .
Это далеко не все. В зависимости от модели фотоаппарата в EXIF может быть прописано большое количество других параметров, таких как: разрешение, тип объектива, использование вспышки и многие другие, включая даже серийный номер аппарата.
Сегодня нас будут интересовать данные о времени съемки , записанные в EXIF . Вскоре будет понятно почему.
Зачем редактировать значения EXIF данных
Скажите честно. Вы всегда до начала съемок проверяете время, выставленное в вашем фотоаппарате или видеокамере? Думаю, что не ошибусь, если предположу такой вариант ответа из лексикона Виктора Акашина: “Скорее нет, чем да”. Опять же можно еще сказать, что счастливые часов не наблюдают.
Так ли уж это страшно, если часы в вашем фотоаппарате уйдут в любую сторону на несколько минут? Да нет, конечно. Если речь не идет о точном временном протоколировании некого события, то и бог с ним.
Проблема начинается тогда, когда нужно объединить в один альбом репортажные, то есть выстроенные в хронологическом порядке, фотографии, сделанные разными фотоаппаратами. Вот тут ошибка времени +-3…5 минут может стать крайне неприятной.
Впервые я столкнулся с такой проблемой, когда мы с женой начали снимать в совместных путешествиях параллельно на два фотоаппарата. Я, скажем, при проходе или проезде улицы – левую сторону, она – правую. Или наоборот. Снимаем много — все, что понравилось. А то ведь, что не сфотографировал, то через некоторое время и забыл.
Когда по возвращении домой я взялся обрабатывать снимки, то выяснилось, что в предотъездной суете совершенно забыл проверить какое время показывают и, следовательно, записывают в EXIF данные фотографий , наши фотокамеры. На одной было что-то типа +3 минуты, на другой –4. Суммарные 7 минут оказались настоящим кошмаром.
Апофеозом той серии фотографий, после которого стало понятно, что дальше “так жить нельзя”, явился фуникулер в Бергамо. По версии одного фотоаппарата получалось, что мы уже благополучно поднялись наверх, попутно созерцая через окно головокружительные местные красоты, по версии другого, что еще только собираемся.
Нужно было найти способ отредактировать время, записанное в EXIF фотографий , причем в пакетном режиме . В принципе, изменить в EXIF отметку времени для каждой фотографии по отдельности можно в Picasa , но уж больно это муторно и долго получилось бы для нескольких сотен снимков.
Ожидания найти готовую программу, которая позволила бы осуществить нужное групповое редактирование снимков, были близки к нулю. Каково же было мое удивление, я бы даже сказал, восхищение, когда такая программа для редактирования EXIF нашлась. Она называется .
Назначение и возможности программы EXIF Date Changer
Так как время от времени создаются ее новые релизы, то программу лучше скачать с сайта разработчика . На момент написания этой статьи актуальной была версия 3.0.1.2.
Программа позволяет:
- Быстро отредактировать записанные в EXIF значения даты / времени для всех изображений в выбранной папке (пакетная обработка);
- Переименовать все изображения с включением в имена файлов фотографий отметок даты / времени съемки и настройкой предпочтительного формата имени выходного файла. Например, “2013-08-15 11-38-56 – Italy.jpg” или “20130815_Italy.jpg”;
- Облегчить сортировку за счет лучшего именования файлов;
- Добавить информацию об авторских правах и авторах, теги (ключевые слова) (используется во многих программах, таких как Picasa или Adobe Lightroom ) (в версии Pro);
- Добавить отметку даты / времени в изображения, которые изначально не имеют данных EXIF. Таковыми являются, например, отсканированные фотографии. (Очень полезная опция для создания цифровых фотоальбомов из отсканированных старых фотографий);
- Добавить водяные знаки в изображения JPEG (в версии Pro);
- Легко сортировать и обрабатывать изображения с нескольких фотокамер (в версии Pro).
Предлагается в двух вариантах: Standard (бесплатный) и Pro ($14,95). Платная версия Pro ориентирована на профессиональное использование и отличается от Standard поддержкой помимо JPG большого количества форматов файлов изображений, таких как: RAW , CR2 , NEF и т.д. Полный перечень поддерживаемых Pro-версией форматов представлен на сайте программы.
Помимо поддержки большого количества графических форматов, платная версия позволяет добавлять в EXIF различную информацию и фильтровать фотографии по модели камеры.
Не смотря на то, что в одном из фотоаппаратов я изначально сохраняю снимки в формате NEF (Nikon), окончательная обработка и формирование альбомов делается в замечательном менеджере фотографий в JPG . По этой причине бесплатной версии программы оказалось более чем достаточно.
Что позволяет сделать бесплатная версия программы EXIF Date Changer
Так выглядит основное окно программы:
Интерфейс программы доступен на нескольких языках. Как мы видим из представленного скриншота, русский язык также поддерживается, что приятно.
Для того, чтобы изменить (сдвинуть) время, записанное в EXIF фотографий, размещенных в некоторой папке, нужно указать эту исходную и выбрать конечную папки и на первой вкладке “Разница во времени ” задать нужное в ту или иную сторону смещение выбрав строку “Настроить время ”.
В этой же строке справа есть калькулятор для расчета разницы времени по двум его заданным значениям.
Обратите внимание, что исходные фотографии модифицироваться не будут – их копии с измененными значениями EXIF данных будут созданы в выбранной конечной папке (и это правильно).
На примере у всех фотографий, представленных в исходной папке, время съемки увеличится на 5 минут. Вот так все просто.
Сложнее может оказаться само определение значения сдвига. Можно предложить такие варианты решения задачи:
- Если съемка производилась относительно недавно и цифровые часы в фотоаппарате не успели “уехать” еще дальше или сбиться по той или иной причине, например, из-за проблем с аккумулятором, то значение необходимого сдвига можно принять равным разнице текущего времени и времени в часах фотоаппарата. Обязательным условием при этом является доступность самой фотокамеры.
Если нужно синхронизировать снимки с нескольких камер, то коррекцию, соответственно, необходимо выполнить для фотографий, сделанных каждой из них.
- Если стоит задача просто синхронизировать по времени фотографии с нескольких камер, то можно поступить таким образом.
На сериях фотографий, сделанных разными камерами, необходимо выбрать по одному ключевому снимку. Под ключевыми в данном случае подразумеваются фотографии, которые были сделаны разными фотоаппаратами, но примерно в одно и тоже время. Далее сравниваем отметки времени выбранных фотографий и решаем простейшую арифметическую задачу на вычитание.
В качестве “базовой” камеры в данном случае имеет смысл принять ту, часы которой показывают время наиболее близкое к действительному.
Именно таким способом не так давно я успешно скомпоновал одного юбилейного события. Фотографии были сделаны несколькими разными аппаратами с различных точек и без предварительного редактирования значений отметок времени съемки выстроить их в единый ряд не представлялось возможным.
Для того, чтобы посмотреть дату и время съемки фотографии (не путать с датой и временем создания файла), достаточно открыть свойства файла в файловом менеджере Windows Explorer и открыть вкладку “Подробно ”:
Кроме того, данные EXIF показывают практически все менеджеры фотографий, например, Picasa .
По сути дела это все, что непосредственно касалось решения поставленной задачи. Дальше можно копировать фотографии с отредактированными EXIF данными отметок времени съемки, сделанные разными камерами, в одну папку и смотреть, что получилось. Если в расчеты разницы времени вкралась ошибка, просто повторяем операцию с другим значением сдвига.
В заключении еще несколько слов по поводу программы. В варианте Standard в программе доступны почти все действия на первых двух вкладках.
На первой вкладке “Разница во времени ”, которую мы частично уже разобрали, помимо временного сдвига в строке “Установить дату и время ” можно задать для записи в EXIF фотографии абсолютное значение даты и времени:
Правая кнопка в данной строке позволяет скопировать дату и время из EXIF произвольно выбранной фотографии.
В версии Pro дополнительно можно задать интервал последовательного увеличения времени для всех фотографий. В бесплатном варианте программы при выборе этой опции в EXIF всех фотографий будут прописаны одинаковые дата и время съемки.
Если это нежелательно, то можно выбирать нужные фотографии переключившись в “Выбрать изображения ” в верхней правой части экрана.
Переключатель “Без настроек даты ” используется в том случае, когда дату и время съемки изменять не нужно, но предполагается выполнить другие операции, предусмотренные в программе. Настройка этих операций осуществляется на следующих вкладках:
На вкладке “Опции ” можно задать подпись изображения и переименование файлов с использованием значений даты и времени. Шаблон, по которому будут переименованы файлы, можно задать в соответствии со своими предпочтениями.
На этом возможности бесплатной версии программы заканчиваются.
Дополнительные возможности профессиональной версии EXIF Date Changer
Тем, кому нужны функции, представленные на вкладках “Дополнительно Прога очень помогла! Еще раз спасибо за инфу!
Большое спасибо за Ваш отзыв. Очень приятно, что помог своей публикацией найти нужную программу и что у вас все получилось.
Все круто, спасибо огромное!
ps: С оной порцией фотографий случился вот какой момент: программа выдает ошибку почти по всем файлам: «can’t read sublFD» и не хочет менять дату файла со смещением на сутки вперед. Не знаю как быть.
Остальные порции фотографий от других фотографов идеально переименованы и даты скорректированы как положено.
Вообще метаданные могут иметься у изображений различных форматов, однако я буду рассказывать на примере JPEG-а, т.к. работал именно с ним. Я думаю, для других форматов разница будет невелика.
Типы метаданных
Для начала разберемся, какие вообще типы метаданных могут быть в изображении. Все скорее всего это итак знают, но на всякий случай расскажу:
- EXIF (Exchangeable Image File Format) - стандарт хранения метаданных в изображении, который используется цифровыми камерами для сохранения информации о выдержке, диафрагме и других параметрах съемки. Метаданные в формате EXIF могут храниться в файлах форматов JPEG, TIFF и RIFF WAV. По стандарту из пользовательских описательных метаданных в EXIF может храниться только описание (тег Description) и комментарий (тег «User Comment»), но Windows Explorer использует также несколько дополнительных тегов (XPTitle, XPSubject, XPAuthor, XPComment, XPKeywords). Windows Explorer игнорирует тег XPTitle при наличии стандартного тега Description.
- IPTC (International Press Telecommunications Council) - название скорее организации, разработавшей стандарт. Сам стандарт метаданных называется IIM (Information Interchange Model). Самый старый из описываемых стандартов. В изначальной версии стандарта метаданные хранились так, что ПО, не знающее о существовании IPTC, не могло работать с файлами изображений, в которых были такие метаданные. Однако позже Adobe расширила стандарт, перенеся метаданные в блок APP13 JPEG-файла, что позволило ПО, не знающему о стандарте, успешно читать JPEG-файл, игнорируя неизвестные метаданные. В метаданных IPTC могут храниться такие описательные поля, как ObjectName (заголовок), Keywords (ключевые слова), Caption (описание, есть несколько вариаций тега).
- XMP (eXtensible Metadata Platform) - стандарт, разработанный Adobe. Метаданные хранятся в модели RDF, представленной в формате XML, позволяя включать любую необходимую информацию в файл изображения. Именно этот формат предпочитает использовать WIC (Windows Imaging Component) в Windows Vista/7.
Принципы работы с метаданными в WPF
Для работы с метаданными в WPF используются классы BitmapEncoder, BitmapDecoder, BitmapSource, BitmapFrame, BitmapMetadata, InPlaceMetadataWriter.
У классов BitmapEncoder и BitmapDecoder есть наследники, позволяющие работать с конкретными форматами изображений. В моем случае - JpegBitmapEncoder и JpegBitmapDecoder.
Класс InPlaceMetadataWriter используется для изменения метаданных прямо на месте, без перекодирования файла.
Данные читать и записывать можно двумя методами - либо с помощью функций GetQuery/SetQuery, оперирующих с иерархическими именами тегов метаданных, либо с помощью полей класса BitmapMetadata, позволяющих легко обращаться к метаданным.
При обращении к метаданным через поля класса BitmapMetadata, WIC пытается найти соответствующие поля в метаданных разных стандартов в следующем порядке: сначала XMP, затем IPTC и EXIF. При записи тегов через поля класса BitmapMetadata, WIC записывает их в формате XMP.
Чтение метаданных
Вот готовый пример функции, с помощью которой можно читать метаданные из файла:
- FileStream f = File .Open("test.jpg" , FileMode.Open);
- BitmapDecoder decoder = JpegBitmapDecoder.Create(f, BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.Default);
- BitmapMetadata metadata = (BitmapMetadata)decoder.Frames[ 0 ].Metadata;
- // Получаем заголовок через поле класса
- string title = metadata.Title;
- // Получаем заголовок из XMP
- string xmptitle = (string )metadata.GetQuery(@"/xmp/
dc:title" ); - // Получаем заголовок из EXIF
- string exiftitle = (string )metadata.GetQuery(@"/app1/ifd/{ushort=40091}" );
- // Получаем заголовок из IPTC
- string iptctitle = (string )metadata.GetQuery();
Тут все достаточно просто и прозрачно, поэтому сразу перейдем к записи.
Запись метаданных
- BitmapMetadata md = new BitmapMetadata ("jpg" );
- md.SetQuery(@"/xmp/
dc:title" , xmptitle); - md.SetQuery(@"/app1/ifd/{ushort=40091}" , exiftitle);
- md.SetQuery(@"/app13/irb/8bimiptc/iptc/object name" , iptctitle);
- BitmapFrame frame = BitmapFrame.Create(decoder.Frames[ 0 ], decoder.Frames[ 0 ].Thumbnail, md, decoder.Frames[ 0 ].ColorContexts);
- BitmapEncoder encoder = new JpegBitmapEncoder ();
- encoder.Frames.Add(frame);
- FileStream of = File .Open("test2.jpg" , FileMode.Create, FileAccess.Write);
- encoder.Save(of);
- of.Close();
Код идет, как продолжение фрагмента, читающего метаданные. Мы создаем копию оригинального файла, записав в его метаданные тайтл во всех трех форматах метаданных.
Редактирование метаданных «на месте»
До сих пор я рассказывал вобщем-то достаточно хорошо документированные и простые вещи, однако здесь все уже сложнее. Пример в официальной документации (MSDN) неверен и вообще противоположен по смыслу реальному положению вещей.
Для редактирования метаданных «на месте» необходимо создать объект класса InPlaceBitmapMetadataWriter:
После этого с ним можно работать, как с обычным BitmapMetadata, вызывая SetQuery для задания нужных метаданных.
Чтобы сохранить изменения, нужно вызвать метод TrySave(), пытающийся сохранить изменения в оригинальный поток. Попытка записи может быть успешной, а может и нет. При успешной попытке метод возвращает true, при ошибке - false.
Самая частая ошибка, которая может помешать записать изменения - в метаданных недостаточно свободного места. Как правило, все свежеснятые фотографии не содержат в метаданных достаточного места, поэтому для того, чтобы начать пользоваться редактированием метаданных на месте, следует один раз сделать копию файла, дополнив метаданные в нем специальными полями padding, оставляющими свободное место для последующих изменений. Для этого файл открывается, нужный кадр и его метаданные клонируются, и выполняется несколько запросов:
После этого кадр достаточно закодировать энкодером и записать в нужный поток, в результате чего в изображении появится свободное место для редактирования метаданных на месте впоследствии.
Значение паддинга в 2048 байт как правило достаточно. Если вам необходимо больше - можно указать большее значение.
Строки запросов
Я думаю у всех при изучении методов SetQuery/GetQuery возникает резонный вопрос - откуда брать все эти строки запросов, которые простыми и интуитивно понятными не назовешь?
После продолжительных поисков в MSDN нашелся соответствующий список . Здесь есть пожалуй все необходимые запросы. Отсутствующие можно в принципе составить по аналогии, примеров - предостаточно:)
Тонкости и подводные камни
- Версии WIC в Windows XP и Windows Vista могут глючить, если у вызывающего функцию JpegBitmapEncoder.Save() потока не указан атрибут STAThread (по умолчанию, все создаваемые в приложении потоки получают атрибут MTAThread, если не указано обратное).
- Версия WIC в Windows 7 сохраняет значения тега EXIF UserComment по умолчанию в Unicode, тогда как в Windows XP и Windows Vista - в кодировке текущего языка системы (CP1251 для русского). Формат записи UTF-8 параметров такой: само значение тега сохраняется не как строка, а как массив байт. Первые 7 байт - ASCII строка «UNICODE», после чего начинается Unicode-закодированная последовательность символов тега.
- К параметру BitmapCacheOptions следует относиться внимательно. Значение OnLoad кэширует все данные изображений в несжатом виде в RAM, поэтому если вы откроете штук 20 крупноформатных JPEG-ов с этой опцией - свободная память будет съедена очень быстро. Эта память не освобождается при удалении самих классов изображений (BitmapFrame, BitmapDecoder и пр.) и обработке их сборщиком мусора. Кроме того, для использования InPlaceBitmapMetadataWriter следует открывать изображение с BitmapCacheOptions = OnDemand или Default.
- В примере я открываю изображение с флагом IgnoreColorProfile, т.к. без него на некоторых изображениях BitmapDecoder выбрасывает исключение.
Заключение
В целом работа с метаданными с помощью WPF мне показалась достаточно сложной и запутанной. Практически все из описанных подводных камней стоили мне нескольких часов отладки и гугления, информации об этом нигде нет, а симптомы иногда очень странные. Официальная документация (MSDN) освещает этот вопрос плохо, а местами и вовсе неверна.
Надеюсь, что эта собранная информация поможет тем, кому понадобится работать с метаданными через WPF, и сэкономит им несколько часов времени:)
P.S. Буду рад увидеть в комментариях замечания (если я где-то ошибся) и описания подводных камней, с которыми я не встречался или забыл упомянуть.
P.P.S. Стоит ли продолжать писать о WPF, или я пишу давно известные вещи?
Главы статьи:
Цифровая фотография по сути это программный файл, в котором кроме информации о самом изображении хранится информация о том, как оно было сделано. Эта информация называется метаданные фотографии , и размещается она в своих специальных разделах как, например Свойства файла, EXIF, IPTC и других, необходимых при хранении фотографий.
В зависимости от типа фотографии в ее метаданных могут быть созданы специальные разделы, связанные с особенностями создания фотографии или ее принадлежности к чему-то. Например, раздел DICOM необходим для медицинских целей, GPS для географических, а раздел Camera RAW для хранения результатов обработки фотографии (рис.1).
Рис.1 Окно настройки отображения метаданными цифровых фотографий разных разделов.
Метаданные цифровых фотографий создаются фотокамерой или другим оборудованием при создании файла, но могут быть созданы, изменены и дополнены специальными программами. Основное назначение разделов метаданных это их целевое использование, как самим фотографом, так и устройствами, например принтером. Для этого они и создаются.
Из всех возможных разделов метаданных, которые могут быть в файлах цифровых фотографий, фотографы используют для своей работы только три. В разделе EXIF сохраняется техническая информация о параметрах фотосъемки. В раздел IPTC хранится информация об авторском праве и описание фотографии. В Свойствах файла хранятся его параметры.
Метаданные цифровых фотографий это мощный инструмент в арсенале фотографа. Умение работать с метаданными является важным навыком, но для этого нужно знать содержимое основных разделов метаданных и их возможности. Используя метаданные в каких-либо целях, фотографы получают возможности, которые нельзя недооценивать.
EXIF – технический раздел метаданных
Основным разделом метаданных файла цифровой фотографии является EXIF – Exchangeable Image File Format. Дословно в переводе на русский язык это сменный формат файла изображения. В этом разделе хранится техническая информация, сделанная фотокамерой во время фотосъемки, и записанная в файл фотографии автоматически.
EXIF стандарт получил широкое распространение в связи с появлением цифровых фотокамер и является их неотъемлемой частью. Информация метаданных из раздела EXIF дает фотографу полное представление обо всех настройках фотоаппарата, с которыми была сделана фотография.
Раздел метаданных EXIF это формат, включаемый в файлы фотографий производителями разного фотооборудования. С развитием фототехники развивается и этот формат. При появлении у фотокамер новых функций, они появляются и в разделе EXIF. Но их не будет в файлах фотокамер, у которых таких функций нет.
Основные рабочие функции цифровых фотоаппаратов есть у каждого из них, как у старых моделей, так и у новых. Информация о них хранится в EXIF разделе метаданных цифровой фотографии любой фотокамеры. Ее состав хорошо виден на примере одной из первых цифровых фотокамер массового производства «Konica Minolta dynax 5D» (рис.2).
Рис.2 EXIF раздел метаданных цифровой фотографии.
Все поля заполняются фотокамерой, но могут отличаться в зависимости от настроек, установленных в ее меню. Каких-то полей может не быть, а какие-то поля могут быть добавлены. Редактировать в метаданных поля EXIF раздела цифровой фотографии нельзя. Их можно только удалить в специальной программе, как и в Свойствах файла.
Метаданные фотографии – Свойства файла
Свойства файла цифровой фотографии это еще один раздел метаданных для хранения технической информации. В отличие от EXIF в Свойствах файла хранится информацию о самом файле цифровой фотографии. Его имя, тип, даты, размеры и цвет. Эта информация необходима фотографу для операций с файлами цифровых фотографий и их хранения (рис.3).
Рис.3 Раздел метаданных цифровой фотографии – Свойства файла.
Свойства файла цифровой фотографии это ее технический паспорт. Эту информацию нельзя редактировать. Она является частью файла. Любые изменения в этом разделе метаданных фотографии могут быть сделаны только при изменении файла и его последующем сохранении с новыми параметрами. А это уже другой файл.
Обычно при работе с файлами в операционной системе Windows Vista и старше через контекстное меню выводится окно «Свойства», ошибочно полагая, что открыт раздел метаданных Свойства файла. Но в этом окне есть разные метаданные, и состоит оно из нескольких блоков: описание, источник, изображение, камера, улучшение фото, файл и других (рис.4).
Рис.4 Окно операционной системы Windows «Свойства» для отображения метаданных цифровой фотографии.
В окне операционной системы «Свойства» раздел метаданных Свойства файла отображается в нижнем блоке «Файл» (рис.5). Другие блоки окна, это другие разделы метаданных цифровой фотографии. Например, блок «Камера» это EXIF раздел (рис.4), а блок «Описание» это раздел IPTC.
Рис.5 Метаданные цифровой фотографии Свойства файла отображаются в окне «Свойства» в нижнем блоке «Файл».
IPTC – описательный раздел метаданных
Кроме технических разделов метаданных EXIF и Свойства файла может создаваться раздел для хранения описания цифровой фотографии. IPTC (International Press Telecommunications Council) – международный совет по прессе и телекоммуникациям. Этот раздел метаданных предназначен для закрепления авторского права и идентификации фотографии.
В метаданных цифровых фотографий может быть несколько видов IPTC разделов. Отличаются они назначением и количеством редактируемых в них полей. Например, раздел IPTC core это базовый раздел (рис.6), IPTC extension – дополнительный (рис.7), а IIM - старая модификация раздела IPTC (рис.8).
Рис.6 Основной раздел метаданных цифровой фотографии IPTC Core.
Рис.7 Дополнительный раздел метаданных цифровой фотографии IPTC Extension.
Рис.8 Старый раздел метаданных цифровой фотографии IPTC (IIM).
В отличие от EXIF раздела, который создается фотоаппаратом в момент фотосъемки, раздел метаданных IPTC создается после нее. Поля раздела фотограф заполняет по необходимости, но может этого и не делать. Это зависит от назначения фотографии. Чаще всего этот раздел заполняется в коммерческих целях для размещения фотографий в фотобанках.
Заполнять поля метаданных для большого количества файлов цифровых фотографий вручную очень утомительно и долго. Для этого существуют специальные программы, которые могут выполнять и другие операции с метаданными цифровых фотографий. О том, что это за программы и как с ними работать, читайте в следующих статьях:
Чтобы описать каждую точку цифрового изображения пиксель - picture element (элемент картинки, дословно) нужно задать несколько чисел. В случае растрового RGB 8 бит представления, каждый пиксель характеризуется тремя компьютерными 8 битными словами для каждого из каналов. В мегапиксельном изображении таких слов 3 миллиона. Поэтому графические файлы в растровом формате так велики. Записать попутно тысячу слов не составит труда и не потребуется никаких дополнительных затрат. Но эти «неграфические» слова - метаданные позволяют:
a) согласовать цвета и яркости воспринимаемые камерой или сканером с яркостью или цветами на дисплее компьютера,
б) знать съемочные настройки камеры для файла-изображения (избавится от бумажных блокнотов и диктофонов, хранящих памятные заметки),
в) подтвердить ваше авторское право,
г) найти нужное изображение в базе данных по ключевому слову или даже географической координате места съемки,
д) автоматически преобразовать файл в требуемый для вывода формат и корректно напечатать изображение в автоматическом режиме (в том числе без компьютера),
и еще много чего.DCF
Design Rule for Camera File System (описание в ) - индустриальный стандарт организации данных в устройствах получения, хранения, преобразования и вывода цифровых изображений. Принят в 1998 году (Japan Electronics Industry Development Association) для стандартизации процесса переноса данных между различными устройствами. Сейчас входит в (Japan Electronics and Information Technology Industries Association).
Правилам DCF подчиняется структура файлов на карте памяти цифрового аппарата. В привычном представлении это дерево папок с файлами и отдельными файлами. Изображения, обычно, хранятся во вложенных папках директории DCIM. В других хранятся видео и звуковые файлы, «системные» данные настроек камеры, шаблоны создания HTML галерей. Задания печати DPOF (папка MISC) позволяют принтеру прямой печати самостоятельно найти и выполнить задание печати.
Программное обеспечение, которым комплектуется камера, используя DCF информацию, автоматически копирует снимки с карты памяти на компьютер в базу данных, строит панорамы, открывает приложения для преобразования RAW файлов и выполняет многое другое, на что только хватило фантазии разработчиков.
Стандарт DCF включает так же и описание формата собственно графических файлов JPEG, TIFF, RAW. Графические файлы, в свою очередь, подчиняются правилам организаций и ассоциаций, утвердивших их. Стандарт EXIF входит в спецификацию DCF.
Структура данных на карте памяти камеры Epson L-500V
Для корректной работы различных устройств с мультимедийными файлами (звук, изображения) был принят стандарт универсальных заголовков файлов EXIF. EXIF - Exchangeble image format (версия 1.0 была опубликована в 1995 год). Формат предусматривает хранение в одном файле данных изображения или музыки, их уменьшенных копий (для JPEG рекомендуется 160×120), подраздела текстового описания данных.
Современная версия стандарта - Exif 2.2 (описание в ). Она включает так же технологию автоматического управления цветом и обработки изображения в соответствие с сюжетными съемочными настройками для вывода на печать или дисплей (версия 2.0 предполагала кодирование цвета в sRGB пространстве, в версии 2.2 цветовое пространство может быть любым).
Текстовая часть раздела Exif файла состоит из маркеров и тегов, описывающих определенный параметр (идентификатор и соответствующее ему имя параметра) и значение этого параметра (значение в определенном формате представления величины в виде ASCII кода, рационального, десятичного, шестнадцатеричного и т. д. числа). Набор тегов содержит более-менее стандартизованную и обязательную часть и разделы, «отданные» производителям техники и программного обеспечения для их специальных целей. Программное обеспечение, предназначенное для чтения EXIF данных, ставит в соответствие тегам их определения, а значениям - значения. При этом создатели не всегда придерживаются спецификации и потому случаются недоразумения. Так определение информационного поля может быть заменено соответствующим ему общепринятым эквивалентом, а значение не преобразовано в соответствующий формат. Или производитель камеры записывает в поле, соответствующее тегу, информацию в некорректном формате или вообще о другом параметре. Если это узкоспециализированная программа под определенную марку камер, то недоразумений обычно не бывает. Пользователь «обязан своей покупкой» подчиняться описанным в руководстве ПО правилам и, изучив свой аппарат и программу, будет понимать, о чем идет речь. Но если это универсальная программа, то путаница с неправильным наименованием тегов и форматированием, соответствующих им величин, случается не редко. Это неизбежная плата за универсальность. И еще за привычный язык, ведь по правилам EXIF языка, значения параметров всего лишь числа (например, дюйм - «1», см -«2»), а программа переводит их в понятные нам слова (что необязательно, например в виде чисел представлены некоторые параметры в Adobe Photoshop, Info раздел «Advanced EXIF»).
Рассмотрим информационную часть графического файла на примере цифрового снимка и программы чтения EXIF заголовков. Далее в таблице представлены основные теги формата EXIF на примере Canon EOS 300D и приложения В таблице так же приведены некоторые не отображаемые приложением теги, но о них полезно знать. Кроме ExifRead заголовки отображают и другие программы: , .
Тег | Описание | Пример JPEG Canon 300D по ExifRead |
Filename | имя файла | IMG_2614.JPG |
Application Marker | маркер, необходимый для корректного согласования пользовательских приложений с форматом записи служебной информации, маркер APP1 указывает на блок информации JPEG EXIF, APP0 - JFIF (JPEG File Interchange Format) стандарт, APP2 - FlashPix | JFIF_APP1: Exif |
Make | производитель камеры | Canon |
Model | модель камеры | Canon EOS 300D DIGITAL |
Orientation | ориентация камеры при съемке, положение угла кадра с координатой 0,0 | left-hand side |
XResolution | разрешение вывода (печати), точек на дюйм по Х координате | 180/1 |
YResolution | разрешение вывода (печати), точек на дюйм по У координате | 180/1 |
Resolution Unit | единица длины, на которую приведено разрешение вывода, «1» дюймы, «2» сантиметры | Inch |
DateTime | дата последнего изменения изображения | 2004:07:13 11:57:35 |
YCbCr Positioning | положение точки, определяющей цвет в ячейке YСbCr данных | Centered |
ExifOffset | сдвиг, положение Image file directory - блока изображения в файле | 196 |
Exposure Time | выдержка | 1/400 seconds |
FNumber | число диафрагмы | 11,0 |
ISO SpeedRatings | эквивалентная светочувствительности | 200 |
ExifVersion | версия формата Exif | 0221 |
DateTime Original | время съемки | 2004:07:13 11:57:35 |
DateTime Digitized | время создания цифрового файла | 2004:07:13 11:57:35 |
Components Configuration | формат представления данных в файле изображения | YCbCr |
Compressed BitsPerPixel | средняя степень компрессии JPEG | 3/1 (bits/pixel) |
Shutter SpeedValue | величина выдержки в представлении APEX | 1/400 seconds, корректный вид в APEX «8,6» (1/2 8,6) |
ApertureValue | величина апертуры в представлении APEX | F 11,0, корректный вид в APEX «7» (2 7/2) |
Exposure BiasValue | компенсация экспозиции в единицах EV (APEX) | EV0,0 |
Max ApertureValue | максимальная апертура объектива в представлении APEX | F 5,00, корректный вид в APEX «4,6» (2 (4,6)/2) |
Metering Mode | тип экспозамера,«0» не определено, «1» усредненный, «2» центрально-взвешенный, «3» точечный, «4» мультиточечный, «5» мультисегментный, «6» частичный, «255» другие. | Division |
Flash | вспышка | Not fired |
FocalLength | фокусное расстояние объектива на камере | 125,00(mm) |
UserComment | комментарии пользователя к файлу, если камера позволяет их задать | |
FlashPixVersion | совместимость с форматом представления данных FlashPix - стандарта International Imaging Industry Association - I3A | 0100 - совместимость с FlashPix format Ver.1.0 |
ColorSpace | цветовое пространство файла, DCF предполагает sRGB, которому соответствует значение маркера «1», иному пространству - «65535» (некалиброванное) | sRGB |
ExifImage Width | ширина изображения, пикселей | 2048 |
ExifImage Height | высота изображения, пикселей | 3072 |
Interoperability Offset | параметр, определяющий положение Image file directory - блока изображения в файле | 2366 |
FocalPlane XResolution | плотность сенсоров на матрице по Х координате | 2048000/595, или 3442 на дюйм, позволяет определить размер сенсора по Х - 25,4х2048/3442 = 15,11 мм или 25,4х595/1000 = 15,11 мм |
FocalPlane YResolution | плотность сенсоров на матрице по Y координате | 3072000/892, или 3443/дюйм размер сенсора 25,4х3072/3443 = 22,66 мм |
FocalPlane ResolutionUnit | единица измерения для плотности сенсоров, «1» не определено, «2» дюйм, «3» сантиметр | Meter, ошибка корректное значение Inch выдает приложение IrfanView |
Sensing Method | тип сенсора | One-chip color area sensor - одиночный сенсор с цветной матрицей фильтров |
FileSource | источник изображения | DSC - Digital still camera |
Custom Rendered | обработка изображения | Normal process |
Exposure Mode | режим экспоавтоматики | Auto |
Scene CaptureType | сюжетная программа | Standard |
Maker Note (Vendor) | раздел дополнительных параметров (параметры, приведенные далее), для разработчика, его положение | Canon Format: 1408Bytes (Offset:942) |
Macro mode | макрорежим при съемке | Off |
Self timer | таймер при съемке | Off |
Quality | JPEG сжатие | Fine |
Flash mode | режим вспышки | Off |
Sequence mode | режим смены кадров | Single-frame |
Focus mode | алгоритм фокусировки | One-Shot |
Image size | размер изображения | Large |
Easy shooting mode | программный режим | Manual |
Digital zoom | цифровой зум | |
Contrast | параметры обработки изображения, контраст | High , +1 |
Saturation | параметры обработки изображения, насыщенность | High , +1 |
Sharpness | параметры обработки изображения, резкость | High , +1 |
ISO Value | светочувствительность | 100 |
Metering mode | тип экспозамера | Evaluative |
Focus type | тип фокусировки | Unknown |
AF point selected | точка фокусировки | Unknown (8197) |
Exposure mode | экспозиционный режим | Aperture Priority |
Focal length | объектив на камере | 100-300 mm |
Flash activity | вспышка | Off |
Sequence number | кадр в серии снимков | 0 |
White Balance | замер баланса белого | Auto |
Flash bias | экспокоррекция вспышки в EV (APEX) | 0 EV |
Firmware Version | версия прошивки камеры | Firmware Version 1.1.1 |
Camera Serial Number (Irfan) Serial number (EXIF Reader) | серийный номер камеры | 1070439357 (Irfan) 3FCD-39869 (EXIF Reader) |
Image Number | номер снимка, снятого камерой, первые три цифры - номер папки, последние четыре - порядковый номер файла | 2262614 |
Owner Name | имя пользователя камеры, если персонифицирована | SergeySherbakov |
Color temp | цветовая температура | 5200K |
WhitePoint | определение точки белого изображения, если используется CIE стандарт D65 - величина «3127/10000,3290/10000» | |
Parameters | Параметры JPEG | Standard |
YCbCr Coefficients | для YCbCr представления коэффициенты преобразования в RGB format обычно «0.299/0.587/0.114» | |
Reference BlackWhite | определение точки черного/белого для YCbCr величины задают черную/белую точку для Y, Cb, Cr и каналов RGB | |
Copyright | копирайт | «Автор» для EXIF, заполнено в ACDSee |
Artist | автор | «Автор» заполнено в ACDSee |
ImageDescription | описание снимка | «EXIF теги Иллюстрация» заполнено в ACDSee |
Thumbnail Information Compression JPEGInterchangeFormat JPEGInterchangeFormatLength | информация об уменьшенной копии изображения в EXIF заголовке | OLDJPEG 2211 6492 |
Components Configuration | формат кодирования данных характеристик пикселя RGB «0x04,0x05,0x06,0x00», YCbCr «0x01,0x02,0x03,0x00» для справки: 0x01:Y, 0x02:Cb, 0x03:Cr, 0x04:Red, 0x05:Green, 0x06:Blue | |
Brightness Value | яркость сюжета в APEX, для вычисления Exposure (Ev) к BrigtnessValue (Bv) нужно добавить величину SensitivityValue (Sv) для справки: Ev=Bv+Sv Sv=log 2 (ISOSpeedRating / 3,125) ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7 | |
Subject Distance | дистанция фокусировки, м | |
Light Source | источник света, установка баланса белого, «0» не задано, «1» daylight, «2» fluorescent, «3» tungsten, «10» flash, «17» standard A, «18» standard B, «19» standard C, «20» D55, «21» D65, «22» D75, «255» другие | |
Related SoundFile | имя аудио файла, прикрепленного к снимку | |
CFAPattern | геометрия фильтров на матрице (Color filter array-CFA) Например: | |
Photometric Interpretation | представление цвета: «1» монохромное изображение, «2» RGB, «6» YCbCr |
Можно сравнить EXIF данные для JPEG файла, полученные из программы Canon ZOOMBrowserEX и приложения ExifRead (поля тегов, которые в программе ExifRead отображаются как «Unknown» сокращены):
ExifRead | CanonZOOMBrowserEX |
Filename: IMG_2614.JPG JFIF_APP1: Exif Main Information Make: Canon Model: Canon EOS 300D DIGITAL Orientation: left-hand side XResolution: 180/1 YResolution: 180/1 ResolutionUnit: Inch DateTime: 2004:07:13 11:57:35 YCbCrPositioning: centered ExifInfoOffset: 196 Sub Information ExposureTime: 1/400Sec FNumber: F11,0 ISOSpeedRatings: 200 ExifVersion: 0221 DateTimeOriginal: 2004:07:13 11:57:35 DateTimeDigitized: 2004:07:13 11:57:35 ComponentConfiguration: YCbCr CompressedBitsPerPixel: 3/1 (bit/pixel) ShutterSpeedValue: 1/400Sec ApertureValue: F11,0 ExposureBiasValue: EV0,0 MaxApertureValue: F5,0 MeteringMode: Division Flash: Not fired FocalLength: 125,00(mm) MakerNote: Canon Format: 1408Bytes (Offset:942) UserComment: FlashPixVersion: 0100 ColorSpace: sRGB ExifImageWidth: 2048 ExifImageHeight: 3072 ExifInteroperabilityOffset: 2366 FocalPlaneXResolution: 2048000/595 FocalPlaneYResolution: 3072000/892 FocalPlaneResolutionUnit: Meter SensingMethod: OneChipColorArea sensor FileSource: DSC CustomRendered: Normal process ExposureMode: Auto WhiteBalance: Auto SceneCaptureType: Standard Vendor Original Information Self-timer: Off Quality: Fine FlashMode: Off Drive Mode: Single-frame Focus Mode: One-Shot ImageSize: Large Easy shooting mode: Manual Contrast: +1 Saturation: +1 Sharpness: +1 MeteringMode: Evaluative AF point selected: Unknown (8197) Focal length of lens: 100-300(mm) Flash Activity: Off Color Tone: Normal Unknown (0001)3,46: 005C ... FFFF Unknown (0002)3,4: 0,125,610,914 Unknown (0003)3,4: 100,0,0,0 White Balance: Auto Flash bias: 0 EV Unknown (0004)3,33: 0042 ... 0000 Unknown (0093)3,9: 18,0,0...,65535 Image type: IMG:EOS300DDIGITALJPEG Firmware version: FirmwareVersion1.1.1 Serial number: 3FCD-39869 Unknown (0015)4,1: -1879048192 Image Number: 2262614 Owner name: SergeySherbakov Unknown (0010)4,1: -2147483280 Unknown (000E)4,1: 2620984 Unknown (000D)1,512:0,...,0.0.0.0.0.0 Unknown (0000)3,18: 0,...0,0,0,0,0,0,0 Unknown (00C0)3,13: 001A ... CC 0190 Unknown (00C1)3,13: 001A ... C6 016C Unknown (00AA)3,5: 10,529...,1026,698 Unknown (00A8)3,10: 20,429...,0,0,0,0,0 Unknown (00A9)3,41: 82,...,129,127 Color temp: 5200K Parameters: Standard Unknown (0012)3,24: 7,7,...,65535 Unknown (0013)3,4: 0,159,7,112 Unknown (0000)3,5: 0,0,0,0,0 Unknown (00B6)4,12: 24,...,262146 ExifR98 ExifR: R98 Version: 0100 Unknown (4097) : 2048 Unknown (4098) : 3072 Thumbnail Information Compression: OLDJPEG XResolution: 180/1 YResolution: 180/1 ResolutionUnit: Inch JPEGInterchangeFormat: 2548 JPEGInterchangeFormatLength: 6492 | File Name IMG_2614.JPG Camera Model Name Canon EOS 300D DIGITAL Shooting Date/Time 13.07.2004 11:57:35 Shooting Mode Aperture-Priority AE Tv(Shutter Speed) 1/400 Av(Aperture Value) 11 Metering Mode Evaluative Exposure Compensation 0 ISO Speed 200 Lens 100.0 - 300.0mm Focal Length 125.0mm Image Size 2048x3072 Image Quality Fine Flash Off White Balance Auto AF Mode One-Shot AF Parameters Contrast +1 Sharpness +1 Color saturation +1 Color tone Normal Color Space sRGB File Size 2240KB Drive Mode Single-frame shooting Owner"s Name Sergey Sherbakov Camera Body No. 1070439357 |
EXIF данные для RAW (Canon EOS 300D) файла, полученные из программы ExifRead и приложения Canon ZOOMBrowserEX:
ExifRead | CanonZOOMBrowserEX |
Filename: CRW_5185.CRW Canon CRW Header CCDRAW Image: 4910386Bytes(offset:26) JPEG Image: 534464Bytes(offset:4910412) Unknown(1803) : 1,0 ImageSpec: 3072Ѓ~2048 ExpouserMode: Single Unknown(1804) : 0,1256 Unknown(1817) : 24817,6724 CapturedTime: 2004:10:16 10:17:02 ImageFileName: CRW_5185.CRW ThumbnailFileName: CRW_5185.THM Unknown(0805) : Unknown(1814) : 0,3724 Unknown(0805) : EOS 300D DIGITAL CMOS RAW ImageType: CRW:EOS 300D DIGITAL CMOS RAW OwnerName: Sergey Sherbakov ModelName: Canon EOS 300D DIGITAL Unknown(180B) : 39869,9577 ISOSensivity: 100 ROMOperationMode: USA FirmwareVersion: Firmware Version 1.1.1 ISOSensivity: 100 LensFocalLength: 18.0(mm) White Balance: Daylight Sequence number(Continuous mode) : 0 Flash bias: 0 EV Unknown(102A) : 66,0,...,0,0,0,0 Unknown(1093) : 18,0,......,5535 Self-timer: Off Quality: RAW FlashMode: Off Drive Mode: Single-frame Focus Mode: MF ImageSize: Large Easy shooting mode: Manual Contrast: Normal Saturation: Normal Sharpness: Normal MeteringMode: Evaluative ExposureProgram: Aperture Priority Focal length of lens: 18-55(mm) Flash Activity: Off Color Tone: Normal Unknown(102D) : 92,0,...,65535,65535 Unknown(0036) : 0E82 Unknown(1834) : 368,2833 CCDImageSize: 3152Ѓ~2068 Unknown(1835) : 1,0,514,4000 Unknown(1038) : 7,7,3072,...,0,65535 Unknown(10C0) : 26,336,....,460,400 Unknown(10C1) : 26,305,....,454,364 Unknown(10C2) : 884,....,78,151,28 Unknown(10AA) : 10,877,...,588 Unknown(10A8) : 20,3871,...,5200 Unknown(10AD) : 62,...,65099,65325 Unknown(10AE) : 5200 Unknown(10AF) : 1024 Unknown(10A9) : 82,1398,...,124,126 Unknown(10B4) : 2 Unknown(10B5) : 10,3,1,2048,1360 Unknown(1039) : 0,159,7,112 Unknown(183B) : 0 | File Name CRW_5185.CRW Camera Model Name Canon EOS 300D DIGITAL Shooting Date/Time 16.10.2004 10:17:02 Shooting Mode Aperture-Priority AE Tv(Shutter Speed) 1/30 Av(Aperture Value) 3.5 Metering Mode Evaluative Exposure Compensation 0 ISO Speed 100 Lens 18.0 - 55.0mm Focal Length 18.0mm Image Size 3072x2048 Image Quality RAW Flash Off White Balance Daylight AF Mode Manual Focus Parameters Contrast Normal Sharpness Normal Color saturation Normal Color tone Normal Color Space Adobe RGB File Size 5323KB Drive Mode Single-frame shooting Owner"s Name Sergey Sherbakov Camera Body No. 1070439357 |
Примечания.
1. Некоторые поля данных для тегов «Unknown» в таблицах сокращены.
2. Теги «ShutterSpeedValue», «ApertureValue» и некоторые другие (с идентификатором Value) в соответствии со стандартом EXIF записываются не в привычных фотографических величинах, а в APEX представлении. Иногда приложения для просмотра EXIF данных преобразуют APEX формат к привычному виду, иногда нет.
Что представляет собой формат APEX? APEX (The Additive System for Photographic Exposure) удобная форма записи и, главное, выражения соотношений экспозиционных условий. Удобная потому, что оперирует с логарифмическими величинами с основанием 2. В них удвоение экспозиции соответствует увеличению ее на один шаг, то есть на привычную ступень выдержки или диафрагмы. Чтобы подсчитать экспозицию в формате APEX достаточно воспользоваться простой формулой: AV + TV = LV + SV= EV. Где AV и TV соответственно APEX величина диафрагмы и выдержки, LV яркости, SV светочувствительности. При этом в APEX за нулевые значения величины AV = 0 принята диафрагма f/1,0, выдержки TV = 0 - 1 c, яркости LV=0 - 3,4 кандел/м*м, светочувствительности SV = 0 - 3,125 (в ISO).
Чтобы отличать фотографические термины «диафрагма», «выдержка» от величин в APEX принято все величины, выраженные в APEX формате сопровождать словом «величина» - как «Aperture value», а при сокращении добавлять букву «V» - как Av.
Интересно, что сейчас в камерах Canon с режимами приоритета выдержки и диафрагмы Tv и Av ряд значений на органах управления записан в привычных обратных секундах и диафрагменных числах. Объясняется это тем, что на камерах Canon «значки» Tv и Av появились, когда APEX формат был практически важен для вычисления экспозиции и популярен. И в качестве значений этих величин использовались величины APEX. Затем с развитием автоматики и унификации экспонометрических устройств практическая важность формата APEX для фотографа стала минимальной и от него отказались, вернувшись к привычным диафрагменным числам и секундам. А маркировка режимов у Canon осталась прежней ().
Как отображается информация в программе для просмотра съемочных параметров, зависит от разработчика. Формально тегу «Aperture value» соответствует величина в единицах APEX без всяких суффиксов и префиксов. Но, к примеру, в Canon ZOOM Browzer EX тег «Aperture value» отображается в формате диафрагменного числа, но без префикса «f/» (для ясности следовало бы писать именно так, то есть «f/»), а Tv, которое, тем не менее, расшифровывается как «Shutter Speed», как доля секунды без «c», то есть верно, если знать об истории появления значков Av/Tv на Canon. В ACDSee версии 5 «Aperture value» корректно отображается в единицах APEX, а в версии 7 в привычном формате «f/число». Определить, что скрывается за «Aperture value» в вашей программе, можно посмотрев на значение другого тега EXIF «F-number». Если числовые значения совпадают, то «Aperture value» отображается в диафрагменных числах, если нет - в APEX единицах. Тогда проверьте соответствие по формуле Aperture value = 2 х Log 2 F-number. (Легко заметить, что при f/4 - APEX - так же 4, но это единственное исключение).
3. Стандарты DCF и EXIF постоянно «расширяются» и к ним добавляются новые спецификации и, соответственно, теги. Кроме того, производители техники и ПО иногда вводят новые спецификации метаданных. Такие спецификации могут интегрироваться в EXIF, но могут быть и совершенно независимыми. Так в полях EXIF данных есть маркеры, указывающие на совместимость с форматами представления данных FlashPix (стандарта International Imaging Industry Association - I3A), маркеры описывающие расширение ExifR98, GPS данные и другие. С выходом EXIF PRINT, для автоматической обработки изображения в соответствие с сюжетной программой съемки к EXIF добавлены теги, описывающие «сюжетные» настройки цифровой камеры: вспышка, экспорежим, баланс белого, выдержка, дистанция до объекта, источник света, сюжетная программа, цифровой зум, постобработка, контраст, насыщенность, повышение резкости, шумоподавление. Альтернативная технология согласования печати и обработки PIM ( - EPSON, 2001 год) так же добавляет к метаданным 12 (PIM I) или 14 (PIM II) «сюжетных» пунктов.
Метаданные, редактируемые в ACDSee
Среди стандартных тегов EXIF есть предназначенные для систематизации хранения снимков на компьютере. Это: владелец камеры, имя пользователя, авторские права, описание и другие. Если их нельзя заполнить непосредственно при съемке, то нужно использовать либо «фирменное» ПО от камеры либо универсальные программы. К числу таких программ относятся, например, Adobe Photoshop и ACDSee. С их помощью можно изменить значения перечисленных тегов. Но нужно быть внимательным, не все «поля», которые можно заполнить в таких программах сохраняются как метаданные файла. Программа может хранить данные в своей базе данных и не записывать их в файл изображения. Так Adobe Photoshop помимо стандартных (перечисленных выше) полей описания файла, позволяет заполнить многие другие, а для RAW файлов записать даже «скорректированные» настройки камеры. Но хранится вся эта дополнительная информация либо в единой базе данных Photoshop на вашем компьютере, либо в виде переносимого вместе с основным файлом файла метаданных «*.XMP» (а сам RAW файл, по определению, не подвергается изменениям).
Зачем нужно редактировать exif данные в фотографиях?
Чаще всего это требуется чтобы исправить дату по причине съемок на ненастроенной камере.
Современные камеры, как и мобильники, содержат в себе дополнительный очень малоемкий элемент питания, ионистор, эдакий навороченный конденсатор.
Но если камера полежит без аккумуляторов длительное время, настройки могут сбиться на первоначальные, в том числе и дата.
Кроме даты в exif данные также записывается GPS положение, параметры съемки, фокусное расстояние, и даже мощность вспышки.
Нужно заметить, что в состав windows уже входит базовый редактор тегов iptc/exif, и у него тоже есть свои плюсы и минусы, и его я разберу наряду с другими утилитами.
Разумеется, редакторы тегов присутствуют и у дорогих графических пакетов . Однако здесь главной преградой становится немаленькая стоимость.
К счастью, в мире полно талантливых и не жадных программистов, любимый sourceforge тому главное доказательство. В этом обзоре я рассмотрю лучшие утилиты для редактирования exif тегов, исключительно бесплатного формата. Начнём.
Windows Exif/iptc редактор тегов
Самый простой и доступный способ отредактировать exif данные в фотографии в среде windows.
Примечательно, что обладателей техники Apple подобной утилитой не наградили.
Её несомненный плюс состоит именно в наличии под рукой в нужный момент.
Фактически утилита состоит из двух частей.
Одна часть являет собой вкладку в меню Свойства файла
. Вторая часть — это панель «Область сведений», встроенная в Проводник Windows.
Список доступных для изменения полей очень широк. Также присутствует заметная кнопка для удаления всех свойств сразу.
Выделив несколько файлов в папке, вы сможете отредактировать теги в пакетном режиме.
Главный минус состоит в ограничениях возможности редактирования данных exif, значимых для фотографов. Например, вы не можете изменять фокусное расстояние, или диафрагменное число.
- Доступен без установки
- Работает на языке системы
- Много редактируемых полей
- Кнопка удаления всех свойств сразу
- Пакетная работа прямо через Проводник
- Невозможность изменения важных для профессионалов exif настроек камеры
- Бэкап не предусмотрен
Люблю программы, в которых нет ничего лишнего.
А в этой кроме природного минимализма есть еще и интересные решения для фотографов.
Аскетичный англоязычный интерфейс дополнен вкладками справа: Equipment (Оборудование), Film (Пленка), Dev (Создатель) Author (Автор)
.
По щелчку мыши данные из поля автоматически подгружаются в exif контейнер файла.
На мой взгляд утилита очень удобна, если вы занимаетесь пленочной фотографией.
Или для подготовки материала к публикации в сети.
Список предустановленных параметров легко дополнить нажав на клавишу с карандашиком.
Пакетная работа реализована возможностью переноса exif данных тегов фотографии на всю папку.
Алгоритм таков: редактируете одно фото в папке, заявив необходимые параметры exif, затем указываете его, и данные копируются на все остальные файлы в папке.
Кстати, если вы уверены в своих действиях, бэкап лучше отключить — снимите галку в настройках.
- Интерфейс не перегружен
- Автоматический бэкап
- Подбор типовых значений
- Система подстановки оборудования
- Пакетная работа
- Большое количество редактируемых полей
- Отсутствие русского языка
- Пакетный режим специфичен.
GeoSetter
Основное предназначение утилиты, как следует из названия, присвоение GPS тегов а также других EXIF текстовых данных о месте съемки.
Тем ни менее и другие теги также доступны для редактирования, но, все-таки программа больше заточена под основную цель.
Утилита может вытаскивать данные из отчетов gps
гаджетов, переименовывать фото в соответствии с местом съемки, работать с маршрутами, выгружать данные
на GoogleEath.
Также достойна внимания система фильтрации, позволяющая задействовать только нужные файлы в папке. В этом есть определенный смысл, такая идея частично реализует пакетный режим работы.
Главное навигационное окно утилиты.
Разбивка тегов по вкладкам это хорошо. А вот визуализация названий кнопок подкачала.
- Русский язык
- Хорошие возможности по работе с exif геоданными фотографий.
- Шаблоны exif тегов
- Автоматический бэкап
- Множество настроек
- Пакетный режим специфичен.
- Возможная нестабильность работы.
Exiftool
Я не мог написать обзор об exif редакторах, и не упомянуть exiftool.
Один из старейших проектов по работе с exif данными. Полная кроссплатформенность
принуждает утилиту работать только через командную строку
.
Существует с десяток графических оболочек для разных систем, к сожалению большинство из них на сегодня больше не развиваются. В отличии от главной ветки.
Если вам нужен инструмент, обновляющийся ежегодно , и по максимуму владеющий всеми новыми спецификациями формата exif, и при этом вас не пугает работа через командную строку — exiftool будет лучшим выбором.
- Кроссплатформенность
- Максимальные возможности по работе с тегами
- Пакетный режим комбинируем
- Множество настроек
- Работа только через командную строку
Выводы
Мой выбор — это однозначно AnalogExif. Выгодное сочетание удобства и минимализма.
Отсутствие русского языка в программах с узким функционалом, лично для меня, вообще не заметно. Так что я бы не назвал это серьезным недостатком.
Если вам нужен расширенный функционал по gps тегам фотографий — geosetter вам в этом поможет.
Встроенный в windows функционал также справится с простыми ежедневными задачами.
Exiftool, на первый взгляд, гиковское решение, но при частой работе вы можете написать bat файлы, и по удобству утилита не будет уступать конкурентам с графической оболочкой.
Все эти программы бесплатные, легки в использовании и часто даже не требуют установки. Однако если вы всё-таки скучаете по Adobe и вам хочется иметь множество настроек и преимущества работы с raw-файлами, тут я бесплатно, а для начинающих.
Редактор EXIF тегов онлайн
P.S. Недавно случайно наткнулся на проект The eXifer.net — ребята запустили Exif Editor прямо в онлайне. Такое решение вообще из разряда экстремальных.. но мало ли вам пригодится, 700.000 человек(или фоток) им уже воспользовались. 🙂