Outils pour utilisateurs

Outils du site


inserer_la_date_d_une_photo_dans_l_image_elle-meme

Insérer la date d'une photo dans l'image

Cas d'utilisation

Je dispose de photos prises avec mes appareils photo numériques. Les méta-données sont renseignées lors de la prise de vue, notamment la date de prise de vue. Je souhaite faire figurer cette date sur l'image elle-même1).

Réalisation en ligne de commande

Un exemple commenté

convert mon-image.jpeg -gravity SouthEast -pointsize 200 -fill black -annotate +30+30 %[EXIF:DateTimeOriginal] mon-image_datée.jpeg
  • l'incrustation utilise l'action annotate de la commande convert
  • le texte de l'annotation est obtenu par extraction de la méta-donnée DateTimeOriginal
  • gravity, pointsize, fill permettent d'agir sur la présentation

Ici, la date est incrustée en bas à droite, en noir…

Traiter un ensemble de photos

Je me contente de donner un manière rapide de faire, dans un cas simple quoique courant.

Préparation

  • Je recommande de créer un répertoire et d'y copier les fichiers que l'on souhaite traiter.
  • Commencer par tester sur 3 ou 4 photos et ajuster les paramètres.

Réalisation

for photo in *jpeg; do convert "$photo" -gravity SouthEast -pointsize 200 -fill black -annotate +30+30  %[EXIF:DateTimeOriginal] "datée_""$photo"; done

Adaptations

On est très loin d'un cas général. Toutes les photos, même encodées en JPEG, n'ont pas la même extension. Elle n'ont pas toutes la même orientation, définition, tonalité… On peut préférer suffixer (avant l'extension !) le nom de fichier plutôt que le préfixer, etc.

Un contributeur mentionné dans les sources propose un script bash permettant d'élargir le champ d'application de cette solution basique.

Difficultés possibles

Méta-données absentes

La solution proposée suppose que les fichiers contiennent les méta-données EXIF et notamment la propriété DateTimeOriginal.

On peut afficher les méta-données EXIF présentes avec l'une des deux commandes suivantes2) :

identify -format '%[EXIF:*]' mon-image.jpeg
exiftool mon-image.jpeg

En ciblant la propriété voulue, respectivement :

identify -format '%[EXIF:*]' mon-image.jpeg | grep DateTimeOriginal
exiftool -DateTimeOriginal mon-image.jpeg
Le traitement de l'absence d'entête EXIF ou de la propriété de date est abordé dans une autre fiche.

Commandes non disponibles

Si certaines commandes ne sont pas disponibles, l'installation de plusieurs paquetages peut s'avérer nécessaires. Par exemple : graphicsmagick-imagemagick-compat, libimage-exiftool-perl

Sources

1)
Certains appareils proposent d'incruster cette date lorsqu'on prend la photo. Pour des tas de raisons, je désactive cette fonctionnalité.
2)
Identify affiche les propriétés avec leur libellés normés alors que exiftool mélange libellés “parlants” et paramètres normés…
inserer_la_date_d_une_photo_dans_l_image_elle-meme.txt · Dernière modification : de Flaz