C/C++ OpenCV直方图均衡化

扩大图像动态范围


直方图均衡化是灰度变换的一个重要应用,高效且易于实现,广泛用于图像增强中


直方图均衡化是通过拉伸像素强度分布来增强图像对比度的一种方法


实现直方图均衡化:

equalizeHist()函数

void equalizeHist(

inputArray src,

outputArray dst

)


下面是代码:

#include ighgui/highgui.hpp>
#include 

using namespace cv;

int main()
{
	Mat srcImage = imread("1.jpg");
	if (!srcImage.data)
	{
		printf("图片加载失败!\n");
		return -1;
	}

	//定义灰度图像
	Mat gray;
	cvtColor(srcImage, gray, COLOR_RGB2GRAY);

	namedWindow("原图");
	imshow("原图", gray);

	//开始直方图均化处理
	Mat out;
	equalizeHist(gray, out);
	namedWindow("经过直方图均化后处理");
	imshow("经过直方图均化后处理", out);
	waitKey();

	return 0;
}


运行结果:

C/C++ OpenCV直方图均衡化_第1张图片


你可能感兴趣的:(C/C++,OpenCV)