图像处理之灰度转换

图像转灰

一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。红色、绿色、蓝色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示“ 红,绿,蓝”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。
通道是整个Photoshop显示图像的基础。色彩的变动,实际上就是间接在对通道灰度图进行调整。通道是Photoshop处理图像的核心部分,所有的色彩调整工具都是围绕在这个核心周围使用的。
在计算机领域中,这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像。
开发工具:eclipse、opencv.
准备工作:安装eclipse、下载opencv安装包,将其配置在eclipse中。
配置方法可参照官网:
图像转灰的方法是对图像像素值进行操作,将三通道三个像素各不相同的分量值赋值成相同的值,就实现了灰度变换。
灰度变换的方法有好几种:
1.浮点算法:Gray=R0.3+G0.59+B0.11
2.整数方法:Gray=(R
30+G59+B11)/100
3.移位方法:Gray =(R76+G151+B*28)>>8;
4.平均值法:Gray=(R+G+B)/3;
5.仅取绿色:Gray=G;
本文采用的是第四种方法,代码如下:

package com;
//转灰
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ToGray {
	static {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);};
	public ToGray() {
		Mat source = Imgcodecs.imread("E://image//111.jpg");//读图片
		Mat dst = toGray(source);//调用转灰方法将结果保存在dst中
		Imgcodecs.imwrite("E://image//toGray1.jpg", dst);//将dst中的图片存在指定位置显示
	}

	Mat toGray(Mat source) {
		Mat dst = new Mat(source.size(), source.type());//获取图片的大小和类型
		for(int j = 0;j < source.height();j++) {
			for(int i = 0;i < source.width();i++) {
				double[] tmp = source.get(j, i);//获取图片像素值,注意这里的tmp是数组,存放的是该点rgb各分量值
				for(int k = 0;k < tmp.length;k++) {
					tmp[k] = (tmp[0]+tmp[1]+tmp[2])/3;//转灰,取三通道像素值和的平均值
				}
				dst.put(j, i, tmp);//将每一点的tmp值覆盖原来该点的像素值
			}
		}
		return dst;

	}

	public static void main(String[] args) {
		new ToGray();
	}

}


source
dst

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

资料加载中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值