Como renomeio as fotos com base nos títulos de shotwell?

3

Recentemente eu dei ~ 200 fotos de títulos numéricos em Shotwell que descrevem suas seqüências - 001, 002, etc. Mas eu gostaria que essa sequência fosse a mesma nos nomes de arquivos também, de modo que quando eu abrir a pasta em Nautilus as fotos são listadas em ordem. Eu acho que Shotwell salvou o título nos dados exif em algum lugar. Na verdade, eu finalmente encontrei usando o visualizador de imagens do Gnome, em XMP Other e photoshop: Headline. O que eu gostaria é de uma maneira de ler esses títulos de Shotwell e ter aqueles usados como nomes de arquivos. Eu provavelmente poderia fazer isso com o Python se soubesse como acessar esses metadados.

    
por Jon 03.12.2011 / 21:26

2 respostas

2

Eu fiz um apt-cache search exif e encontrei (entre outros pacotes):

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  

Então, tente pyrenamer . Se você não pode fazer o que você gosta, você pode construir sua própria ferramenta com python-exif

    
por waltinator 03.12.2011 / 21:59
4

Como não há outra resposta mostrando como realmente renomear fotos com os títulos adicionados em Shotwell , aqui está uma maneira rápida de fazer script usando bash, como você diz nos comentários que você já tem uma alternativa python. Pode haver outras maneiras de fazer isso, mas essa pode ser útil para alguém.

Como você já deu a suas fotos um título em Shotwell e exportou-as, e descobriu onde os metadados estão armazenados que Shotwell adiciona, é relativamente fácil criar um script.

Por favor, instale libimage-exiftool-perl , pois isso será necessário para o script.

1) Se você usar exiftool -a G1 -s pic.jpg , poderá ver todos os tipos de metadados e tags incorporados em uma imagem e também onde Shotwell coloca os metadados:

[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) Agora, as tags XMP-photoshop ou IPTC podem ser usadas com exiftool em nosso script para mostrar os metadados (e usar esse valor resultante para renomear o arquivo).

Inserindo os resultados exiftool -IPTC:headline pic.jpg em

Headline                        : 002

e isso pode ser analisado com awk e realimentado como a variável para renomear o arquivo:

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

3) O roteiro final seria assim:

#!/bin/bash

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

Então, agora todos os seus arquivos foram renomeados com Shotwell títulos, como vemos quando examinamos um com exiftool -a -G1 -s pic.jpg :

ExifTool Version Number         : 9.12
File Name                       : 002.jpg

Notas:

  • A versão do repositório do exiftool é boa, mas é bastante antiga, então se você precisar de suporte para vários novos recursos e correções de erros, veja o site oficial para saber como criar e instalar a versão mais recente.

  • Todos os metadados são preservados inalterados pelo script, pois apenas o próprio arquivo real está sendo renomeado.

  • O script obviamente só funcionará se suas imagens tiverem títulos criados com o Shotwell embutido, mas pode ser adaptado para outros propósitos.

  • Também pode haver uma maneira alternativa de fazer isso com exiftool , sem invocar awk , então eu investigarei mais.

Para informações mais gerais, consulte man exiftool ou as páginas de manual do Ubuntu online .

    
por user76204 08.01.2013 / 19:47