OpenCV实现直方图均衡彩色图片和灰度图片
一、概述
案例:使用equalizeHist方法实现彩色图片和灰度图片的直方图均衡化
用处:可提高图像的对比度
基本概念:
1.直方图:直方图是数值数据分布的精确图形表示,应用在图片领域其实就是0~255之间的数值多少的精确表示。如下图的直方图:
2.直方图均衡:所谓的均衡其实就是按照一定的规则把多的地方均给少的地方,从而营造少的地方变多,多的地方变少,整体相对均匀的一种情况。
函数介绍:
equalizeHist( InputArray src,//输入图像,必须是8-bit的单通道图像 OutputArray dst// 输出结果 )
二、代码示例
1.直方图均衡化灰度图像
Mat src = imread(filePath); if(src.empty()){ return; } imshow("src",src); Mat dst; //将图像转换为灰度图像 cvtColor(src,dst,COLOR_BGR2GRAY); imshow("gray",dst); //执行直方图均衡化 equalizeHist(dst,dst); imshow("equalizeHist",dst);
2.直方图均衡化彩色图像