Ich habe Hunderttausende von Bildern in einem Satz von etwa 50 Ordnern, jeder der Ordner hat eine unterschiedliche Anzahl von Unterordnern. Ich möchte bestimmte Metadaten (Breitengrad/Längengrad, Datum/Zeit, Kameramodell und Seriennummer, vielleicht ein paar andere) aus allen Bildern in diesen Ordnern und ihren Unterordnern extrahieren und in eine Tabelle exportieren (CSV wäre am einfachsten), damit ich die Metadaten in eine Datenbank importieren kann. Ich muss mindestens 6 Dezimalstellen in den Lat/Long-Feldern beibehalten, die Standortdaten sind wichtig.
Ich suche also nach einer Windows-Software, mit der ich auf einen Ordner zeigen und diesen Ordner und alle seine Unterordner durchlaufen, die Metadaten lesen und die Metadaten für jedes Bild in einer Zeile in einer CSV-Datei exportieren kann, wie folgt:
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
Ich habe Camera Bits Photo Mechanic gefunden, das das tut, was ich brauche, aber ich hatte gehofft, dass es eine kostenlose/Open-Source-Lösung gibt. Die meisten Tools, die ich gefunden habe und die einen Batch-EXIF-Metadaten-Export durchführen, tun dies, indem sie eine separate Textdatei für jedes Eingabe-JPG exportieren, was nicht das ist, wonach ich suche, ich brauche eine Tabelle pro Ordner (und seine Unterordner).
Sie können dies ziemlich einfach mit der plattformübergreifenden kostenlosen Software ExifTool tun . Steht sogar in den FAQ :
Die
-csv
Option (Comma Separated Values) löst dieses Dilemma, indem sie Informationen aus allen Eingabedateien vorextrahiert, dann eine sortierte Liste verfügbarer Tag-Namen als erste Zeile der Ausgabe erstellt und die Informationen für jedes Tag in Spalten organisiert. Außerdem wird eine erste Spalte mit der Bezeichnung "SourceFile" generiert. Diese Funktionen machen es praktisch, die-csv
Option zum Extrahieren aller Informationen aus mehreren Bildern zu nutzen. Zum Beispiel dieser Befehl:exiftool -csv -r t/images > out.csv
gibt eine Ausgabe wie diese:
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)",[...]
Dies wird eine sehr lange Liste enthalten, wenn Sie also nur ein paar spezifische Dinge hinzufügen möchten, können Sie das tun:
exiftool -csv -Model -CreateDate -GPS:all -time:all *.jpg
(in diesem Beispiel alle Dateien im aktuellen Verzeichnis).
Die Dokumentation warnt davor, dass das -csv
Flag im Gegensatz zu den meisten Exiftool-Optionen die gesamte Ausgabe im Speicher erstellt und daher die Speichernutzung ziemlich groß sein kann, wenn es für viele Dateien verwendet wird – wahrscheinlich am besten, um etwas zu skripten, das Ordner für Ordner geht. (Selbst in einer einfachen Stapelsprache ist dies problemlos möglich.)
Das Tool, das mir in den Sinn kommt, ist eine Open-Source-Software, die mit einer Vielzahl von Dateiformaten funktioniert:
http://meta-extractor.sourceforge.net/
Es ist ein bisschen technisch, hat aber viele Anpassungsmöglichkeiten, die Ihren Bedürfnissen entsprechen sollten. Diese Lösung gilt nur für Windows und Linux.
Wenn Sie eine Kopie von Adobe Photoshop haben, dann haben Sie auch Adobe Bridge, das einen Metadaten-Extraktor enthält.
Bin gerade auf dieses schöne Tool aus Australien gestoßen, Kumpel! lol
Es ist ein Java-Programm, das ".. ermöglicht, dass die Metadaten für einzelne Bilder bearbeitet oder in großen Mengen verarbeitet werden, indem es EXIF in CSV exportieren und EXIF aus CSV importieren verwendet."
Es funktioniert nur mit JPG/JPEG-Dateien, verfügt aber auch über einen integrierten Konverter zum Konvertieren von PNG-Dateien in JPG. Ich brauchte es, um begrenzte Foto-Metadaten in CSV zu exportieren, wo ich dann eine andere CSV-Datei mit Titel-, Autor- und Datumsinformationen zusammenführte.
Monika