exiftoolを使って写真の情報を管理

exiftoolとは

デジカメなどで撮影した写真に付加されるexif情報を読んだり書いたりするツール。もともとはperlのモジュールだけど、いまはMac版、Windows版ともにスタンドアロンで実行できるバイナリとしてExifTool by Phil Harveyで配布されているのでperlわからなくても大丈夫。
ただ、コマンドラインから使うソフトなのでMacならターミナル、Windowsならコマンドプロンプトから実行しないといけません。多少面倒ですがいっぺんに複数のファイルを簡単に処理できるという利点もあります。

画像ファイル(jpgやRAWファイル)のexifを読む

$ exiftool 画像ファイル

とすれば画像ファイルのexifを確認することができますよ。


デジカメで撮った画像ファイル(RAWでもjpgでもなんでもいい *1 )を使って試してみるとファイル名(File Name)やサイズ(File Size)など一般的なものから、メーカー、カメラ名など基本的exif、メーカー独自の情報(Nikonの場合D-LightingのON/OFFなど)が記録されているのが解ります。
こんなかんじ。

File Name                       : xxxxxxxx.NEF
File Size                       : 13 MB
    :
    :
Make                            : NIKON CORPORATION
Camera Model Name               : NIKON D300
    :
    :
Active D-Lighting               : Normal
    :
    :
Lens ID                         : Voigtlander Nokton 58mm F1.4 SLII

日本語で表示したい時には

$ exiftool -lang ja 画像ファイル

とすれば

ファイル名                           : xxxxxxxx.NEF
メーカー                            : NIKON CORPORATION
アクティブDライティング                    : 標準
レンズID                           : Voigtlander Nokton 58mm F1.4 SLII

となります。

狙った情報だけ見たいときには

$ exiftool −(見たい情報のタグ) 画像ファイル

とします。
例えばレンズID(タグ名はLensID)を見たいなら

$ exiftool -LensID 画像ファイル

とします。

タグ名を調べるときにはここでも調べることができますが、
嫌がらせみたいなページなのでデジカメで撮った写真を参考にしたほうがいいかも。
タグ名とexif内の名前は一致しない(たとえば「Lens ID」のタグ名はLensIDとなる)のでそのままでは使えません。

$ exiftool -s 画像ファイル

とすることでexifをタグ名で出力してくれます。先程の例だと

FileName                        : xxxxxxxx.NEF
FileSize                        : 13 MB
Make                            : NIKON CORPORATION
Model                           : NIKON D300
ActiveD-Lighting                : Normal
LensID                          : Voigtlander Nokton 58mm F1.4 SLII

となります。

画像ファイルのexifを書き換える

さて、exiftoolを使うのに多くの人は書き換えるのに使うんじゃないかと思います。かくいう僕もフィルムで撮ってスキャンしたファイルにexifを追加したりとかするわけです。
そんなときには

$ exiftool -(追加・変更したいタグ名)="exifに加えたい内容" 画像ファイル

とします。

例えばカメラメーカーとカメラ名、それにレンズ名を加えたい場合は、

$ exiftool -Make="NIKON CORPORATION" -Model="NIKON D300" -LensID="Voigtlander Nokton 58mm F1.4 SLII" 画像ファイル

とします。
内容はダブルクォーテーションで括るのを忘れないようにしてください。
exifを読むときとの違いは「-タグ名=中身」となっている点ですね。
exiftoolはこの違いを認識して読み出しと書き込みを変えているんだと思います。

ざっと見た感じ、よく使いそうなタグをメモしておきます。

タグ exif内で英語名 exif内で日本語名 注釈
CreateDate Create Date デジタルデータ作成日時 撮影日時 例)2010:07:25 15:38:35
ISO ISO ISOスピードレート
ExposureTime Exposure Time 露出時間
FNumber F Number F値
FocalLength Focal Length レンズ焦点距離
Orientation Orientation 画像の向き 普通の位置:Horizontal (normal),
時計回りに270°:Rotate 270 CW
LensID Lens ID レンズ ID レンズの名前を全部入れるところぽい
Ai AF Nikkor 50mm/F1.4Dなど
LensSpec Lens レンズ 50mm f/1.4 AFとか
ExposureProgram Exposure Program 露出プログラム 絞り優先AEなら
Aperture-priority AE
Flash Flash ストロボ 未発光:No Flash
発光時:未確認
Aperture Aperture 絞り F Numberと同じだけどFlickrはこっちを読んでる?
ShutterSpeed Shutter Speed 露出時間 Exposure Timeと同じ


このほかは適当に探してください。
タグが一般的なものかメーカ依存かは-Gオプションをつけるとわかります。

$ exiftool -G 画像ファイル

で確かめてください。

*1: 対応しているファイル形式はhttp://www.sno.phy.queensu.ca/~phil/exiftool/#supportedに一覧があります。要するにほとんどのファイル形式に対応。