Tuesday, March 16, 2010

Java2DとJava Image Filters(pixels)を使用して画像をぼやけたセピア調に変換する

Java2DとJava Image Filters(pixels)を使用して画像をぼやけたセピア調に変換するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.composite.*;
import com.jhlabs.image.*;

public class Java2DTest71
{
public static void main(String args[])
throws Exception
{
/* 画像をぼやけたセピア調に変換する */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));

// 拡散
DiffuseFilter gf = new DiffuseFilter();
gf.setScale(1);
BufferedImage img2 = gf.filter(img, null);
// メディアンフィルタ
MedianFilter mf = new MedianFilter();
img2 = mf.filter(img2, null);
// グレースケールフィルタ
GrayscaleFilter grf = new GrayscaleFilter();
img2 = grf.filter(img2, null);

// コントラストを150%
ContrastFilter ctf = new ContrastFilter();
ctf.setContrast(1.5f);
img2 = ctf.filter(img2, null);

BufferedImage img3 = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);
FillFilter ff = new FillFilter(0xffffbb33);
BufferedImage img4 = ff.filter(img3, null);

CompositeFilter cf = new CompositeFilter(
MiscComposite.getInstance(MiscComposite.BLEND, 0.5f));

BufferedImage img5 = cf.filter(img2, img4);
ImageIO.write(img5, "png", new File("sample1972a.png"));
}
}


元画像(sf2.jpg)


出力画像(sample1972a.png)
Java2DとJava Image Filtersでぼやけたセピア調に変換した画像

関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

No comments: