名古屋出身ソフトウェアエンジニアのブログ

ImageMagick で個人的によく使うコマンドまとめ

公開:
更新:

画像の情報を細かく確認

magick identify -verbose IN.png

破損チェック

magick identify -regard-warnings IN.png

リサイズ

頻出なのに長いので関数化すると良いです。

resize () {
  magick "$1" -colorspace RGB -filter Lanczos -define filter:lobes=3 -resize ${@[3,-1]} -colorspace sRGB -profile "$1" "$2"
}

二つの画像を重ねる

magick BACKGROUND.png TRANSPARENT.png -geometry +0+0 -compose Over -composite -alpha off OUT.png

二つの画像の画素に差があるかを調べる

magick compare -metric AE LEFT.png RIGHT.jxl DIFF.png

-metric AE の AE は絶対値誤差のことです。標準エラー出力に出る数値が 0 であれば、二つの画像の画素に全く差がないことになります。

標準エラー出力の括弧外の数値は、各チャネルの正規化済み絶対誤差を合計し、チャネル数で割った値です。括弧内の数値はさらに画素数で割った値です。

DIFF.png には相違箇所が赤でハイライトされた画像が出力されます。

magick compare -metric AE LEFT.png RIGHT.jxl NULL:

誤差数値のみ確認できれば良い場合 NULL: を指定できます。

JPEG XL

Lossy

magick IN.png -quality 95 OUT.jxl

今のところデフォルトの -quality は 90 のようです。

Lossless

magick IN.png -quality 100 OUT.jxl