web-dev-qa-db-ja.com

ショットウェルのタイトルに基づいて写真の名前を変更するにはどうすればよいですか?

最近、Shotwellで〜200、002などのシーケンスを説明する数200枚の写真のタイトルを付けました。写真は順番にリストされています。 Shotwellはexifデータのどこかにタイトルを保存したと思います。実際、XMP Otherおよびphotoshop:Headlineの下のGnome画像ビューアーを使用して最終的に見つけました。私が欲しいのは、これらのShotwellタイトルを読み、それらをファイル名として使用する方法です。そのメタデータにアクセスする方法を知っていれば、おそらくPythonでこれを行うことができます。

3
Jonathan

私はapt-cache search exif、見つかった(他のパッケージの中で):

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  

pyrenamer を試してください。好きなように実行できない場合は、 python-exif を使用して独自のツールを構築できます。

2
waltinator

Shotwellに追加されたタイトルで実際に写真の名前を変更するhowを示す他の回答はないので、あなたが言うように、bashを使用してスクリプトを作成する簡単な方法がありますあなたはすでにpythonの代替手段を持っているというコメントで。それをする他の方法があるかもしれないが、これは誰かにとって有用かもしれない。

既に画像にShotwellのタイトルを付けてエクスポートし、Shotwellが追加するメタデータの保存場所を見つけたので、スクリプトをまとめるのは比較的簡単です。

スクリプトに必要になるため、libimage-exiftool-Perlをインストールしてください。

1)exiftool -a G1 -s pic.jpgを使用すると、画像内に埋め込まれたすべてのメタデータタイプとタグ、およびShotwellがメタデータを配置する場所を確認できます。

[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)これで、スクリプトのXMP-photoshopまたはIPTCタグをexiftoolとともに使用してメタデータを表示できます(その結果の値を使用してファイルの名前を変更します)。

exiftool -IPTC:headline pic.jpgを入力すると、

Headline                        : 002

これはawkで解析され、ファイルの名前を変更する変数としてフィードバックできます。

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

3)最終的なスクリプトは次のようになります。

#!/bin/bash

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

そのため、exiftool -a -G1 -s pic.jpgでファイルを調べるとわかるように、すべてのファイルの名前がShotwellタイトルで変更されました。

ExifTool Version Number         : 9.12
File Name                       : 002.jpg

注:

  • Exiftoolのリポジトリバージョンは問題ありませんが、かなり古いため、さまざまな新機能とバグ修正のサポートが必要な場合は、 公式サイト を参照して、より新しいバージョンをビルドおよびインストールしてください。

  • 実際のファイル自体の名前のみが変更されるため、すべてのメタデータはスクリプトによって変更されずに保持されます。

  • このスクリプトは明らかに、写真にShotwellが埋め込まれたタイトルが埋め込まれている場合にのみ機能しますが、他の目的に適合させることもできます。

  • exiftoolを呼び出さずにawkでこれを行う別の方法もあるかもしれないので、さらに調査します。

より一般的な情報については、man exiftoolまたは オンラインのUbuntuマンページ を参照してください。

4
user76204