imagemagick

ImageMagickでExif情報からGPS情報を取る

Exif 情報を表示するには: $ identify -verbose image.jpg これで出力される情報のうち、exif:GPS から始まる行が GPS 情報になっている。 exif:GPSLatitude, exif:GPSLongitude は 度, 分, 秒 表記になっているので、 さらにそれぞれ割り算して実際の座標を求める感じになっている。 例えば 31/1, 34/1, 71/25 とかだと、31°34'2.84" になる。 Google マップに持っていって表示したい場合は、検索欄に 度 分 秒N, 度, 分, 秒E といった具合に 打ち込めばその座標にピンが表示される。

ImageMagick の image stack operator

ImageMagick のコマンドラインオプションはスタックに画像を積み上げていって、 その画像に対してなんかやるみたいな体系になっている。 そのスタックの操作についてメモ。 ( 新しくスタックを作る。 スタック作っただけじゃあんまり意味なくて、何か画像を乗っけることで他のオペレータにも スタックが使われるようになるっぽい (このへんの挙動がよく分からん)。 ) 今いるスタックに乗っかってる画像をメインのスタックに乗っける。複数の画像がいた場合は全部乗る。 -delete スタックから、指定したインデックスの画像を消す。負数を指定すると後ろから。 ハイフンで範囲指定もできる。 -insert スタックの一番上の画像のインデックスを指定したインデックスに変える。 負数だ

ImageMagick の処理を高速化する

数日前からシェル芸で画像を出力するのが楽しくて毎日のようにやっているのだが、画像の処理は思った以上に重く、よくタイムアウトする。 しかも強引なやり方をしているのでとてつもない長さのワンライナーが完成してウンザリな感じになる。 mpr: mpr: は ImageMagick 出力を一時的にメモリに置いておけるっぽい。一回一回ファイルに結果を書き出したり、パイプで ImageMagick をつなげたりせずに出力結果を利用することができるので、起動のオーバーヘッドやファイル I/O のオーバーヘッドを軽減できる。 これはファイルとして使える (ファイルみたいに入力や出力に使える。) +delete これまでの引数をなかったことにする。このとき、 mpr: などの中身は消えない。 ジェネレート系 xc:[色]