Friday, August 31, 2007

ImageMagickで任意の大きさの斜め四角模様を作成する

ageMagickで任意の大きさの斜め四角模様を作成するには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 100x100 xc:none -fx "((200+j-i)%%10==0)||((i+j)%%10==0)?#404080:#7090F0" sample208a.jpg

上記の例では10x10の大きさの四角を斜めに描画しています。

出力画像(sample208a.jpg)

Thursday, August 30, 2007

ImageMagickで青っぽい部分以外が上下に揺れたような加工をする

ImageMagickで青っぽい部分以外が上下に揺れたような加工をするには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?1:0" -channel rgba ( sf.jpg -motion-blur 0x5+270 ) +swap -composite sample200a.jpg

元画像(sf.jpg)


出力画像(sample200a.jpg)


2008/01/04追記
ver6.3.7では、以下のように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba ( sf.jpg -motion-blur 0x5+270 ) +swap -composite sample200a.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.5)?1:0" -channel rgba ( sf.jpg -motion-blur 0x5+270 ) +swap -composite sample200a.jpg

ImageMagickで画像に任意の大きさのグリッドを描画する

ImageMagickで画像に任意の大きさのグリッドを描画するには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 sf.jpg -fx "i%%20==0||j%%20==0?0:p" sample207a.png

横方向の大きさはi%%<ピクセル数>の部分で指定し、
縦方向の大きさはj%%<ピクセル数>の部分で指定します。

元画像(sf.jpg)


出力画像(sample207a.png)

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値化して大き目の領域で切り取り

Tuesday, August 28, 2007

ImageMagickで横線の入った文字を描画する

ImageMagickで横線の入った文字を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x50 xc:white -fx "j%%3==0?#707070:#FFFFFF" +antialias -font Tahoma-Bold -gravity center -fill white -draw "font-size 28 text 0,0 'ImageMagick'" ( -size 200x50 xc:none +antialias -font Tahoma-Bold -gravity center -fill red -draw "font-size 28 text 0,0 'ImageMagick'" -channel a -fx "(p.r==1)?1:0" -channel rgb -fx "j%%3<2?#707070:#FFFFFF" -channel rgba ) -composite sample205a.png

上記バッチファイルでは、背景部分が3ピクセル毎に横線を引き、
文字の部分は3ピクセルのうち2ピクセルに横線を描画しています。

出力画像(sample205a.png)

Monday, August 27, 2007

ImageMagickで三角模様の背景画像を作成する

ImageMagickで三角模様の背景画像を作成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 100x100 xc:none -fx "((i%%10+j%%10)>=10)?#FFFFF0:#C0B49D" sample204s.jpg

出力画像(sample204s.jpg)


%im%\convert.exe -size 100x100 xc:none -fx "((j%%15-i%%15)>0)?#A0C0F0:#F0F0FF" sample204b.jpg

出力画像(sample204b.jpg)


関連項目
ImageMagickで三角の背景画像を生成する

Sunday, August 26, 2007

ImageMagickで画像と重なった文字以外の部分だけ白黒にする

ImageMagickで画像と重なった文字以外の部分だけ白黒にするには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 sf.jpg ( -size 200x200 xc:none +antialias -font Tahoma-Bold -gravity north -fill white -draw "font-size 28 text 0,50 'San Francisco'" ) -fx "v.p{i,j}.r!=1?(r+g+b)/4:p" sample203a.png

元画像(sf.jpg)


出力画像(sample203a.png)


逆に文字の部分だけを白黒にするには、以下を実行します。
%im%\convert.exe -size 200x200 sf.jpg ( -size 200x200 xc:none +antialias -font Tahoma-Bold -gravity north -fill white -draw "font-size 28 text 0,50 'San Francisco'" ) -fx "v.p{i,j}.r==1?(r+g+b)/4:p" sample203b.png

出力画像(sample203b.png)


関連項目
ImageMagickで、マスクした部分を白黒に変換する
ImageMagickで、青っぽい所以外を白黒にする