【Windows】ImageMagickで画像ファイルを加工する方法

IT

今日はImageMagickを使って、画像に枠をつけたり、文字を入れたりする方法の紹介。

ImageMagickを使うと、せどりに使う画像に枠をつけたり、文字を入れたりすることができます。
フォルダの中の画像を一括で加工することも可能です。

ここでは、Windowsパソコンの利用を想定しているので、Windowsコマンドでの説明です。

ImageMagickのインストール

本家のダウンロードサイトから、

ImageMagick – Download
ImageMagick is a free and open-source software suite used for editing and manipulating digital images. It provides a versatile set of tools for various image-re...

↑をダウンロードします。

ダウンロードしたインストーラは、デフォルトのままインストールでOKです。

ImageMagickが備える機能は多岐にわたるのと、
画像ファイルに関する知識が必要で、完璧に使いこなすのは難しいです。

ネットの情報もバージョンが違うと動かなかったりします。
ここでは具体的に

  • 画像に枠をつける
  • 画像に文字を入れる
  • 特定の画像を判定する

操作をしたい場合の例を説明します。

加工例① 画像に枠をつける

コマンド:

magick [オリジナルファイル名] -background navy -gravity northwest -splice 20x20x20x20 -gravity southeast -splice 20x20x20x20  [加工後ファイル名]

画像例:

オリジナル

加工後

コマンドの意味:

-background navy後に続くspliceに入れる色をnavyに指定する
-gravity northwest後に続くspliceの基準にする場所を northwest (左上)にする
-splice 20x20x20x2020ピクセルの太さの線を左側と上側に設定する
-gravity southeast後に続くspliceの基準にする場所を southeast (右下)にする
-splice 20x20x20x2020ピクセルの太さの線を右側と下側に設定する

※magickコマンドはこのように加工する順番に指定していきます。

加工例② 画像に文字を入れる

コマンド:

magick [オリジナルファイル名] -font "MS-Gothic-&-MS-UI-Gothic-&-MS-PGothic" -pointsize 48 -fill yellow -gravity north -draw "text 0,0 'MKブログ'" [加工後ファイル名]

画像例:

オリジナル

加工後

コマンドの意味:

-font “MS-Gothic-&-MS-UI-Gothic-&-MS-PGothic”入れる文字のフォントをMSゴシックに指定する。日本語を入れる場合は日本語のフォントを指定しなければならない。
-pointsize 48フォントサイズを 48 に指定する
-fill yellowフォントの色を yellow に指定する
-gravity north文字を入れる場所を真上に指定する
-draw “text 0,0 ‘MKブログ'”入れる文字を”MKブログ”とし、場所を上の gravity で指定した場所からの相対位置(x座標ゼロ、y座標ゼロ)を指定する

加工例③ 特定の画像を判定する

画像の判定方法はいろんな方法があります。
これはその中の1つの方法で、スケールを極小にしてその色情報から判定する方法です。

コマンド:

magick [オリジナルファイル名]  -scale 1x1\! -format '%[pixel:s]'  info:-

出力例:

‘srgb(42.7543%,42.4933%,41.0788%)’

rgbが出力されます。
rgbはそれぞれ0から255までなので、出力例のrは255の42.7543%です。
つまり上の例のrgbはだいたい(109,108,104)です。
html/cssの色で言えば、#6d6c68です。

コマンドの意味:

-scale 1×1\!1ピクセル四方にスケールします(\はエスケープです)
-format ‘%[pixel:s]’スケール後の画像の色情報を得る
info:-情報を表示する

比較対象のファイルに対して同じ情報を出力し、
rgbが(109,108,104)に近ければ同じと判断します。

実際にやってみたところ1000ファイルからとある形態の画像は100%特定できました。

その他(参考)

フォルダの中の一括加工は mogrify でできます。

加工例①の

magick [オリジナルファイル名] -background navy -gravity northwest -splice 20x20x20x20 -gravity southeast -splice 20x20x20x20  [加工後ファイル名]


を一括加工する場合は、

magick mogrify -background navy -gravity northwest -splice 20x20x20x20 -gravity southeast -splice 20x20x20x20  [フォルダ名]\*.jpg


で可能です。

mogrifyは指定されたフォルダにある画像をすべて加工する、上書きです。


加工①②で指定した色の名前の種類は、

ImageMagick – Color Names
ImageMagick is a free and open-source software suite used for editing and manipulating digital images. It provides a versatile set of tools for various image-re...

にあります。

コマンドなら

magick -list color

です。


加工②で指定したフォントは、

magick -list font

で使用可能なフォント名が表示されます。

めちゃくちゃ出てくるので

magick -list font > font-list.txt

でファイルに出力して調べるか、

magick -list font | find "MS-"

でfindでパイプします。

以上です。