opencv初探(二)——直方图均衡化与双线性插值缩放

本文探讨了两种图像处理技术:直方图均衡化,一种增强图像对比度的方法,通过统计像素频率并重新分配;以及双线性插值图片缩放,该算法通过抽样原图像素来实现效果良好的图像缩放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两种算法均基于上一篇所提到的图像像素遍历,通过对每个像素进行相应操作,达到总体上的目的。

一、直方图均衡化

直方图均衡化是增强图像对比度的有效方法。通过对各像素频率的统计来重新分配该像素对应的新像素,但要保证像素之间的大小关系不能翻转,是以采取累积频率来分配像素。

void equalHist(Mat inputImage, Mat &outputImage)
{
	int rowNumber = inputImage.rows;
	int colNumber = inputImage.cols;
	int total = rowNumber*colNumber;
	outputImage = Mat(rowNumber, colNumber, CV_8UC1);
	int freq[256] = { 0 };//各像素出现次数
	
	for (int i = 0; i < rowNumber; i++)
	{
		uchar *pixel_adress = inputImage.ptr<uchar>(i);
		uchar *pixel_adress2 = outputImage.ptr<uchar>(i);
		for (int j = 0; j < colNumber; j++)
		{
			freq[int(pixel_adress[j])] += 1;//对应次数+1
			//cout << "pixel: " << int(pixel_adress[j]) << endl;
		}
		
	}
	double freq2[256] = { 0 };//各像素出现频率累积,从0到255
	freq2[0] = double(freq[0]) / total;
	//cout <<"freq[255]:"<<freq[2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值