web-dev-qa-db-fra.com

Comment obtenir / éditer des méta-données EXIF ​​de plusieurs images?

J'ai rencontré un gros problème hier soir.

J'ai sorti mon ancien appareil photo numérique et commencé à l'utiliser sans régler la date et l'heure actuelles.

Toutes les photos cliquées maintenant portent la date du 01 janvier 2009

Je souhaite modifier la date et l'heure (ainsi que d'autres méta-données d'image EXIF) de plusieurs images.

Veuillez recommander des logiciels pouvant traiter plusieurs images en un seul clic/aller.

29
I-M-JM

Comme vous avez déjà une solution graphique, je pensais mentionner qu'il y avait également plusieurs façons de modifier les données EXIF ​​sur la ligne de commande; exiftoolet jheadpeuvent être installés avec cette commande:

Sudo apt-get install libimage-exiftool-Perl jhead

Avec ces deux outils, vous pouvez utiliser plusieurs fichiers à la fois, mais vous voudrez peut-être sauvegarder vos fichiers avant de commencer à manipuler les données exif.

jheadname__

Pour modifier l'heure et la date des données EXIF ​​sur un certain nombre de fichiers 'en un seul clic', vous pouvez ouvrir un terminal et créer cddans le dossier contenant les images, puis exécuter:

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

Le commutateur -ts vous permet de spécifier la date et l'heure requises et de l'écrire en une fois dans l'en-tête exif: le format spécifié ici est YYYY:MM:DD-HH:MM:SS.

Si vous voulez simplement changer la date sans spécifier l'heure, vous utiliserez plutôt:

jhead -ds2012:10:29 *.jpg

Vous pouvez également le faire uniquement pour certaines photos prises avec un appareil photo particulier si vous avez spécifié, par exemple, -model "D70", mais cette option doit figurer en premier dans le traitement et doit correspondre à "D70", "S100" et non "Nikon. D70 ". Regardez la lecture exif de vos images pour obtenir le numéro de modèle correct.

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

Pour plus d'informations, voir man jhead .

exiftoolname__

Cet utilitaire a plus d'options que jhead et est très complet, comme indiqué sur le site officiel . Un graphique interface pour exiftool est en cours de développement, mais il n’en est qu’à ses débuts, mais il semble prometteur.

Les options de décalage de date et d’heure, ainsi que les formats qui peuvent être utilisés sont assez étendues, comme détaillé ici dans ce pdf utile . Comme avec jhead , vous pouvez décider de modifier l'heure et la date, ou simplement la date. Cet exemple change à la fois la date et l'heure:

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

L'exemple ci-dessus ne fait que définir une valeur particulière pour la date et l'heure des images; Si vous souhaitez simplement les décaler d’un certain index temporel, comme les trois années suivantes, vous pouvez utiliser:

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

La fonctionnalité de décalage peut s'avérer très utile si, comme cela vous est arrivé, toutes vos photos portent soudainement la mention 2009, même si elles ont été prises en 2012. Assurez-vous d'utiliser un signe plus ou moins avant les égaux (comme dans -AllDates-= ou -AllDates+=) , en fonction de ce que vous souhaitez obtenir lorsque vous affectez votre index de temps requis, sinon les données EXIF ​​obtenues ne seront pas comme prévu.

exiftool créera une sauvegarde de l'original avant de modifier les données EXIF ​​ en ajoutant original à la fin de la nom de fichier.

exiftoolprend en charge davantage de types d'images que jheadqui ne fonctionne que pour les fichiers JPEG.

Pour plus d'informations, voir man exiftool .

31
user76204

Changer la date et l'heure est facile dans Shotwell. Sélectionnez les photos que vous souhaitez ajuster et accédez au menu comme ceci:

shotwell menu

Sélectionnez Photos/Ajuster la date et l'heure. Cela amène un menu comme celui-ci:

time date adjust

Si toutes les photos sont égales du même montant, vous pouvez toutes les faire en une fois. Si vous avez utilisé plusieurs caméras et que leur nombre était différent, vous devez les diviser et créer chaque lot séparément.

La page d'aide de Shotwell expliquant ceci est ici .

21
Tom Brossman

Cette question demandait EXIF, mais les métadonnées d'image ont au moins trois normes pouvant être attachées aux images, EXIF, XMP et IPTC. De nombreux programmes photo écrivent dans tous ces formats, mais pas dans tous. Il est donc important de les vérifier tous.

J'ai trouvé que exif est un bon outil, mais que exiv2 est meilleur. Comparez 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)
--------------------+----------------------------------------------------------

Pour 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 différence ici est que les mots-clés dans XMP et IPTC ne sont pas du tout dans EXIF. Par conséquent, si je regardais seulement là-bas, je penserais qu'il n'a pas de mots-clés.

J'ai donné la commande exiv2 -p a my-image.jpg car cela affiche les trois formes de métadonnées. Si vous laissez -p a, vous ne verrez que les données EXIF.

2
mlissner