2012年4月28日

ImageMagickによる画像加工 1

カラーミーショップも、「お願い!カラーミー」導入後からいくつか進展があり、当サイトの古い記事の手直しも必要になっています。それについては、近いうちに着手できればなぁと。

さて、今回のお題は、ネットショップ運営に付き物の「画像加工」です。
ImageMagickには「コマンドラインから利用する方法」と、「他のプログラムから呼び出して使う方法」の二つの方法があります。今回は、Windowsユーザーを対象にした「コマンドラインを利用したバッチ処理」についてのご紹介。

1.こんな場合にImageMagickを!
通常、画像加工を行う場合、Photoshopなどの画像編集ソフトを用いて行うことが多いと思います。
・一度に大量の画像を加工する場合はどうでしょう?
・その加工作業が機械的にできることなら?
このような場合には、ImageMagickを使用し、バッチ処理すること可能かもしれません。バッチ処理では、大量の画像を、あるきまった加工方法の繰り返しで、自動で、高速に処理できます。

2.ImageMagick概説
取っ掛かりとしては一番わかりやすいであろう「ImageMagick」解説ページから、機能について引用します。
display : 各種イメージの表示,編集
import : 表示されているウインドウを各種イメージファイルにダンプ
animate : 指定されたイメージのシーケンスをアニメーション化
montage : イメージをモンタージュ写真のように合成
convert : 入力されたイメージを指定された各種フォーマットに出力
mogrify : イメージの拡大・回転
identify : 指定されたイメージに関する情報を出力
引用元には、画像付きでわかりやすい、ざっくりとした機能説明があります(公式の英語ページにはもっと詳細な機能説明があります)。
convert、montageで、ファイル形式を変更したり、フィルタをかけたり、クロップ(トリミング)したり、複数画像を合成したり、などなど。
identifyでイメージ(=画像)に関する情報も取得できます。条件分岐が必要になる手の凝った画像処理の場合は、必要になります。

3.ソフトのダウンロードとインストール
バッチ化できそうな作業をお持ちの方は、早速、ImageMagickをインストールしてください。
ダウンロードは公式「ImageMagick」の左に、Binary Releasesとありますので、そちらから。
リンク先には、ダウンロード・リンクと英語で動作環境とバージョンの説明が記載されています。


うちのはこれだなと、一番上の「Win32 dynamic at 16 bits-per-pixel」をダウンロード。
セットアップが進むと、「Select Additional Tasks」というダイアログが出ます。
一番下の「Install ImageMagickObject OLE Control for VBscript, Visual Basic, and WSH」にチェックして(ここ重要!)、さらに進みます。これにチェックを入れないとWSH(後述)が使えません。


インストールが完了すれば、下準備も完了。

次回「ImageMagickによる画像加工 2」では、バッチ処理のサンプルを作ってみます。
バッチ処理には、Windows Script Host(WSH、スクリプト実行環境)と、VBScript(スクリプト言語)を使用する予定です。


【参考-Wikipedia】
ImageMagick
バッチ処理
コマンドライン
Windows Script Host
VBScript