Извлечение метаданных из необработанных изображений (камера DSLR)

Я ищу инструмент, который извлекает метаданные из необработанных изображений, полученных цифровой зеркальной фотокамерой (в моем случае Canon EOS 550D).

Фотографии могут быть преобразованы с помощью последней версии ufraw ( здесь - PPA для этого).

В моей компактной камере я просто использую exif, который работает только на jpg и не работает с необработанными изображениями.

Есть ли намеки?

4
задан 26 August 2010 в 11:26

5 ответов

Из вашего комментария я понял, что в конечном итоге вы хотите переименовать файл, основываясь на дате. Если это единственная причина, по которой вы хотите использовать инструмент командной строки вместо графического интерфейса, вы можете попробовать phatch (в репозиториях) вместо того, чтобы делать извлечение / переименование файла EXIF ​​самостоятельно.

Phatch позволяет пакетно обрабатывать изображения (например, выполнять набор действий для каждого изображения в папке). Одним из возможных действий является переименование , и вы можете использовать переменные типа <Exif_Image_DateTime>, чтобы переименовать его на основе данных EXIF. После того как вы определили и сохранили свой список действий, вы также можете использовать phatch из командной строки.

0
ответ дан 26 August 2010 в 11:26

Если бы я был тобой, я бы подумал написать для этого небольшой скрипт на Python, добавив pyexiv2 . Его чрезвычайно легко использовать:

>>> metadata = pyexiv2.ImageMetadata('test.jpg')
>>> metadata.read()
>>> metadata.exif_keys
['Exif.Image.ImageDescription',
 'Exif.Image.XResolution',
 'Exif.Image.YResolution',
 'Exif.Image.ResolutionUnit',
 'Exif.Image.Software',
 'Exif.Image.DateTime',
 'Exif.Image.Artist',
 'Exif.Image.Copyright',
 'Exif.Image.ExifTag',
 'Exif.Photo.Flash',
 'Exif.Photo.PixelXDimension',
 'Exif.Photo.PixelYDimension']
>>> metadata['Exif.Image.DateTime'].value
datetime.datetime(2004, 7, 13, 21, 23, 44)

Примечание: Различные камеры используют разные поля для дат. Сначала проверьте, какие ключи доступны.

Он должен поддерживать необработанные изображения. Я знаю, что это подходит для исходных файлов NEF, которые создает мой Nikon.

Если нет, есть ли у вас версии JPEG с похожими именами (т.е. с разными расширениями)? Даже если он может анализировать ваши файлы RAW, возможно, стоит отметить файлы EXIF ​​в формате JPEG, поскольку он, вероятно, будет немного быстрее.

Подсказка: Вы можете использовать оболочку Python вместо того, чтобы писать «правильный» скрипт Python. Это хорошо для тестирования, но если вам нужно что-то, что вы можете использовать снова и снова, вы, вероятно, захотите написать скрипт.

0
ответ дан 26 August 2010 в 11:26

Мой любимый ответ для возни с данными EXIF ​​- exiftool . Он переносим, ​​свободен, открыт, написан на Perl и может использоваться как модуль Perl для тех, кто склонен к этому.

Это работает даже в Windows.

0
ответ дан 26 August 2010 в 11:26

Из описания пакета exifprobe:

Exifprobe считывает файлы изображений, созданные цифровыми камерами (включая несколько так называемых «необработанных» форматов файлов), и сообщает структуру файлов и вспомогательные данные и метаданные, содержащиеся в них. В дополнение к TIFF, JPEG и EXIF, программа понимает несколько форматов, которые могут содержать «необработанные» данные камеры, включая MRW, CIFF / CRW, JP2 / JPEG2000, RAF и X3F, а также большинство наиболее производных от TIFF «сырых» «форматы, включая DNG, ORF, CR2, NEF, K25 / KDC / DCR и PEF.

http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html

Это работает? [ 115]

0
ответ дан 26 August 2010 в 11:26

Я бы использовал инструмент exiv2, это та же библиотека, что и ufraw / darktable, для доступа к данным exif в необработанных изображениях. http://www.exiv2.org/ , которая также поддерживает некоторые MakerNotes от такие производители, как Nikon / Canon.

0
ответ дан 26 August 2010 в 11:26

Другие вопросы по тегам:

Похожие вопросы: