day4:图像二值化和LUT查找表映射

本文介绍了两种图像处理技术:二值化和LUT(查找表映射)。二值化使用固定阈值和自适应阈值进行图像分割,将像素值分为两类。LUT操作中,通过创建多个查找表实现不同灰度范围的像素值映射,展示出三种不同的映射效果。
摘要由CSDN通过智能技术生成

一:double threshold( InputArray src, OutputArray dst,  double thresh, double maxval, int type );

 

 

 

 code:

void visionagin::BinaryOperate(Mat&img)//二值化操作
{
	Mat temp=img.reshape(1, 0);
	Mat gray;
	cvtColor(img, gray, COLOR_BGR2GRAY);
	Mat output, output2;
	double min_val = 0, max_val = 0;
	Point min_p, max_p;
	minMaxLoc(temp, &min_val, &max_val, &min_p, &max_p);
	threshold(img,output, 200, max_val, THRESH_BINARY);//img可为多通道,大于阈值200的像素值都为最大值,其余为0
	adaptiveThreshold(gray, output2, max_val, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY, 5, 0);//src1必须为cv_8uc1单通道
	imshow("binary", output);
	imshow("binary2", output2);
	waitKey(0);
}

LUT查找表映射:

 代码:

void visionagin::LutOperate(Mat&img)
{
	uchar Lutfirst[256];
	for (int i = 0; i < 256; ++i)
	{
		if (i <= 100)
		{
			Lutfirst[1] = 0;
		}
		else if (i <= 150)
		{
			Lutfirst[i] = 200;
		}
		else
		{
			Lutfirst[i] = 250;
		}
	}

	uchar Lutsecond[256];
	for (int i = 0; i < 256; ++i)
	{
		if (i <= 80)
		{
			Lutfirst[1] = 0;
		}
		else if (i <= 120)
		{
			Lutfirst[i] = 150;
		}
		else if (i<=160)
		{
			Lutsecond[i] = 200;
		}
		else
		{
			Lutsecond[i] = 250;
		}
	}
	uchar Lutthird[256];
	for (int i = 0; i < 256; ++i)
	{
		if (i <= 150)
		{
			Lutthird[1] = 0;
		}
		else if (i <= 200)
		{
			Lutthird[i] = 190;
		}
		else
		{
			Lutthird[i] = 250;
		}
	}
	Mat Lut1(1, 256, CV_8UC1, Lutfirst);
	Mat Lut2(1, 256, CV_8UC1, Lutsecond);
	Mat Lut3(1, 256, CV_8UC1, Lutthird);
	vector<Mat>Luts;
	Luts.push_back(Lut1);
	Luts.push_back(Lut2);
	Luts.push_back(Lut3);
	Mat unionlut;
	merge(Luts, unionlut);//拥有三通道的查找表矩阵
	Mat output1,output2,output3, gry;
	cvtColor(img, gry, COLOR_BGR2GRAY);
	LUT(img, Lut1, output1);//第一个参数只能说CV_8U
	LUT(img, Lut2, output2);
	LUT(img, Lut3, output3);
	imshow("LUT1", output1);
	imshow("LUT2", output2);
	imshow("LUT3", output3);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值