Bildattribute
In diesem Beitrag geht es um eine Methode, um Attribute eines JPG-Bildes über die Kommandozeile auszulesen und zu verändern. Diese Attribute sind allgemein als „EXIF“-Daten bekannt. EXIF = Exchangeable Image File Format
Diese kleine Aufgabe steht in einem größeren Zusammenhang. Eine Bildersammlung soll strukturiert angezeigt werden. Bilder sollen einen Titel, eine Beschreibung, Stichwörter und eine Geokodierung bekommen. Nun könnte man das mit einem Bildberarbeitungsprogramm erledigen, wären es nicht gar so viele Bilder. Es ist ein ziemlich mühsame Angelegenheit, wenn man tatsächlich jedes Bild händisch mit diesen Angaben versehen muss. Es geht also um Automatismen, die man im Fehlerfall auch wiederholen können soll.
In diesem Beitrag wird das Detailproblem gelöst, wie man über die Kommandozeile die Attribute von Bildern editieren kann.
Bildbearbeitung mit PICASA
Picasa von Google ist für Amateure ein überaus praktisches Programm zur Verwaltung von Bildern, auch von sehr vielen Bildern. Hier ein Beispiel dafür, wie in Picasa Bildattribute verändert werden können:
- Titel: Der Titel des Bildes steht gleich unter dem Bild und kann direkt verändert werden
- Beschreibung: die Bildbeschreibung kann in Picasa nicht verändert werden
- Tags (Stichwörter): Die Stichwörter können über den Notiz-Tab rechts unten verändert werden.
- Geo-Koordinaten: Die Geokoordinaten werden direkt in der Landkarte eingestellt und werden danach im Info-Bereich als Grad-Minuten-Sekunden angezeigt.
Nachteile von Picasa
PICASA ist kein ausgesprochener Editor für EXIF-Daten. Man kann nur die hier gezeigten Größen editieren.
Wenn die Bilder in Unterverzeichnissen vorsortiert sind, dann ist es nicht möglich, Angaben ordnerübergreifend zu editieren. Wenn also Tausende Bilder das Thema „Fußball“ betreffen und diese Bilder auf Hunderte Ordner aufgeteilt sind, muss man in Picasa diese Hunderten Ordner öffnen und allen dort befindlichen Dateien das Stichwort „Fußball“ setzen. Genauso ist es bei Geo-Kodierung.
Wer also seine Bilder schon bei der Speicherung ordentlich beschriftet hat, ist hier im Vorteil:-)
Einzelne Bilder zu editieren, dafür ist PICASA bestens geeignet. Wenn es aber um wirklich große Zahlen von Bildern geht, die auf Verzeichnisse aufgeteilt sind, ist es vorteilhafter, diese Bilder programmgesteuert zu bearbeiten.
Eigenschaften einer Bilddatei
Auch unser Windows-Explorer zeigt uns über die Eigenschaften -> Details einige dieser EXIF-Daten an:
Die Eigenschaften sind unterteilt in die Untergruppen Beschreibung, Ursprung, Bild, Kamera, Erweiterte Fotoeigenschaften, GPS und Datei. Einige dieser Eigenschaften könnte man sogar im Explorer verändern (Titel, Betreff, Markierungen, Kommentare), andere aber nicht, wie zum Beispiel die GPS-Daten.
EXIFTOOL
Ein ultimatives Programm zur Bearbeitung der Bildeigenschaften ist EXIFTOOL. Es ist ein Kommandozeilenprogramm. Was in diesem Beitrag gezeigt wird, ist nur eine ganz kleiner Einblick in dieses ungemein mächtige Programm.
Installation
Installation gibt es keine, es genügt, die EXE-Datei in einen Ordner zu kopieren, der im Pfad ist.
Beispiel: Auf meiner C-Platte befindet sich ein Ordner _bin
. In dem Ordner sind alle alleinstehenden Programmdateien, darunter auch exiftool.exe
. Damit diese Programme auch direkt von der Kommandozeile oder aus Powershell aufgerufen werden können, fügt man dien Ordner C:\\_bin
zum Pfad dazu. Diese Einstellung findet man hier: Windows-Taste -> Einstellungen -> System -> Info -> Erweiterte Systemeinstellungen -> Umgebungsvariablen -> Systemvariablen -> "Path" -> Bearbeiten -> Neu -> C:\\_bin -> OK -> OK -> OK.
Eigenschaften
Welche Eigenschaften sind es, die EXIFTOOL anzeigen oder einstellen kann? Hunderte! Um sich da einzulesen, kann man die folgenden Verzeichnisse (uvam.) verwenden.
- https://exiftool.org/TagNames/
- https://exiftool.org/TagNames/MIE.html
- https://exiftool.org/TagNames/EXIF.html
Eigenschaften lesen
Um ein bestimmtes Merkmal eines Bildes auszulesen, schreibt man:
exiftool <Optionen> <Tag> <Dateipfad>
Bei Tags, die ein Blank enthalten, wie zum Beispiel GPS Longitude
, kann man das Blank einfach weglassen oder durch ein *
ersetzen. Beispiele:
PS C:\\> exiftool -Caption-Abstract s:\\desktop\\dorfgasse.jpg Caption-Abstract : Tafel PS C:\\> exiftool -Description s:\\desktop\\dorfgasse.jpg Description : Bezirksmuseum- Sammelst├╝ck: Tafel, 11, Dorfgasse PS C:\\> exiftool -Keywords s:\\desktop\\dorfgasse.jpg Keywords : Herbert Langm├╝ller, Simmering PS C:\\> exiftool -GPS*Latitude s:\\desktop\\dorfgasse.jpg GPS Latitude : 48 deg 10\' 30.93" N PS C:\\> exiftool -GPS*Longitude s:\\desktop\\dorfgasse.jpg GPS Longitude : 16 deg 25\' 13.74" E
Man kann alle diese Eigenschaften auch in einer einzigen Abfrage auslesen, indem man die gewünschten Eigenschaften nacheinander in der Kommandozeile anführt.
PS C:\\> exiftool -Caption-Abstract -Description -Keywords -GPSLatitude -GPSLongitude s:\\desktop\\dorfgasse.jpg Caption-Abstract : Tafel Description : Bezirksmuseum- Sammelst├╝ck: Tafel, 11, Dorfgasse Keywords : Herbert Langm├╝ller, Simmering GPS Latitude : 48 deg 10\' 30.93" N GPS Longitude : 16 deg 25\' 13.74" E
Hier noch ein weiteres Beispiel mit typischen Kameradaten
PS C:\\> exiftool -filename -imagesize -exif:fnumber -xmp:all s:\\desktop\\dorfgasse.jpg File Name : dorfgasse.jpg Image Size : 1277x949 F Number : 6.1 About : uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b Author : Herbert Langm?ller Description : Bezirksmuseum- Sammelst├╝ck: Tafel, 11, Dorfgasse Subject : Herbert Langm├╝ller, Simmering Last Keyword XMP : Herbert Langm├╝ller, Simmering Last Keyword IPTC : Herbert Langm├╝ller, Simmering
Eigenschaften schreiben
Um eine Eigenschaft zu verändern, schreibt man
PS C:\\> exiftool -overwrite_original -Author="Herbert Langmüller" s:\\desktop\\dorfgasse.jpg 1 image files updated
Zur Kontrolle liest man die soeben geschriebene Eigenschaft wieder aus:
PS C:\\> exiftool -Author s:\\desktop\\dorfgasse.jpg Author : Herbert Langm?ller
Umgang mit Umlauten
Eine Schwierigkeit ist die verschiedenartige Interpretation der deutschen Umlaute.
Der Namen „Langmüller“ kommt mehrmals vor. In der Eigenschaft „Author“ (eingegeben mit PowerShell) wird das ü als ? wiedergegeben, in der Eigenschaft „Subject“ (eingegeben in Picasa) als ├╝.
Zeigt man das Bild in der Gallerie Nextgen in WordPress an, wird der in Picasa eingegebene Umlaut („Subject“ ├╝) richtig und der aus PowerShell („Author“ ?) falsch angezeigt.
Was kann man tun, damit die Umlaute richtig eingetragen und angezeigt werden? Damit die Umlaute in einer DOS- oder PowerShell-Konsole richtig angezeigt werden, muss man die CodePage richtig einstellen:
PS C:\\>chcp 65001
Damit auch die Zeicheneingabe korrekt erfolgt, gibt man mit der Option -L den Zeichensatz Windows Latin 1 an und damit wird dann dien Eingabe korrekt in das interne UTF-Format konvertiert.
PS C:\\> exiftool -overwrite_original -L -Author="Herbert Langmüller" s:\\desktop\\dorfgasse.jpg 1 image files updated PS C:\\> exiftool -Author s:\\onedrive\\desktop\\dorfgasse.jpg Author : Herbert Langmüller
Anzeige und Eingabe der GEO-Koordinaten
Die Geokoordinaten werden in dem eher unhandlichen Format Grad-Minuten-Sekunden ausgegeben:
PS C:\\> exiftool -GPSLatitude -GPSLongitude s:\\desktop\\dorfgasse.jpg GPS Latitude : 48 deg 10\' 30.93" N GPS Longitude : 16 deg 25\' 13.74" E
Um die Geokoordinaten zu einzustellen, benutzt man eine etwas ungewöhnliche Schreibweise mit zwei Kommas:
PS C:\\Users\\EIZO> exiftool -GPSLatitude="12,34,56.78" -GPSLongitude="12,34,56.78" s:\\desktop\\dorfgasse.jpg 1 image files updated PS C:\\Users\\EIZO> exiftool -GPSlatitude -GPSLongitude s:\\desktop\\dorfgasse.jpg GPS Latitude : 12 deg 34\' 56.78" N GPS Longitude : 12 deg 34\' 56.78" E
Alles das hätte man auch einfacher mit einem guten Bildbearbeitungsprogramm oder teilweise sogar im dem Eigenschaftsfenster des Windows-Explorers erledigen können, doch der Vorteil des Kommandozeilenprogramms wird sich bei der Bearbeitung vieler Bilder zeigen.
Links
- Exiftool (Homepage, Phil Harvey)
- Exiftool (Wikipedia)
- Setting Title and Caption wird Exiftool
- EXIF (Beitrag aus 2019)
Franz war pensionierter HTL Lehrer (TGM), Präsident von ClubComputer, Herausgeber der Clubzeitung PCNEWS und betreute unser Clubtelefon und Internet Support. Er war leidenschaftlicher Rapid Wien Fan. Er ist leider Anfang Jänner 2024 nach langer schwerer Krankheit verstorben.
Neueste Kommentare