ImageMagick使って画像をCUIで一括縮小、ファイル形式変更
まずはじめに
こいつ、ImageMagickのロゴなんだけど見た瞬間グッと来るものがあったよ。
かわいすぎて鼻血でた。
概要
"ImageMagick(イメージマジック)は画像を操作したり表示したりするためのソフトウェアスイートである。GIF、JPEG、JPEG 2000、PNG、PDF、Photo CD、TIFF、DPXなど100種類以上の画像ファイルフォーマットに対応している。GPL互換でより制限が緩い独自ライセンスが適用されている。" - wiki: ImageMagick
で、公式に飛びました。
http://www.imagemagick.org/script/index.php/
今度はお祖父”様”っていうか、威厳漂う感じになっちゃってまぁ〜。
(服の色、赤にしたらサンタさんだね)
リサイズ、反転、ミラー、回転、変形、裁断、色味調整、エフェクト、テキスト、線、多角形、楕円、ベジェ曲線を描画などなど、縮小や形式変更以外にも色々できるみたいですね。
長いお付き合いになりそうな予感です。
インストール
http://www.imagemagick.org/script/binary-releases.php#macosx
Homebrew でインストールした ImageMagick の場所 (2012-03-21)
$ brew install ImageMagick
使い方
ImageMagickの基本的な使い方
ImageMagick: 使い方
コマンド
コマンド | 内容 |
---|---|
display | 各種イメージの表示,編集 |
import | 表示されているウインドウを各種イメージファイルにダンプ |
animate | 指定されたイメージのシーケンスをアニメーション化 |
montage | イメージをモンタージュ写真のように合成 |
convert | 入力されたイメージを指定された各種フォーマットに出力 |
mogrify | イメージの拡大・回転 |
identify | 指定されたイメージに関する情報を出力 |
今のところ直近で使う予定はconvertかな。
convert オプション
+adjoin
複数からなるファイル(例えばAnimation GIFやページ数のあるPSなど)を1枚1枚別ファイルに変換
ex) convert +adjoin magick-anime.gif magick.gifantialias
アンチエイリアシング処理-append,+append
同じサイズの画像を結合 。+appendで左右方向、-appendで上下方向
ex) convert +append magick1.gif magick2.gif magick-append.gif-average
画像の混ぜ合わせ。重ね合わせとは異なる
ex) convert -average magick1.gif magick2.gif magick-average.gif-blur
x
ぼかし
ex) convert -blur 1x1 magick1.gif magick-blur.gif-border
x
画像に縁をつける。widthは左右の縁、heightは上下の縁の厚さ
ex) convert -border 5x5 magick1.gif magick-border.gif-bordercolor
画像に縁の色を指定
ex) convert -bordercolor red magick1.gif magick-bordercolor.gif-channel
画像の特定のチャンネルを強調。typeで指定できるのはRed、Green、Blue、Matte
ex) convert -channel red magick1.gif magick-channel-red.gif-charcoal factor
木炭絵のような効果。 ex) convert -charcoal 1 magick1.gif magick-charcoal.gif-colorize value カラー処理。valueはR/G/Bで指定
ex) convert -colorize 0/0/20 magick1.gif magick-colorize.gif-contrast
コントラスト強調
ex) convert -contrast magick1.gif magick-contrast.gif-crop
x {+,-} {+,-}
クロッピング。%指定可能。offsetは左上が+0+0。%指定時はoffset指定無効
ex) conver -crop 50% magick1.gif magick-crop.gif
ex) *conver -crop 50x50+0+20 magick1.gif magick-crop2.gif *-deley <1/100ths of a second>
次の画像に切り替わるまでの時間を指定。AnimationGIFなどを作成する場合に指定
ex) convert -delay 100 -loop 0 magick[1-2].gif magick-anime.gif-edge order
エッジング処理。orderの適正値は3から31
ex) convert -edge 3 magick1.gif magick-edge.gif-emboss value
エンボス処理
ex) convert -emboss 3 magick1.gif magick-emboss.gif-equalize
均等化
ex) convert -equalize magick1.gif magick-equalize.gif-flip,-flop
鏡像。lipは上下方向、flopは左右方向
ex) convert -flip magick1.gif magick-flip.gif * ex) convert -flop magick1.gif magick-flop.gif*-frame
x + +
フレームをつける。
ex) convert -frame +15+15+4+4 magick1.gif magick-frame.gif * フレームの色は -mattecolorで指定
ex) convert -frame +15+15+4+4 -mattecolor red magick1.gif magick-frame-color.gif *-gamma
ガンマ補正。RGBで指定する場合は1.7/2.3/1.2のような指定に
ex) convert -gamma 1.7/2.3/1.2 magick1.gif magick-gamma.gif-geometry
x {+,-} x
サイズ変更。%指定可
ex) convert -geometry 30x30 magick1.gif magick-geometry.gif-implode factor
中央に集中点
ex) convert -implode 1 magick1.gif magick-implode.gif-interlace type
インターレース処理-transparent color
画像内の colorの色の部分を透過に
ex) convert -transparent white magick1.gif magick-transparent.gif-monochrome
画像をモノクロに
ex) convert -monochrome magick1.gif magick-monochrome.gif-negate
すべての色をその補色で置換
ex) convert -negate magick1.gif magick-negate.gif-median order
メディアン処理。画素の濃度値を小さい順にソートし、その中央値を出力値と置換 。orderの適正値は3から31
ex) convert -median 3 magick1.gif magick-median.gif-raise
x
縁の立体化。ボタン状に
ex) convert -raise 5x5 magick1.gif magick-raise.gif-roll {+,-}
{+,-}
画像をロールさせる。+x offsetで左から右方向へ、+y offsetで上から下方向へ
ex) convert -roll +30+30 magick1.gif magick-roll.gif-rotate
画像を回転。+で時計回り、-で反時計回りに
ex) convert -rotate +90 magick1.gif magick-rotate.gif-segment
x
セグメント
ex) convert -segment 1x1 magick1.gif magick-segment.gif-shade
x
影をつける。azimuthの与え方がよくわからない
ex) convert -shade 100x30 magick1.gif magick-shade.gif-spread amount
拡散化
ex) convert -spread 1 magick1.gif magick-spread.gif-swirl degrees 渦状に
ex) convert -swirl 400 magick1.gif magick-swirl.gif-threshold value スレショルド処理。valueでスレショルド値(白と黒にわける境界値)を指定
ex) convert -threshold 20000 magick1.gif magick-threshold.gif-wave
x
波状。amplitudeで振幅を、wavelengthで波長を指定
ex) convert -wave 10x20 magick1.gif magick-wave.gif