Table des matières
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
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
- ImageMagick Examples --Text Handling (+ recherches sur la page et liens vers des pages détaillants les options)
