直方图均衡化(Histogram Equalization)
1、直方图概念;
2、直方图均衡化;
3、API说明;
4、代码演示;
直方图(Histogram)
1、像素直方图:对图像像素点的像素等级进行统计得到的直方图;纵坐标:出现频率,横坐标:灰度等级;RGB直方图;反应了图像灰度的分布情况,是图像的统计学特征;
2、图像的一切属性值,都可以建立直方图:不是只有像素直方图,还有梯度直方图,方向直方图,RGB直方图,灰度直方图等;直方图属性:①dims(维度);②bins(子区域大小);③range(值范围);
直方图均衡化
1、直方图均衡化:即直方图拉伸,拉伸图像灰度值范围,是一种提高图像对比度的方法;直方图均衡化将出现频率尽量均匀分布到整个直方图空间;
2、直方图均衡化实现方法:1、先统计第i个灰度出现的总次数,2、将其进行重映射;
直方图均衡化API
1、API : equalizeHist()
, hist : 直方图
//use
equalizeHist(
InputArray src, //输入图像,必须是8bit的单通道图像
OutputArray dst //输出结果
)
Code
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src,dst;
src = imread("C:\\Users\\hello\\Desktop\\18.jpg");
if (src.empty())
{
cout << "could not load the image..." << endl;
return -1;
}
namedWindow("input image", CV_WINDOW_AUTOSIZE);
imshow("input image", src);
Mat temp;
cvtColor(src, temp, CV_BGR2GRAY);
equalizeHist(temp, dst);
imshow("Histogrm Equalization Image", dst);
waitKey(0);
return 0;
}
效果
直方图均衡化效果:对比度增强