2014年6月29日日曜日

【Linux】exiftool で写真の向きを変更する.

以前,コマンドラインからEXIF情報を編集するためのツールとして,exiftoolを紹介しました.

その際は,日付の修正に利用しましたが,今回は画像の回転を行ってみたいと思います.





(具体例)
修正前修正後





私の愛器 E-PM1 は残念なことに加速度センサーが付いていないため
どんな向きで写真を撮っても必ず横長の写真になります.

しかし,場合によってはカメラを縦に持って写真を撮ったりすることもあるため
写真の向きを編集し直す必要があります.

そこで,EXIF情報を閲覧・変更できる exiftool コマンドを使います.





まずは 画像の向きを確認する方法です.
$ exiftool -Orientation hoge.jpg
標準出力
Orientation                     : Horizontal (normal)

このように現在の画像の向きが表示されます.

いま,向きの変更を行っていないので,Horizontal(normal)になっています.



また n オプション を追加すると,文字列ではなく,数字で表示させることができます.
$ exiftool -Orientation -n hoge.jpg
標準出力
Orientation                     : 1





では,変更するときはどうするかと言えば,
$ exiftool -Orientation=6 -n hoge.jpg

とします.6 は 90度時計回りに回転させることに対応しています.
(上の具体例はまさにこれです)

重要なことは,この回転の向きは相対値ではなく絶対値だということです.
どういうことかと言えば,このコマンドを何度実行しても得られる結果は同じということです.

つまり,hoge.jpgは現在の向きから90度回転するのではなく,オリジナルに対して90度回転します.

以下に,回転の向きと数字の対応を示します.

1・・・回転なし(オリジナル)
2・・・左右反転
3・・・180度回転
4・・・上下反転
5・・・左右反転+270度回転
6・・・90度回転
7・・・左右反転+90度回転
8・・・270度回転

なんだかややこしいですが,

回転のみのものは向きを変えても字が読めるもの.反転を読めなくなるもの.

とでも説明すれば良いでしょうか・・・.

通常は,1,3,6,8のみを使えば良さそうですね.

0 件のコメント:

コメントを投稿