Saturday, November 03, 2007

ImageMagickで、2値化して画像を切り取って白背景でぼかす

2値化して画像を切り取って白背景でぼかすには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe sample5r.jpg -threshold 53000 -negate -matte -channel A -fx "p.r==1?1:0" -channel rgba sample5r.jpg -compose src_in -composite ( -size 100x100 xc:white ) +swap -composite -blur 0x2 sample243a.png

元画像(sample243a.png)


出力画像(sample243a.png)


関連項目
ImageMagickで二値化して大きめに選択した領域をぼかして切り取り
ImageMagickで画像の2値化切り取りと重ねあわせ処理する
ImageMagickで閾値を使用して切り取った画像に影付けする

ImageMagickで文字ごとに背景色が異なる文字列を描画する

文字ごとに背景色が異なる文字列を描画するには、以下のWSHスクリプトを実行します。

wb-letters.vbs
-----------------
Set im = CreateObject("ImageMagickObject.MagickImage.1")
rem 出力文字列(英文字のみ)
message_string = "ImageMagick"

color1="#ffffff"
color2="#000000"

For wl=1 to Len(message_string)
ch = Mid(message_string,wl,1)
If (wl mod 2) = 0 then
current1 = color1
current2 = color2
else
current1 = color2
current2 = color1
end if

im.Convert "-size", "20x20", "xc:" & current1, "-fill", current2, _
"-font", "Tahoma-Bold", "-gravity", "center", "-draw", _
"font-size 15 text 0,0 '" & ch & "'", "t" & wl & ".png"

if wl = 1 then
im.Convert "t1.png", "output.png"
else
im.Convert "output.png", "t" & wl & ".png", "+append", "output.png"
end if

Next

Set im = Nothing
-----------------

cscript.exe wb-letters.vbs

出力画像(output.png)

Sunday, October 28, 2007

ImageMagickで、画像をずらしてタイル配置する

画像をずらしてタイル配置するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe flower1.png -roll +0+10 flower1.png +append t1.png
%im%\convert.exe -size 200x200 tile:t1.png sample244a.png

元画像(flower1.png)


出力画像(sample244a.png)


以下のバッチファイルでも上の出力画像と同様の結果が得られます。

rem メモリを利用して一時的なイメージを保存、タイル描画
%im%\convert.exe flower1.png -roll +0+10 flower1.png +append -write mpr:t1 +delete -size 200x200 tile:mpr:t1 sample244a.png