java编写图片灰度化处理,首先对图片的一些知识进行补充说明。
一:图片灰度化的处理方法:
1.最大值法(Maximum):R=G=B=Max(R,G,B),这种方法处理后灰度图象的亮度会偏高。
2.平均值法(Average):R=G=B=(R+G+B)/3,这种方法处理后灰度图象的亮度较柔和。
3.加权平均值法(Weighted Average):
R=G=B=wr*R+wg*G+wb*B,wr、wg、wb分别为R、G、B的权值。
当其权值取不同的值时,能够形成不同灰度的灰度图象,由于人眼对绿色的敏感度最高,红色次之,
蓝色最低,因此当wg > wr > wb时,所产生的灰度图像更符合人眼的视觉感受。
通常wr=30%,wg=59%,wb=11%,图像的灰度最合理。
本代码采用的是第三种加权平均值法,具体内容我代码中有详细注释.
处理前的美女图片:
灰度化处理后的美女图片:
下面贴出源代码如下:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class HuiDu {
/**
* 图片颜色的处理
* @param alpha //透明名度
* 三原色
* @param red