【OpenCV3经典编程100例】(03)直方图处理:直方图均衡化equalizeHist()

opencv经常使用函数:直方图均衡化equalizeHist()函数,加强图像的对比度。c++

API函数:函数

//直方图均衡化
	void equalizeHist(InputArray src,//输入图像,必须为8位单通道图像!
		OutputArray dst);//输出图像

1、c++示例代码

//包含头文件 #include <opencv2/opencv.hpp> //命名空间 using namespace cv; using namespace std; //主函数 int main() { //【1】载入图像 Mat image = imread("F:\\opencvtest\\testImage\\beauty.png"); //【2】图像灰度化 Mat grayImage; cvtColor(image, grayImage, COLOR_RGB2GRAY); //【3】直方图均衡化 Mat result; equalizeHist(grayImage, result); //【4】显示图像 imshow("示例03", result); //【5】保持窗口显示 waitKey(0); return 0; }

2、运行截图

1.灰度图原图spa


2.直方图均衡化加强对比度以后code


3、数字图像处理知识点

直方图均衡化blog

1.    使一幅图像的像素占有所有可能的灰度级,且分布均匀。it

2.    特色:具备高对比度图像处理

3.    使用的方法是灰度级变换:s = T(r)opencv

4.    基本思想是把原始图的直方图变换为均匀分布的形式,这样就增长了像素灰度值的动态范围,从而达到加强图像总体对比度的效果class