web-dev-qa-db-fra.com

Comment renommer des photos en fonction de leurs titres de plan de prise de vue?

J'ai récemment donné ~ 200 photos de titres numériques dans Shotwell qui décrivent leurs séquences - 001, 002, etc. les photos sont répertoriées dans l'ordre. Je pense que Shotwell a enregistré quelque part le titre dans les données exif. En fait, je l'ai finalement trouvé en utilisant la visionneuse d'images Gnome, sous XMP Other et photoshop: Headline. Ce que j'aimerais, c'est une façon de lire ces titres de Shotwell et de les utiliser comme noms de fichiers. Je pourrais probablement le faire avec Python si je savais comment accéder à ces métadonnées.

3
Jonathan

J'ai fait un apt-cache search exif, et a trouvé (entre autres packages):

exiv2 - EXIF/IPTC metadata manipulation tool  
bins - Generate static HTML photo albums using XML and EXIF tags  
exif - command-line utility to show EXIF information in JPEG files  
exifprobe - Read metadata from digital pictures  
exiftags - utility to read Exif tags from a digital camera JPEG file  
jigl - Generates a static html photo gallery from one or more directories of images  
libexif-Ruby1.9.1 - EXIF tag parsing Library for Ruby1.9.1  
libimage-exif-Perl - Perl module to extract EXIF information from image files  
libimage-exiftool-Perl - Library and program to read and write meta information in multimedia files  
libimage-info-Perl - allows extraction of meta information from image files  
metacam - extract EXIF information from digital camera files  
pyrenamer - mass file renamer written in PyGTK  
python-exif - Python library to extract EXIF data from tiff and jpeg files  
renrot - Rename and rotate files according to EXIF tags  

Essayez donc pyrenamer . Si vous ne pouvez pas le faire faire ce que vous voulez, vous pouvez créer votre propre outil avec python-exif

2
waltinator

Comme il n'y a pas d'autre réponse montrant comment pour renommer réellement les photos avec les titres ajoutés dans Shotwell, voici un moyen rapide de l'écrire en utilisant bash, comme vous le dites dans les commentaires que vous avez déjà une alternative python. Il peut bien y avoir d'autres façons de le faire, mais celle-ci peut être utile pour quelqu'un.

Comme vous avez déjà donné un titre à vos images dans Shotwell et les avez exportées, et que vous avez découvert où les métadonnées sont stockées que Shotwell ajoute, il est relativement simple de rassembler un script.

Se il vous plaît installer libimage-exiftool-Perl, car cela sera nécessaire pour le script.

1) Si vous utilisez exiftool -a G1 -s pic.jpg, vous pouvez voir tous les types de métadonnées et les balises incorporées dans une image, et aussi où Shotwell place les métadonnées:

[XMP-photoshop] Headline                        : 002
[XMP-dc]        Title                           : 002
[IPTC]          Caption-Abstract                : 002
[IPTC]          Headline                        : 002
[IPTC]          OriginatingProgram              : Shotwell
[IPTC]          ProgramVersion                  : 0.13.1+trunk

2) Maintenant, soit le XMP-photoshop ou les balises IPTC peuvent être utilisées avec exiftool dans notre script pour afficher les métadonnées (puis utiliser cette valeur résultante pour renommer le fichier).

Saisie de exiftool -IPTC:headline pic.jpg résulte en

Headline                        : 002

et cela peut être analysé avec awk et renvoyé en tant que variable pour renommer le fichier:

mv -i "$i" "$(exiftool -IPTC:headline "$i" | awk -F ': ' '{print $2}').jpg"

3) Le script final serait comme ceci:

#!/bin/bash

for i in *.jpg
do 
    mv -i "$i" "$(exiftool -IPTC:headline "$i" | awk -F ': ' '{print $2}').jpg" 
done

Donc, maintenant tous vos fichiers ont été renommés avec leurs titres Shotwell, comme nous le voyons lorsque nous en examinons un avec exiftool -a -G1 -s pic.jpg:

ExifTool Version Number         : 9.12
File Name                       : 002.jpg

Remarques:

  • La version référentielle d'exiftool est correcte, mais elle est assez ancienne, donc si vous avez besoin de prise en charge de diverses nouvelles fonctionnalités et corrections de bugs, consultez le site officiel pour savoir comment construire et installer la version la plus récente.

  • Toutes les métadonnées sont conservées inchangées par le script, car seul le fichier lui-même est renommé.

  • Le script ne fonctionnera évidemment que si vos images ont des titres créés avec Shotwell intégré, mais il pourrait être adapté à d'autres fins.

  • Il peut également y avoir une autre façon de le faire avec exiftool, sans invoquer awk, je vais donc poursuivre mes recherches.

Pour des informations plus générales, voir man exiftool ou les pages de manuel Ubuntu en ligne .

4
user76204