Voici quelques exemples pour

renommer vos photos en ligne de commande

Un renommage permettant un tri facile et de retrouver rapidement une photo en fonction de sa date, est de mettre en préfixe la date sous la forme AAAAMMDD, par exemple 20140512 (pour plus de lisibilité, vous pouvez ajouter des traits d'union entre les éléments de la date... 2014-05-12).

 De plus, toujours pour faciliter la recherche, on peut laisser le nom initial et ajouter un sujet.

Nous allons pour cela utiliser un programme qui sait lire les données EXIF, IPTC et XMP des fichiers images : exiv2

il faut au préalable installer le paquet exiv2

sudo apt-get install exiv2

exiv2 permet de faire cela très facilement. Comme son nom l'indique, il exploite les données exif des photos. Pour s'en convaincre, il suffit de taper

exiv2 *.JPG  pour voir défiler les informations des photos du répertoire où vous vous trouvez.

Et pour renommer nos photos en utilisant la date de prise de vue, on peut taper :

exiv2 -r %Y%m%d_:basename:_sujet rename *.JPG 

exemple : les photos DSC5672.JPG et DSC5673.JPG après avoir appliqué :

exiv2 -r %Y%m%d_:basename:_we_montagne rename DSC56*.JPG  sont renommées en

20130922_DSC5672_we_montagne.JPG

20130923_DSC5673_we_montagne.JPG

je sépare chaque "champs" par des souligné _ à vous d'adapter

... mais une erreur est rapidement arrivée et vous vous retrouver avec des photos comportant 2 fois la date, un mauvais sujet...

il est donc important de pouvoir corriger cela sans faire un renommage une par une !

la fonction rename nous permet cela intelligement grâce aux REGEX (Regular Expressions ou expressions rationnelles)

voir mon article sur les REGEX :

Si on reprend notre exemple plus haut, imaginons que nous préférons finalement avoir un nom du type 20130923_72_escalade.JPG

nous tapons alors : rename 's/^([0-9]{8})_DSC56([0-9]{2})\.JPG/$1_$2_escalade.JPG/' *.JPG

A noter: la syntaxe n'étant pas des plus facile à mémoriser, penser à utiliser la recherche interactive Ctrl-R, cf. faq_astuce sur doc.ubuntu-fr.org

Modifier la date de vos photos

A qui n'est-il pas arrivé d'avoir oublié de paramétrer la bonne date-heure dans l'APN?

La aussi, exiv2 nous permet de corriger cela :

l'exemple ci-dessous : tous les fichier JPEG du répertoire sont daté au 16 janvier 2014 à 00:48 pour le premier au lieu du 14 juin 2014 vers 10:48, on retranche donc 2 jours (-D), on ajoute 5 mois (-O) et on ajoute 10 heures

exiv2 -v ad -D -2 -O +5 -a +10:00:00 *.JPG

exiv2 -v ad -D +2 -a -0:05:15 *.jpg

 

Ajouter des données EXIF, IPTC et XMP

la librairie et le programme exiv2, comme on l'a vue ci-dessus, permet de modifier les données EXIF voir IPTC ou XMP. Nous allons l'utiliser maintenant pour ajouter des informations telles que votre nom, la licence (creative commons), une description.

Pour réutiliser facilement ces modifications, on peut les enregistrer dans un fichier texte qui sera appelé par exiv2.

Créez tout d'abord un fichier texte maLicence.txt par exemple, dans lequel on ajoute les commandes qui vont réaliser ces ajouts :

NOTA : préférer la commande set à la commande add ... pour éviter de se retrouver avec plusieurs fois le même attribut, d'autant que set ajoute l'attribut s'il n'existe pas !

set Exif.Image.Artist Ascii "bcag2"
set Exif.Image.Copyright Ascii "Creative Commons CC-By-Sa touticphoto.fr"

pour ajouter l'équivalent pour les données IPTC, il suffit d'ajouter dans ce même fichier :

add Iptc.Application2.Contact "bcag2"
add Iptc.Application2.Copyright "touticphoto.fr Creative Commons By-Sa"

Pour visualiser les données IPTC, il faut préciser l'option -pi (voir -pa pour toutes les données EXIF, IPTC et XMP) : exiv2 -pi photo.JPG

il suffit ensuite d'appliquer ces ajouts en appelant exiv2 :

exiv2 -m maLicence.txt *.JPG

On peut aussi ajouter le n° de la photo (évidemment, le mieux est de faire cela dans un script bash) :

exiv2 -M"set Exif.Image.ImageNumber 7480" photo.JPG

Pour ajouter la description, nous ne passons par le fichier texte mais directement en ligne de commande de la façon suivante :

pour la description en EXIF :

exiv2 -M"set Exif.Image.ImageDescription Ascii bateau" photo.JPG

on retrouve bien notre description "bateau" dans les propriétés - Options avancées de the Gimp

Nota : le codage - obsolète - étant en ASCII, il est proscrit de mettre des accents !!

capture d'écran sous Gimp où l'on visualise la description

pour la description en IPTC (j'ai mis des accents... mais attention au résultat selon les logiciels qui vont relire!!) :

exiv2 -M"set Iptc.Application2.Caption String bateau" photo.JPG

on peut utiliser aussi l'attribut Iptc.Application2.Subject

et enfin la designation en XMP où la description doit commencer par lang="fr-FR" suivit de la description que vous souhaitez enregistrer :

exiv2 -M"set Xmp.dc.description lang="fr-FR" bateau avec Françis" photo.JPG

 Voir aussi mon article

redimmensionnements des photos en ligne de commande avec ImageMagick