Renommer les photos par lot en utilisant les métadonnées EXIF

Renommer une photo en utilisant les métadonnées exif avec exiv2Renommer des photos par lot en utilisant des données EXIF de chaque image.

Ou comment avoir un nom ressemblant à « 2010-0613-16h07m08s-chantier.JPG » au lieu de « DSC_0005.JPG »

Prérequis:
« exiv2 » doit être installé.
On va utiliser les commandes « find » et « exiv2 « 

Voyons ce qu’il y a dans le répertoire courant:

$ ls
DSC_0005.JPG DSC_0006.JPG DSC_0007.JPG DSC_0008.JPG

On va renommer les photos en utilisant une partie des métadonnées EXIF de chaque image en une seule commande (ici date et heure de prise de vue).

$ find -iname "DSC_*" -exec exiv2 -r %Y-%m%d-%Hh%Mm%Ss-chantier mv {} +
$
$ ls -l
total 10004
-rwxr-xr-x 1 sima sima 2976990 2010-06-13 16:07 2010-0613-16h07m08s-chantier.JPG
-rwxr-xr-x 1 sima sima 2538376 2010-06-13 16:07 2010-0613-16h07m27s-chantier.JPG
-rwxr-xr-x 1 sima sima 2231659 2010-06-13 16:07 2010-0613-16h07m51s-chantier.JPG
-rwxr-xr-x 1 sima sima 2472989 2010-06-13 16:07 2010-0613-16h07m57s-chantier.JPG

Que c’est-il passé?
La commande find a recherché les fichiers dont le nom commence par DSC_
Lorsque la réponse est vrai (renvoi 0) exécute la commande exiv2
La commande exiv2 va renommer en prenant l’année (%Y), le mois (%m), le jour (%d), l’heure (%H), les minutes (%M) et les secondes (%S) de prise de vue en y ajoutant les personnalisations les () (hms) de heure, minutes et secondes puis chantier.

En faisant «man exiv2» ou «man find» on peut voir l’étendue des possibilités.

ATTENTION ! cette commande est récursive et si vous avez des sous-répertoires avec des fichiers correspondant à la requête, ils seront également modifiés. Dans ce cas, vous pouvez utiliser la commande exiv2 dans une boucle for, do, done

Il est facile d’en faire un script…

Métadonnées EXIF d’une photo

Métadonnées Exif d'une photographieMétadonnées EXIF d’une photo.

Lorsque vous prenez une photo avec votre appareil photo numérique, il crée, en plus de l’image, une multitude de données EXIF (Exchangeable Image File format).

Ces données EXIF nous renseignent sur les propriétés de l’image (elles peuvent être modifiées, il ne s’agit donc pas de valeurs sûres):

– date,heure de la prise de vue
– marque de l’appareil
– ouverture et vitesse de prise de vue
– avec ou sans flash
– etc.

Exemple de métadonnées exif.

$ EXIF DSC_0132.JPG
Marqueurs EXIF dans'DSC_0132.JPG' (ordre des octets 'Motorola') :
---------------------+-----------------
Marqueur            |Valeur
---------------------+-----------------
Constructeur         |NIKON CORPORATION
Modèle               |NIKON D50
Orientation          |haut - gauche
x-résolution         |300,00
y-résolution         |300,00
Unité de la résolu   |pouces
Logiciel             |Ver.1.00
Date et heure        |2010:07:11 18:41:01
Positionnement YCbCr |co-situés
Compression          |Compression JPEG
x-résolution         |300,00
y-résolution         |300,00
Unité de la résolu   |pouces
Positionnement YCbCr |co-situés
Temps d'exposition   |1/250 sec.
Focale               |f/2,8
Exposure Program     |Priorité ouverture
Version d'exif       |Exif version 2.21
Date et heure (origi |2010:07:11 18:41:01
Date et heure (numé  |2010:07:11 18:41:01
Components Configura |Y Cb Cr -
Bits compressés par  |4,00
Correction d'exposit |0,00 EV
MaxApertureValue     |1,00 EV (f/1,4)
Mode de mesure       |Motif
Source lumineuse     |0
Flash                |Le flash ne s'est pas déclenché.
Longueur focale      |50,0 mm
Note du créateur     |28700 bytes undefined data
Commentaire de l'uti |
SubsecTime           |90
SubSecTimeOriginal   |90
SubSecTimeDigitized  |90
FlashPixVersion      |FlashPix version 1.0
Espace des couleurs  |sRGB
PixelXDimension      |3008
PixelYDimension      |2000
Méthode d'acquisiti  |Sonde de couleur à un capteur
Source du fichier    |DSC
Type de scène        |1
Motif CFA            |8 bytes undefined data
Rendu personnalisé   |Processus normal
Mode d'exposition    |Exposition automatique
Balance des blancs   |Balance des blancs automatique
Valeur du zoom numé  |1,00
Longueur focale dans |75
Type de capture de l |Standard
Contrôle du gain     |Normal
Contraste            |Normal
Saturation           |Normal
Netteté              |Normal
Échelle de distance  |Inconnu
InteroperabilityInde |R98
InteroperabilityVers |0100
---------------------+-----------------
Les données EXIF contiennent une vignette (8581 octets).