Wednesday, August 29, 2007

ImageMagickで二値化して大きめに選択した領域をぼかして切り取り

ImageMagickで二値化して大きめに選択した領域をぼかして切り取りするには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sample5.jpg ( sample5.jpg -threshold 53000 -channel A -fx "p.r==1?0:1" -blur 0x2 -fx "p.a>0?1:0" -blur 0x2 ) -channel a -fx "v.p{i,j}.a" -channel rgba sample206a.png
%im%\convert.exe -size 100x100 xc:black sample206a.png -composite sample206b.jpg

上記バッチファイルでは、1回目の-blurで領域を増やして領域を増やして、
再度0と1に-fxで計算してから、2回目の-blurでぼかしています。

元画像(sample5.jpg)


出力画像(sample206a.png)


黒背景と重ねあわせ例(sample206b.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sample5.jpg ( sample5.jpg -threshold 53000 -matte -channel A -fx "p.r==1?0:1" -blur 0x2 -fx "p.a>0?1:0" -blur 0x2 ) -matte -channel a -fx "v.p{i,j}.a" -channel rgba sample206a.png
%im%\convert.exe -size 100x100 xc:black sample206a.png -composite sample206b.jpg

関連項目
ImageMagickで画像を2値化して大き目の領域で切り取り

No comments: