OpenCv学习22——直方图均衡化

  1. 直方图均衡化简介:
    首先我们介绍什么是图像直方图:图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现的频率次数,由此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况,是图像的统计学特征
    OpenCv学习22——直方图均衡化_第1张图片
    OpenCv学习22——直方图均衡化_第2张图片
    而直方图的均衡化则是一种提高图像对比度的方法,用于拉伸图像的灰度值范围
    OpenCv学习22——直方图均衡化_第3张图片
    直方图的均衡化的实现方法:通过上一节课中的remap我们知道可以将图像灰度分布从一个分布映射到另外一个分布,然后在得到映射后的像素值即可

  2. 用到的API:
    仅用到一个简单的API即

    CV_EXPORTS_W void equalizeHist( InputArray src, OutputArray dst );
    

    唯一需要我们注意的即是输入图像应为8位的灰度图像

3.实验代码及实验效果:

```
#include "stdafx.h"
#include "iostream"
#include "opencv2\opencv.hpp"

using namespace std;
using namespace cv;


int main()
{
	Mat src, dst;
	src = imread("G:/He/opencv_images/test.jpg");
	if (src.empty())
	{
		cout << "could not load the images..." << endl;
		return -1;
	}
	namedWindow("input_images", CV_WINDOW_AUTOSIZE);
	namedWindow("output_images", CV_WINDOW_AUTOSIZE);
	cvtColor(src, src, CV_BGR2GRAY);
	equalizeHist(src, dst);
	imshow("input_images", src);
	imshow("output_images", dst);
	waitKey(0);
	destroyAllWindows();
    return 0;
}
```

你可能感兴趣的:(数字图像处理,OpenCv学习,直方图均衡化)