2014年3月24日月曜日

【Linux】写真のEXIF情報を編集する.

私の愛機 E-PM1 は電池を充電する際,電池を取り外さなければならない.

そして,電池を取り外すと機体内部の日時情報がリセットされてしまうので
充電するたびに日時を設定することになる.

少し面倒だが,ネットに接続できないため致し方ない.




しかし,前回充電した際,日時設定で一ヶ月間違えてしまい(時刻は合ってる),
昨日と今日撮った写真の撮影日時が2月23日・2月24日になってしまった.

ファイル名が P223****.jpg,P224****.jpg になってしまうのは
for 文で mv を回せば十分だが,問題はEXIF情報.



しかし,そこはLinuxの本領発揮.EXIF情報をコマンドラインから編集するツールもちゃんとあった.

その名も exiftool

まんまですね.笑


CLIで操作できるならもうこっちのものだ.for 文を使って一気に編集する.

for i in P323*.jpg P324*.jpg
do
    date=$(exiftool -CreateDate ${i} | cut -f 24-25 -d " " |
           sed -e s/2014:02/2014:03/g)
    exiftool -CreateDate="${date}" ${i} 
    exiftool -ModyfiDate="${date}" ${i}
    exiftool -DateTimeOriginal="${date}" ${i}
done

変数 i に該当する画像を全て読み込み,変数 date に EXIF情報 の撮影日時を
一ヶ月先に進めた情報を代入する.

そして exiftool の編集機能を用いて

Create Date
Modify Date
Date/Time Original

の情報を更新する.

デフォルトで上の3つのEXIF情報は同じ日時が保存されていたので全て変更したが,
実際には Date/Time Original のみを編集すれば撮影日時は更新されるようだ.

0 件のコメント:

コメントを投稿