02灰度化

灰度化

处理三个通道的数据比较复杂,我们先将图像进行灰度化处理,灰度化的过程就是将每个像素点的RGB值统一成同一个值。灰度化后的图像将由三通道变为单通道,单通道的数据处理起来就会简单许多。
通常这个值是根据RGB三通道的数值进行加权计算得到。人眼对RGB颜色的敏感度不同,对绿色最敏感,权值较高,对蓝色最不敏感,权值较低。坐标为(x,y)的像素点进行灰度化操作的具体计算公式如下:

Y = 0.2126   R + 0.7152   G + 0.0722   B Y = 0.2126\ R + 0.7152\ G + 0.0722\ B Y=0.2126 R+0.7152 G+0.0722 B

代码实现

#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include<iostream>
using namespace cv;
//灰度化
Mat BGR2GRAY(Mat img)
{
	//获取图像宽高
	int height = img.rows;
	int width = img.cols;
	//输出图像画布
	Mat out = Mat::zeros(height,width, CV_8UC1);
	//遍历图像
	for (int y = 0; y < height; y++)
	{
		for (int x = 0; x < width; x++)
		{
			// BGR -> Gray uchar 是单通道;vec3b是三通道
			out.at<uchar>(y, x) = 0.2126 * (float)img.at<Vec3b>(y, x)[2] + 0.7152 * (float)img.at<Vec3b>(y, x)[1] + 0.0722 * (float)img.at<Vec3b>(y, x)[0];
		}
	}
	return out;
}
int main()
{
	Mat img = imread("lena.jpg");
	imshow("origin", img);
	Mat out = BGR2GRAY(img);
	imshow("sample", out);
	waitKey(0);
	return 0;

}

结果显示

原图
在这里插入图片描述结果
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用HALCON修改图像的灰度,可以使用以下步骤: 1. 使用函数rgb1_to_gray将彩色图像转换为灰度图像\[1\]。 2. 使用函数get_domain获取灰度图像的域\[1\]。 3. 使用函数get_region_points获取域中每个坐标的灰度值\[1\]。 4. 使用函数get_grayval获取图像中指定坐标的灰度值\[1\]。 5. 使用函数Graycal将灰度值进行计算和赋值\[1\]。 6. 使用函数set_grayval将计算后的灰度值赋值给图像的指定坐标\[1\]。 7. 使用函数write_image将修改后的图像保存为指定格式的文件\[1\]。 此外,如果图像中存在非常亮或非常暗的像素值,可以使用函数scale_image_range进行归一化处理\[2\]。该函数可以根据当前图像情况自动确定参数,使得变换后的图像灰度值覆盖最大取值范围。 总结起来,要修改图像的灰度,可以使用HALCON提供的函数来进行转换、获取、计算和赋值操作,并可以使用归一化方法来改善处理效果\[1\]\[2\]\[3\]。 #### 引用[.reference_title] - *1* [halcon修改图像的灰度02](https://blog.csdn.net/qq_43069920/article/details/120660782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [HALCON灰度值变换](https://blog.csdn.net/m0_47015717/article/details/110292859)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值