ImageMagick

ImageMagickで画像の角度を変更する

ImageMagick、しばらく使ってなかったら結構変わっててちょいちょい悩んだので備忘録を残します。インストール方法は公式ページに書いてあるので、そちらを参考にしてください。

変更点

かつてはいろいろなコマンドがありましたが、現在はmagickコマンドに置き換えられました。convertやmoglify等もすべてmacick -hogeで呼び出します。
引数が変わっている部分で少々つまずいて無駄に時間を費やしました。

画像の回転

hoge.jpgを90度時計回りに回転させ、fuga.jpgを作ります。

magick hoge.jpg -rotate 90 fuga.jpg

かつて(mogrify使ってたとき)はhoge.jpgを直接回転させることができてました。

mogrify -rotate 180 hoge.jpg

magickコマンドを使い、上と同じようにコマンドを叩くと以下のエラーが発生します。

magick: no images found for operation `-rotate' at CLI arg 1 @ error/operation.c/CLIOption/5266.

補足

ImageMagickで画像を回転させた場合、Exifの回転角パラメータ(Orientation)は変更されません。

スマホ撮影写真を扱っていると、なぜかiPhoneで撮影された180度反転した写真というものに出会うことがあります。これをWindows標準のフォトビューアで回転させると以下のような状況に陥ります。

元々のOrientationが1(そのまま)だとして

  • 時計回りに90度回転
    Orientationは自動的に修正がかかる(1→6)

  • 180度回転
    Orientationは自動的に修正がかかる(1→3)

このお陰で、180度回転している画像をWindows標準フォトビューアから修正しても意味がないという。