import magick.*;
public class JMagickTest31
{
public static void main(String args[])
throws MagickException
{
MagickImage mi = new MagickImage(new ImageInfo("tree1.jpg"));
/* 画像を2値化 */
mi.thresholdImage(40000);
/* 白色を水色に変換 */
mi.opaqueImage(
PixelPacket.queryColorDatabase("white"),
new PixelPacket(0x30*256, 0x70*256, 0xa0*256, 0)
);
/* 黒色を白色に変換 */
mi.opaqueImage(
PixelPacket.queryColorDatabase("black"),
PixelPacket.queryColorDatabase("white")
);
/* ぼかし */
MagickImage mi2 = mi.blurImage(0, 3);
MagickImage mi3 = new MagickImage(new ImageInfo("tree1.jpg"));
/* 画像を2値化 */
mi3.thresholdImage(40000);
/* 白色を透明に変換 */
mi3.opaqueImage(
PixelPacket.queryColorDatabase("white"),
new PixelPacket(65535, 65535, 65535, 65535)
);
/* 黒色を水色に変換 */
mi3.opaqueImage(
PixelPacket.queryColorDatabase("black"),
new PixelPacket(0x30*256, 0x70*256, 0xa0*256, 0)
);
mi2.compositeImage(CompositeOperator.SrcOverCompositeOp,mi3,0,0);
mi2.setFileName("sample451a.png");
mi2.writeImage(new ImageInfo());
}
}
元画像(tree1.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4fG3dBoDbXN1caj8_pQ00HhwhfVgVXbCXb14qmGpCzE06qM4HrglXXQOSFAtG96p9fSwSGb3EFc6qjkjfsaAwDtOiqjk7anordfYJeoNC054GC4_8curgJewEao56_8slY8o_/s320/tree1.jpg)
出力画像(sample451a.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOtc7BgGCW3ZpQjIYfqEGMk5-gQvjaVLUqxG3A8FgrNbn9SGpFzBVmr-V_o8hm7BQ21L-PIDoDRDNZHTqFzGFFhgo8CvakEaz-RIdIOeAn6MzwSUOHlFYI0-puLgyAH3LbD8JQ/s320/sample451a.png)
環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16
関連情報
JMagickまとめ
JMagickで2値化した画像の黒色部分の色を変え、白色分を透明にする
ImageMagickで、画像の輪郭を影で浮かび上がらせた画像を生成する (Convertコマンド)
No comments:
Post a Comment