Les tribulations d’un astronome

Renommer les fichiers photos avec la date

mercredi 1er juin 2011 par Guillaume Blanc

J’avais un problème.

Mais auparavant, il faut que je vous raconte la tambouille que je fais. Faisais. Avec mes photos. Du nom brut de décoffrage sortant du câble USB de transfert des images entre l’appareil et l’ordinateur, je le transformais en quelque chose du genre : 2011-05-03—05.51.48_ixus870_nepal_0665.jpg, avec la date de prise de vue, l’appareil qui a servi, un lieu, et un numéro de photo. Cela me permet de les trier plus facilement, par date de prise de vue, et accessoirement de les répertorier sommairement.

Quand j’étais sous Linux, je faisais ça facilement avec gthumb un chouette logiciel de visualisation d’images. En passant sous Mac OS, je pensais — naïvement — que j’arrivais chez la Rolls du traitement et de la gestion de l’image numérique. Que nenni. Le logiciel par défaut, iPhotos est nul (j’ai fini par le virer). Et je n’ai rien trouvé qui me permette de renommer facilement mes photos comme je le souhaitais. J’ai donc installé gthumb, j’ai dû batailler ferme pour ça, en recompilant tout, bref, je vous passe les détails sordides. Ça fonctionnait très bien. Ça fonctionne, d’ailleurs, toujours très bien !

Et puis de retour du Népal, avec ma poignée de milliers de photos à trier, faites simultanément avec deux appareils différents, je me suis retrouvé avec des heures de prise de vue qui étaient correctes sur l’un des appareils, et décalées systématiquement de 3h45 — qui est le décalage horaire estival entre la France et le Népal —, ce qui n’était pas du meilleur effet.

Il me fallait donc aller triturer l’entête exif de mes images jpeg. Plutôt que de chercher un logiciel qui faisait ça, mais qui, quoi qu’il arrive, ne le ferait pas comme je veux, j’ai directement cherché une bibliothèque Python pour ce faire. C’est ainsi que j’ai trouvé pyexiv2, qui est à la base une bibliothèque en C++ pour manipuler les « métadonnées » d’un certain nombre de format d’image. Dont le exif de jpeg.

Si j’ai l’habitude dans mon travail de jouer avec le format FITS, qui est un format assez universellement répandu d’images astronomiques, pourvu d’une bibliothèque Python, facile à installer et simple à utiliser, pyfits, en revanche, pyexiv2 m’a donné un mal de chien à installer (mais j’ai fini par l’avoir, après avoir pas mal surfé sur les forums, et surtout après avoir mis la main sur le bon mode d’emploi, celui-ci). Il faut dire que la chose, à la base, n’est pas faite pour être installée sur Mac OS. Alors, il faut un peu s’arracher les cheveux pour ce faire, malgré tout.

Donc, finalement, ça fonctionne. Un mode d’emploi du logiciel pas toujours des plus explicite, mais, petit à petit, l’un dans l’autre, j’ai fini par parvenir à mes fins. Avec la bibliothèque Python datetime, j’ai pu, en deux lignes de code, rajouter très facilement 3h45 à l’heure de création de mes images.

Et dans la foulée, j’ai écrit un petit script pour faire le boulot que je donnais à gthumb jusque là. Petit script qui renomme mes images selon le format cité plus haut.

Le voici :

En plus de la bibliothèque pyexiv2, cela utilise argparse qui permet de passer les arguments au programme de manière plus sexy. Et en plus ça marche... Je vais — enfin ! — pouvoir me mettre à trier mes photos du Népal sereinement !

L’étape suivante dans la gestion de ces photos qui s’accumulent avec les ans, ce sera la base de données. Un jour, peut-être...


forum

Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 3215 / 590399

Suivre la vie du site fr  Suivre la vie du site Blog  Suivre la vie du site Informatique   ?

Site réalisé avec SPIP 3.0.17 + AHUNTSIC

Creative Commons License

Visiteurs connectés : 3