Java图像反像处理
先上图效果如下:
样例输入:
样例输出:
代码:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ch1 {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedImage bi=ImageIO.read(new File("1.jpg")); //读取图像
BufferedImage nbi=fanxiang(bi); //处理图像
ImageIO.write(nbi, "jpg", new File("1b.jpg")); //输出图像
}
private static BufferedImage fanxiang(BufferedImage bi) {
int w=bi.getWidth();
int h=bi.getHeight();
System.out.println("W:"+w+";h"+h);
BufferedImage nbi=new BufferedImage(w,h,BufferedImage.TYPE_3BYTE_BGR);
for (int y=0;y<h;y++){
for(int x=0;x<w;x++){
int pixel=bi.getRGB(x, y);
Color c=new Color(pixel){
int r=255-c.getRed();
int g=255-c.getGreen();
int b=255-c.getBlue();
Color nc=new Color(r.g.b);
nbi.setRGB(x,y,nc.getRGB());
}
}
return nbi;
}
}