黑白图像只有黑白两种颜色,所以用灰度值0-255来表示黑白的比例。
在彩色图像中有RGB三种颜色的分量来表示颜色,当R=G=B时,就显示出灰色。
由RGB来求得灰度值的方法有好几种,可以取RGB的比例3:6:1,这样算出的灰度应用到图像中就能生成不错的黑白图像。
下面放出2张效果图,分别是原图和转换的黑白图:
根据上面的RGB比例公式得出一个计算灰度值得函数
//计算像素点的灰度
public static int getGray(Color pixel) {
return (pixel.getRed()*30+pixel.getGreen()*60+pixel.getBlue()*10)/100;
}
接下来就是读取一个图片到BufferedImage然后遍历面一个像素点的颜色,用getGray算出灰度值再赋值成为该点新的颜色值(R=G=B=算出的灰度值)
代码如下
Java实现彩色图像转灰度图像

本文介绍了如何使用Java将彩色图像转换为灰度图像。通过取RGB颜色分量的比例3:6:1,计算出灰度值,并应用于图像的每个像素,从而生成黑白效果。文中提供了一个计算灰度值的函数以及实现转换的代码示例。
最低0.47元/天 解锁文章
661

被折叠的 条评论
为什么被折叠?



