Friday, August 17, 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 -modulate 150 sf.jpg +swap -composite sample193a.jpg

元画像(sf.jpg)


青い部分だけが明るくなった画像が生成されます。
出力画像(sample193a.jpg)


青色っぽい部分を暗くする場合は、以下のバッチを実行します。
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 70 sf.jpg +swap -composite sample193b.jpg

出力画像(sample193b.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 -modulate 150 sf.jpg +swap -composite sample193a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 70 sf.jpg +swap -composite sample193b.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.4)?1:0" -channel rgba -modulate 150 sf.jpg +swap -composite sample193a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?1:0" -channel rgba -modulate 70 sf.jpg +swap -composite sample193b.jpg

No comments: