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)

出力画像(sample451a.png)

環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16
関連情報
JMagickまとめ
JMagickで2値化した画像の黒色部分の色を変え、白色分を透明にする
ImageMagickで、画像の輪郭を影で浮かび上がらせた画像を生成する (Convertコマンド)
 
No comments:
Post a Comment