複数画像の一括リサイズをコマンドラインで行う最小コマンド(ImageMagickのみ)

複数の写真画像をリサイズする作業はたまに発生します。
Linux環境だと特に、コマンド一発での処理を考えます。その度にGoogle検索でImageMagickの使い方を調べて、上位サイトの紹介するオプションを継ぎ接ぎしてい使っていたのですが。
毎回調べるのは面倒なので、覚えられるよう最低限の長さにまとめました。

本当に最低限は以下。
mogrify -resize 800x *.JPG
それなりに必要性のあるオプションを追加して、以下を覚えると良いです。
mogrify -strip -format jpg -quality 90 -resize 800x *.JPG




画像ファイル一覧

明度調整などのマトモな画像加工は諦めましょう。またはその都度調べましょう。
既にパイプを使いこなしているなら良いのですが、find,grepをパイプしてxargsで流しこむ、なんて流れを画像変換のためだけに覚えるのは面倒かと思います。
Gimpがコマンドラインからシェルスクリプトで使えたりすればよかったのですが、あちらは魔窟なので。
画像リサイズ程度の要望は、可能な限りImageMagickで処理。


以下解説。

mogrify
どう考えても同じImageMagickで"convert"のほうが覚えやすいですし、mogrifyでは通常は元ファイルが上書きされてしまいます。しかしconvertでは出力ファイル名が元ファイルを紐付けられない変なものになるので、すっきり諦めてmogrifyを覚えましょう。
なお、上書きには対象画像ファイルをまとたフォルダごとコピーして元画像をバックアップすることで対応します。下手に追加のコマンドを覚えるよりはるかに楽です。

-strip
EXIF情報を切り落とすオプション。ファイルサイズへの影響はともかく、当然付けておきます。

-format jpg
元ファイルが何JPGなのかわからないので標準的なjpg形式に。
format指定で拡張子が変更になる場合、元ファイルが保持されるという嬉しい副作用もあります。

-quarity 96
デフォルト92だという話ですが。デフォルト値があるならそれを使ったほうが良い派なのですが。これに関しては、写真によっては激しく劣化することがあったので。

-resize 800x
縦横比を保持するために横サイズのみ指定。お約束です。

*.JPG
対象ファイルを一括指定する記法。ワイルドカードを使ったありきたりな指定で覚えやすい。ImageMagickで完結するし。

以上です。

Linuxコマンドライン上でSVGベクタ画像をJPG等へラスタライズ変換する

 Linuxコマンドライン上でSVGベクタ画像をJPG等へラスタライズ変換することができるが、上手く変換されない場合がある。   以前作った魔法陣イラスト素材をイラスト素材ストックサイトへ登録しようと思い立ち、改めて素材用にラスタライズ変換をかけようとした。   ラスタライズ変換...