ImageMagickメモ
提供: Astarisk Works Wiki
目次 |
画像形式を変換する
JPEGからPNGに変換するには次のようにする
> convert rose.jpg rose.png
サイズを変更する
サイズを変更するにはconvertの-resizeオプションを使う。
-resizeオプションの引数は 幅x高さ。
次はカレントディレクトリ内のJpegファイルを1024x1024ピクセルに変換し、output***.jpgというファイル名で出力する例。(***は000から始まる3桁の連番)
> convert *.jpg -resize 1024x1024 output%03d.jpg
-resizeでは画像のアスペクト比は保つので1600x1200のjpegは1024x768にリサイズされる。
次の例のようにサイズをパーセント指定することも可能
> convert -resize 50x50% input.jpg output.jpg
画像の一部を切り取る(トリミングする)
画像からピクセル数で指定した領域を切り取るにはconvertの-cropオプションを使う
-cropの引数は (幅)x(高さ)+(横開始位置)+(縦開始位置)。 横開始位置、縦開始位置は切り取る領域の左上の座標。
次はsample.jpgの左上から1024x800ピクセルの領域を切り出し、output.jpgとして保存する例。
> convert sample.jpg -crop 1024x800+0+0 output.jpg
静止画からスライドショー動画を作る
複数のJPEG等の画像からスライドショーの動画を生成することができる。
たとえばimage-001.jpgからimage-100.jpgの連番が振られたJPEGファイルからtest.mpgという名称のMPEGにする場合には次の様にする。
> convert -delay 100 image.jpg test.mpg
ここで-delayパラメータは個々の画像の切り替え間隔で1/100秒で指定する。上記の例だと1秒に1枚ずつ画像が切り替わる。
静止画に文字を書き込む
次のコマンドではinput.jpgというJPEGファイルに"日本語も大丈夫" という文字を追加し、output.jpgに出力する。
ちなみに-drawがビットマップに文字や図形を書き込むオプション。必要ならば複数つけることができる。
convert -font /usr/share/fonts/truetype/ttf-japanese-gothic.ttf -pointsize 30 -fill blue -draw "text 200,300'日本語も大丈夫'" input.jpg output.jpg
次のシェルスクリプトは実行ディレクトリのJPG画像にそのファイル名とサイズを記入する例
#!/bin/bash
###############################################################################
#
# ImageMagickを利用した画像にそのファイル名とサイズ(幅x高さ)を埋め込むスクリプト
#
###############################################################################
FONT=/usr/share/fonts/truetype/ttf-japanese-gothic.ttf
COLOR=red
mkdir out
for fname in ./*.jpg ; do
#画像のサイズの取得
geometory=$(identify ${fname}| cut -d " " -f 3)
width=$(echo $geometory | cut -d "x" -f 1)
height=$(echo $geometory | cut -d "x" -f 2)
SIZE=$(($height/10))
#ファイル名の座標を計算
name_x=$(($width/10))
name_y=$(($height-$height/10))
#画像ファイルの座標を計算
geo_x=$(($width-($width/10)*4))
geo_y=$(($height/10))
#画像への挿入
DRAW_NAME="text ${name_x},${name_y} '${fname}'"
DRAW_GEO="text ${geo_x},${geo_y} '${geometory}'"
convert -font $FONT -pointsize $SIZE -fill $COLOR -draw "${DRAW_NAME}" -draw "${DRAW_GEO}" $fname ./out/${fname}
done
様々な例
参考
ImageMagick: Convert, Edit, and Compose Images(本家)