Come ottenere / modificare i metadati EXIF ​​di più immagini?


30

Ho avuto un grosso problema ieri sera.

Ho estratto la mia vecchia macchina fotografica digitale e ho iniziato a usarla senza impostare la data e l'ora correnti.

Tutte le foto cliccate ora hanno la data del 01 gennaio 2009

Voglio cambiare la data e l'ora (e altri meta-dati immagine EXIF) di più immagini.

Si prega di raccomandare alcuni software che possono elaborare su più immagini con un solo clic / vai.

Risposte:


31

Dato che hai già una soluzione GUI, ho pensato di menzionare che ci sono anche diversi modi per modificare i dati EXIF ​​sulla riga di comando; due strumenti utili sono exiftoole jhead, che possono essere installati con questo comando:

sudo apt-get install libimage-exiftool-perl jhead

Con entrambi questi strumenti è possibile operare su più file contemporaneamente, ma è possibile eseguire il backup dei file prima di iniziare a manipolare i dati exif.

jhead

Per modificare l'ora e la data dei dati EXIF ​​su un numero di file "con un solo clic", è possibile aprire il terminale cde passare alla cartella con le immagini ed eseguire:

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

Lo -tsswitch ti consente di specificare la data e l'ora richieste e di scriverlo nell'intestazione exif tutto in una volta: il formato specificato qui è YYYY:MM:DD-HH:MM:SS.

Se volessi solo cambiare la data senza specificare l'ora, dovresti invece usare:

jhead -ds2012:10:29 *.jpg

Potresti anche farlo solo per una delle foto scattate con una particolare fotocamera se hai specificato, ad esempio, -model "D70"ma quell'opzione deve venire prima nell'elaborazione e deve essere qualcosa come "D70", "S100" e non "Nikon D70 ". Guarda la lettura exif dalle tue foto per ottenere il numero di modello corretto.

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

Per ulteriori informazioni, vedere man jhead.

exiftool

Questa utility ha più opzioni di jhead ed è molto completa, come notato sul sito ufficiale . C'è un frontend grafico per exiftool in fase di sviluppo, ma è nelle prime fasi del momento, ma sembra promettente.

Le opzioni di spostamento di data e ora e quali formati possono essere utilizzati sono piuttosto estese, come dettagliato qui in questo utile pdf . Come con jhead , puoi decidere di cambiare ora e data o solo la data. Questo esempio modifica sia la data che l'ora:

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

L'esempio sopra imposta solo un valore particolare per la data e l'ora delle immagini; se volessi spostarli tutti di un certo indice temporale, come i tre anni in avanti, potresti usare:

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

La funzione di spostamento può essere molto utile se, come è successo a te, le tue foto sono tutte contrassegnate all'improvviso nel 2009, anche se sono state scattate nel 2012. Assicurati di utilizzare un segno più o meno prima dei uguali (come in -AllDates-=o -AllDates+=), a seconda su ciò che si desidera ottenere quando si assegna l'indice temporale richiesto o i dati EXIF ​​risultanti non saranno quelli previsti.

exiftoolsarà creare un backup dell'originale prima di modificare i dati EXIF aggiungendo originale alla fine del nome del file.

exiftoolsupporta più tipi di immagini rispetto a quelle jheadche funzionano solo per i JPEG.

Per ulteriori informazioni, vedere man exiftool.


1
+1, risposta eccezionale Mik. Questo è molto più flessibile del semplice utilizzo di Shotwell.
Tom Brossman,

Mi sono imbattuto in questa risposta perché stavo guardando come aggiungere dati EXIF ​​alle immagini jpg che non lo avevano in primo luogo. Per quello, ho scoperto che avevo bisogno jhead -mkexif -ts<date>.
Ian,

jhead era semplicemente fantastico da usare.
Harald,

1. Si noti che purtroppo lo standard EXIF non include le informazioni sul fuso orario . 2. Invece di asterisco è possibile utilizzare l'espansione brace: DSCN{120..345}.jpg. 3. Per modificare file timestamp usando altri come l'uso di riferimentotouch -r ~/path/reference.jpg *.jpg
Pablo A

21

Cambiare la data e l'ora è facile in Shotwell. Seleziona le foto che desideri regolare e vai al menu in questo modo:

menu shotwell

Seleziona Foto / Regola data e ora. Questo fa apparire un menu come questo:

data e ora regolare

Se tutte le foto sono uguali, puoi farle tutte in una volta. Se hai utilizzato più di una videocamera e queste erano spente in quantità diverse, devi dividerle ed eseguire ogni lotto separatamente.

La pagina di aiuto di Shotwell che spiega questo è qui .


Questo è il modo giusto per farlo con data e ora. Grazie mille per averlo condiviso.
Geppettvs D'Constanzo

Le opzioni del menu principale di Shotwell non vengono visualizzate qui. È un bug di Xenial Xerus?
Leonardo Castro,

3

Questa domanda ha richiesto EXIF, ma i metadati delle immagini hanno almeno tre standard che possono essere collegati a immagini, EXIF, XMP e IPTC. Molti programmi fotografici scriveranno in tutti questi formati, ma non in tutti, quindi è importante controllarli tutti.

Ho scoperto che exifè un buon strumento, ma exiv2è meglio. Confronta 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)
--------------------+----------------------------------------------------------

A 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

La grande differenza qui è che le parole chiave in XMP e IPTC non sono affatto in EXIF ​​e quindi se solo guardassi lì, penso che non avesse parole chiave.

Ho dato il comando exiv2 -p a my-image.jpgperché visualizza tutte e tre le forme di metadati. Uscire -p ati mostrerà solo i dati EXIF.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.