Friday, August 29, 2008

Java2DとJava Image Filters(pixels)を使用して輝度・コントラストを変更する

Jerry Huxtableさんが公開しているJava Image Filtersを使用して、輝度・コントラストを変更するには、以下のコードを実行します。

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

public class Java2DTest20
{
public static void main(String args[])
throws Exception
{
/* 明るさ・コントラストを変更する */
BufferedImage img = ImageIO.read(new File("sf.jpg"));

ContrastFilter cf = new ContrastFilter();
/* 明るさを50%に */
cf.setBrightness(0.5f);
BufferedImage img2 = cf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample545a.jpg"));

ContrastFilter cf2 = new ContrastFilter();
/* コントラストを150% */
cf2.setContrast(1.5f);
BufferedImage img3 = cf2.filter(img, null);
ImageIO.write(img3, "jpg", new File("sample545b.jpg"));

}
}

元画像(sf.jpg)


出力画像(sample545a.jpg)


出力画像(sample545b.jpg)


関連項目
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: