Wie kann ich EXIF-Metadaten mehrerer Bilder abrufen / bearbeiten?

30

Ich bin gestern Abend auf ein großes Problem gestoßen.

Ich nahm meine alte Digitalkamera heraus und fing an, sie zu verwenden, ohne das aktuelle Datum und die aktuelle Uhrzeit einzustellen.

Alle Fotos, auf die jetzt geklickt wird, haben das Datum 01.01.2009

Ich möchte das Datum und die Uhrzeit (und andere EXIF-Bild-Metadaten) mehrerer Bilder ändern.

Bitte empfehlen Sie eine Software, die mit einem Klick / Los mehrere Bilder verarbeiten kann.

IM-JM
quelle

Antworten:

31

Da Sie bereits eine GUI-Lösung haben, möchte ich erwähnen, dass es auch mehrere Möglichkeiten gibt, EXIF-Daten in der Befehlszeile zu ändern. Zwei nützliche Tools sind exiftoolund jhead, die mit diesem Befehl installiert werden können:

sudo apt-get install libimage-exiftool-perl jhead

Mit diesen beiden Tools können Sie mehrere Dateien gleichzeitig bearbeiten. Möglicherweise möchten Sie jedoch eine Sicherungskopie Ihrer Dateien erstellen, bevor Sie mit der Bearbeitung der Exif-Daten beginnen.

jhead

Um die Uhrzeit und das Datum der EXIF-Daten für eine Reihe von Dateien mit einem Klick zu ändern, können Sie das Terminal öffnen und cdden Ordner mit den Bildern öffnen und ausführen:

jhead -ts2012:10:29-10:28:03 *.jpg

Mit dem -tsSchalter können Sie das erforderliche Datum und die Uhrzeit angeben und diese auf einmal in den Exif-Header schreiben. Das hier angegebene Format lautet YYYY:MM:DD-HH:MM:SS.

Wenn Sie nur das Datum ohne Angabe der Uhrzeit ändern möchten, verwenden Sie stattdessen:

jhead -ds2012:10:29 *.jpg

Sie können dies auch nur für einige Bilder tun, die mit einer bestimmten Kamera aufgenommen wurden, wenn Sie dies zum Beispiel angegeben haben -model "D70". Diese Option muss jedoch bei der Verarbeitung an erster Stelle stehen und muss etwa "D70", "S100" und nicht "Nikon D70" sein ". Sehen Sie sich die Exif-Anzeige auf Ihren Bildern an, um die richtige Modellnummer zu erhalten.

jhead -model "D70" -ts2012:10:29-10:28:03 *.jpg

Weitere Informationen finden Sie unter man jhead.

exiftool

Dieses Dienstprogramm bietet mehr Optionen als jhead und ist, wie auf der offiziellen Website angegeben, sehr umfangreich . Es gibt ein grafisches Frontend für exiftool in der Entwicklung, aber es befindet sich im Moment noch im Anfangsstadium, sieht aber vielversprechend aus.

Die Optionen für die Datums- und Zeitverschiebung und die verwendbaren Formate sind sehr umfangreich, wie hier in diesem nützlichen PDF beschrieben . Wie bei jhead können Sie entscheiden, ob Sie Uhrzeit und Datum oder nur das Datum ändern möchten . In diesem Beispiel werden Datum und Uhrzeit geändert:

exiftool -AllDates="2012:03:14 12:25:00" *.jpg

Das obige Beispiel legt nur einen bestimmten Wert für das Datum und die Uhrzeit der Bilder fest. Wenn Sie alle nur um einen bestimmten Zeitindex verschieben möchten, z. B. um die drei Jahre vorwärts, können Sie Folgendes verwenden:

exiftool -AllDates+="3:0:0 0" *.jpg

Die Verschiebungsfunktion kann sehr nützlich sein, wenn Ihre Bilder, wie Ihnen passiert ist, alle plötzlich mit 2009 markiert sind, obwohl sie 2012 aufgenommen wurden. Verwenden Sie je nach Bedarf ein Plus- oder Minuszeichen vor den Gleichheitszeichen (wie in -AllDates-=oder -AllDates+=) Bestimmen Sie, was Sie erreichen möchten, wenn Sie den gewünschten Zeitindex zuweisen. Andernfalls werden die resultierenden EXIF-Daten nicht den Erwartungen entsprechen.

exiftoolwird erstellen eine Sicherungskopie der ursprünglichen vor der Bearbeitung der EXIF - Daten hinzugefügt Original am Ende des Dateinamens.

exiftoolunterstützt mehr Bildtypen als jheadnur für JPEGs.

Weitere Informationen finden Sie unter man exiftool.

Pablo A
quelle
1
+1, Hervorragende Antwort Mik. Dies ist viel flexibler als nur die Verwendung von Shotwell.
Tom Brossman
Ich bin über diese Antwort gestolpert, weil ich mir überlegt habe, wie man EXIF-Daten zu JPG-Bildern hinzufügt, die es überhaupt nicht hatten. Dafür fand ich, dass ich brauchte jhead -mkexif -ts<date>.
Ian
Jhead war einfach toll zu bedienen.
Harald
1. Beachten Sie, dass der EXIF-Standard leider keine Zeitzoneninformationen enthält . 2. Anstatt Sternchen könnten Sie Klammernerweiterung verwenden: DSCN{120..345}.jpg. 3. Um den Zeitstempel der Datei zu ändern und andere als Referenz zu verwenden, verwenden Sietouch -r ~/path/reference.jpg *.jpg
Pablo A
21

Das Ändern von Datum und Uhrzeit ist in Shotwell ganz einfach. Wählen Sie die Fotos aus, die Sie anpassen möchten, und rufen Sie das folgende Menü auf:

Shotwell-Menü

Wählen Sie Fotos / Datum und Uhrzeit einstellen. Das ruft ein Menü wie das folgende auf:

Zeit Datum einstellen

Wenn alle Fotos um den gleichen Betrag verschoben sind, können Sie alle Fotos auf einmal erstellen. Wenn Sie mehr als eine Kamera verwendet haben und diese um unterschiedliche Beträge versetzt waren, müssen Sie diese aufteilen und jeden Stapel separat ausführen.

Die Hilfeseite von Shotwell, auf der dies erklärt wird, finden Sie hier .

Tom Brossman
quelle
Dies ist der richtige Weg, um dies mit Datum und Uhrzeit zu tun. Vielen Dank für das Teilen.
Geppettvs D'Constanzo
Die Hauptmenüoptionen von Shotwell werden hier nicht angezeigt. Ist das ein Fehler von Xenial Xerus?
Leonardo Castro
3

Diese Frage wurde nach EXIF ​​gestellt, aber Bildmetadaten enthalten mindestens drei Standards, die an Bilder, EXIF, XMP und IPTC angehängt werden können. Viele Fotoprogramme schreiben in alle diese Formate, jedoch nicht in alle. Daher ist es wichtig, alle zu überprüfen.

Ich habe festgestellt, dass exifdas ein gutes Werkzeug ist, aber das exiv2ist besser. Vergleichen Sie exif:

↪ exif 00000020.jpg 
EXIF tags in '00000020.jpg' ('Intel' byte order):
--------------------+----------------------------------------------------------
Tag                 |Value
--------------------+----------------------------------------------------------
Software            |Shotwell 0.22.0
Date and Time       |1905:01:01 00:00:01
X-Resolution        |72
Y-Resolution        |72
Resolution Unit     |Inch
Date and Time (Origi|1905:01:01 00:00:01
Date and Time (Digit|1905:01:01 00:00:01
User Comment        |Dad
Exif Version        |Exif Version 2.1
FlashPixVersion     |FlashPix Version 1.0
Color Space         |Internal error (unknown value 65535)
--------------------+----------------------------------------------------------

An exiv2:

↪ exiv2 -p a 00000020.jpg 
Exif.Image.Software                          Ascii      16  Shotwell 0.22.0
Exif.Image.DateTime                          Ascii      20  1905:01:01 00:00:01
Exif.Image.ExifTag                           Long        1  86
Exif.Photo.DateTimeOriginal                  Ascii      20  1905:01:01 00:00:01
Exif.Photo.DateTimeDigitized                 Ascii      20  1905:01:01 00:00:01
Exif.Photo.UserComment                       Undefined  11  Dad
Iptc.Application2.Program                    String      8  Shotwell
Iptc.Application2.ProgramVersion             String      6  0.22.0
Iptc.Application2.Keywords                   String      8  2015scan
Iptc.Application2.Keywords                   String     11  Lissner-Jay
Iptc.Application2.Keywords                   String      6  People
Xmp.exif.DateTimeOriginal                    XmpText    20  1905:01:01 08:00:01
Xmp.exif.DateTimeDigitized                   XmpText    20  1905-01-01T08:00:01Z
Xmp.xmp.CreateDate                           XmpText    20  1905-01-01T08:00:01Z
Xmp.dc.subject                               XmpBag      3  2015scan, Lissner-Jay, People
Xmp.digiKam.TagsList                         XmpSeq      2  People, People/Lissner-Jay
Xmp.MicrosoftPhoto.LastKeywordXMP            XmpBag      2  People, People/Lissner-Jay

Der große Unterschied besteht darin, dass die Schlüsselwörter in XMP und IPTC überhaupt nicht in EXIF ​​enthalten sind. Wenn ich also nur dort nachschaue, würde ich meinen, dass es keine Schlüsselwörter gibt.

Ich habe den Befehl gegeben, exiv2 -p a my-image.jpgda dieser alle drei Formen von Metadaten anzeigt. Wenn -p aSie das Feld verlassen, werden nur die EXIF-Daten angezeigt.

mlissner
quelle