Saturday, March 01, 2008

ImageMagickで、2値化した画像を透明に設定したり、色を変える

2値化した画像の黒色部分を透明にするには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
rem 2値化した画像の黒色部分を透明に設定
%im%\convert.exe tree1.jpg -threshold 50%% -matte -channel rgba -fill #00000000 -transparent #000000ff sample324a.png
rem 重ね合わせ例
%im%\convert.exe -size 300x225 pattern:checkerboard sample324a.png -composite sample324b.png

元画像(tree1.jpg)


重ね合わせ例(324b.png)


画像を2値化して白色部分を透明にするには、以下のバッチファイルを実行します。
%im%\convert.exe tree1.jpg -threshold 50%% -matte -channel rgba -fill #ffffff00 -transparent #ffffffff sample324c.png
rem 重ね合わせ例
%im%\convert.exe -size 300x225 pattern:checkerboard sample324c.png -composite sample324d.png

出力画像(sample324c.png):白色部分が透過色です。


重ね合わせ例(sample324d.png)


2値化後、黒色部分を水色に、白色部分を透明にするには、以下のバッチファイルを実行します。
%im%\convert.exe tree1.jpg -threshold 50%% -matte -channel rgba -fill #ffffff00 -transparent #ffffffff -fill #bbddffff -opaque #000000ff sample324e.png
rem 重ね合わせ例
%im%\convert.exe -size 300x225 pattern:checkerboard sample324e.png -composite sample324f.png

出力画像(sample324e.png):白色部分が透明になります。


重ね合わせ例(sample324f.png)


関連項目
JMagickで2値化した画像の黒色部分の色を変え、白色分を透明にする

ImageMagickで、2値化した画像の背景をバンド状のグラデーションにする

2値化した画像の背景をバンド状のグラデーションにするには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe tree1.jpg -threshold 50%% -matte -channel rgba -fill #00000000 -transparent #000000ff ( -size 1x1 xc:#3070A0FF xc:#FFFF10FF -append -resize 1x8! -filter Point -resize 300x225! ) -compose src_in -composite sample326a.png

元画像(tree1.jpg)


出力画像(sample326a.png)


関連項目
ImageMagickで2値化したのちグラデーションで塗りつぶす

Thursday, February 28, 2008

ImageMagickで、角がへこんだ四角を描画する

角がへこんだ四角を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe -size 200x150 xc:#00000000 -matte -channel rgba -fill #FFFFFFFF -draw "rectangle 0,0 20,20" -roll -10-10 -negate -gravity center -background none -extent 220x170 -fx "p.r==1?#BBDDFF:0" sample322a.png

出力画像(sample322a.png)


へこんだ角を丸くするには、ぼかしをかけて2値化します。
%im%\convert.exe -size 200x150 xc:#00000000 -matte -channel rgba -fill #FFFFFFFF -draw "rectangle 0,0 20,20" -roll -10-10 -negate -gravity center -background none -extent 220x170 -blur 0x2 -threshold 50%% -fx "p.r==1?#BBDDFF:0" sample322b.png

出力画像(sample322.png)


角がへこんだ形に画像を切り取るには、以下のバッチファイルを実行します。
%im%\convert.exe -size 280x205 xc:#00000000 -matte -channel rgba -fill #FFFFFFFF -draw "rectangle 0,0 40,40" -roll -20-20 -negate -gravity center -background none -extent 300x225 -blur 0x4 -threshold 50%% sf2.jpg -compose src_in -composite xc:white +swap -composite sample322c.jpg

出力画像(sample322c.jpg)




Wednesday, February 27, 2008

ImageMagickでコントラストを落とす

ImageMagickで+contrastでコントラストを落とすこともできますが、
以下のバッチの方法で、コントラストを落とすこともできます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sf2.jpg -fx "p*0.6+0.2" sample321a.png
rem 彩度を落として、青っぽく着色
%im%\convert.exe sf2.jpg -fx "luminosity*0.2+0.4" -fill #bbddff -tint 120 sample321b.png

元画像(sf.jpg)


出力画像(sample321a.png)


出力画像(sample321b.png)


2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf2.jpg -fx "p*0.6+0.2" sample321a.png
%im%\convert.exe sf2.jpg -fx "lightness*0.2+0.4" -fill #bbddff -tint 120 sample321b.png

関連項目
ImageMagickでコントラストを変更する

Tuesday, February 26, 2008

ImageMagickで、画像のヒストグラムを生成する

画像のヒストグラムを生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sf2.jpg histogram:sample320.png

元画像(sf2.jpg)


出力画像(sample320.png)


関連項目
im4javaで画像のヒストグラムを出力する (im4javaでの同様の処理)

Monday, February 25, 2008

ImageMagickで、縁を明るくして角丸四角に切り取る

縁を明るくして角丸四角に切り取るには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sf2.jpg -matte -channel rgba ( -size 300x225 xc:none -strokewidth 0 -stroke white -fill white -draw "roundrectangle 10,10 289,214 30,30" ) -compose dst_in -composite ( sf2.jpg -modulate 150 ) +swap -compose src-over -composite -matte ( -size 300x225 xc:none -strokewidth 10 -draw "roundrectangle 10,10 289,214 30,30" ) -compose dst_in -composite sample319a.png
rem 重ねあわせ例
%im%\convert.exe -size 300x225 xc:#353030 sample319a.png -composite sample319b.jpg

元画像(sf2.jpg)


出力画像(sample319a.png):黒色部分は透過します。


重ね合わせ例(sample319b.jpg)


関連項目
ImageMagickで画像を角丸四角に切り取って文字入れをする
ImageMagickとPHPで縁を明るくして角丸四角に切り取る

Sunday, February 24, 2008

ImageMagickで、青っぽい部分を任意の2色のグラデーションに置き換える

青っぽい部分を任意の2色のグラデーションに置き換えるには、以下のバッチファイルを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgb -fx "luminosity" ( -size 1x1 xc:#bbddff xc:#f8ff32 -append ) -fx "v.p{0,(p-0.5)*2}" -size 200x200 sf.jpg +swap -composite sample318a.jpg

元画像(sf.jpg)


出力画像(sample318a.jpg)


2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.45)?1:0" -channel rgb -fx "lightness" ( -size 1x1 xc:#bbddff xc:#f8ff32 -append ) -fx "v.p{0,(p-0.5)*2}" -size 200x200 sf.jpg +swap -composite sample318a.jpg

関連項目
ImageMagickで、青っぽい所以外を白黒にする
ImageMagickで画像を任意の2色グラデーションの画像に変換する
ImageMagickで青色部分・青色以外の部分をぼかす