OpenCV黑白图像增强——灰度级切片

前言

在OpenCV中,在Mat中,表达图像的值是0到255,0为黑色,255为白色,而已灰度级切片对灰度图像做二值映射讲处理,给一个阈值,按这个阈值去分层,大于这个阈的赋一个值,小于赋一个值,在灰度图像中它的作用是在整个灰度级范围内将设定窗口内的灰度和其他部分分开,为了达到突出图像中具有一定灰度范围的区域。

代码:

void binaryMap(cv::Mat &src, cv::Mat &dst,int threshold)
{
	if (src.channels() != 1)
	{
		cv::cvtColor(src, src, cv::COLOR_BGR2GRAY);
	}

	dst = src.clone();
	int rows = dst.rows;
	int cols = dst.cols;
	if (dst.isContinuous())
	{
		cols *= rows;
		rows = 1;
	}

	uchar *p_data_mat;

	for (int j = 0; j < rows; j++)
	{
		p_data_mat = dst.ptr<uchar>(j);
		for (int i = 0; i < cols; i++)
		{
			if (p_data_mat[i] > threshold)
			{
				p_data_mat[i] = 255;
			}
			else
			{
				p_data_mat[i] = 0;
			}
		}
	}
}

运行结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

知来者逆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值