Существует ли бесплатная программа, которая будет экспортировать метаданные для папки, полной изображений, в таблицу? - Фотопедия
7 голосов
/ 28 июня 2012

У меня есть сотни тысяч изображений в наборе из примерно 50 папок, каждая из папок имеет различное количество подпапок. Я хотел бы извлечь определенные фрагменты метаданных (широта / долгота, данные / время, модель камеры и серийный номер, может быть, несколько других) из всех изображений в этих папках и их подпапках и экспортировать их в таблицу (CSV будет проще всего), чтобы я мог импортировать метаданные в базу данных. Мне нужно сохранить как минимум 6 знаков после запятой в полях lat / long, важны данные о местоположении.

Итак, я ищу часть программного обеспечения Windows, на которую я могу указать папку и заставить ее пройти через эту папку и все ее подпапки, прочитать метаданные и экспортировать метаданные для каждого изображения в строке в файле CSV, вот так:

Filepath,Filename,Lat,Long,CameraSerial
C:\Images1\Folder1\,Image0001.jpg,42.00000002,-75.00000001,A0193498
C:\Images1\Folder2\,Image0001.jpg,42.00000112,-75.00000067,A0193498
C:\Images1\FolderZ\,Image0001.jpg,42.00000492,-75.00000099,A0193498

Я нашел Camera Bits Photo Mechanic, который делает то, что мне нужно, но я надеялся, что было бесплатное решение с открытым исходным кодом. Большинство инструментов, которые я нашел, которые выполняют пакетный экспорт метаданных EXIF, делают это, экспортируя отдельный текстовый файл для каждого входного JPG, а это не то, что мне нужно, мне нужна одна таблица на папку (и ее подпапки). *

Ответы [ 2 ]

5 голосов
/ 23 ноября 2014

Вы можете сделать это довольно легко с помощью кроссплатформенного бесплатного программного обеспечения ExifTool . Это даже в в FAQ :

Опция -csv (значения, разделенные запятыми) решает эту дилемму предварительно извлекая информацию из всех входных файлов, затем производя отсортированный список доступных имен тегов в качестве первой строки вывода, и организация информации в столбцы для каждого тега. Как хорошо, первый столбец с меткой «SourceFile» генерируется. Эти особенности делают это практично использовать опцию -csv для извлечения всей информации из несколько изображений. Например, эта команда:

   exiftool -csv -r t/images > out.csv

дает вывод, подобный этому:

   SourceFile,AEBBracketValue,AELock,AFAreaHeight,AFAreaMode,AFAreas,[...]
   t/images/Canon.jpg,0,,151,,,[...] t/images/Casio.jpg,,,,,,[...]
   t/images/Nikon.jpg,,,,Single Area,,[...]
   t/images/OlympusE1.jpg,,Off,,,"Center (121,121)-(133,133)",[...]

Это будет включать очень длинный список, поэтому, если вы хотите просто включить несколько конкретных вещей, вы можете сделать это:

exiftool -csv -Model -CreateDate  -GPS:all -time:all *.jpg

(в этом примере все файлы в текущем каталоге).

Документация предупреждает, что флаг -csv, в отличие от большинства опций exiftool, создает весь вывод в памяти, и поэтому использование памяти может быть довольно большим при использовании многих файлов - вероятно, лучше всего написать сценарий, который идет по папкам папка. (Легко сделать даже на простом пакетном языке.)

1 голос
/ 28 июня 2012

Инструмент, который приходит на ум, - это программное обеспечение с открытым исходным кодом, которое работает с большим количеством форматов файлов:

http://meta -extractor.sourceforge.net /

Это немного технически, но имеет множество настроек, которые должны соответствовать вашим потребностям. Это решение предназначено только для Windows и Linux.

Кроме того, если у вас есть копия Adobe Photoshop, у вас будет Adobe Bridge, содержащий экстрактор метаданных.

...