1.直方图概念
图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。是图像的统计学特征。
均衡化:是一种提高图像对比度的方法,拉伸图像灰度值范围。
2.API介绍
equalizeHist(InputArray src,OutputArray dst)
src:输入图像,必须是8-bit的单通道图像
dst:输出结果
3.代码实现
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
//直方图均衡化用于提升对比,拉伸图像灰度值范围
char inputName[] = "input name";
char outputName[] = "output name";
int main()
{
Mat src, dst,srcGray;
src = imread("D:/demo.jpg");
if (src.empty())
{
cout << "找不到图像" << endl;
return -1;
}
namedWindow(inputName, CV_WINDOW_AUTOSIZE);
namedWindow(outputName, CV_WINDOW_AUTOSIZE);
cvtColor(src, src, COLOR_BGR2GRAY);
equalizeHist(src, dst);
imshow(inputName, src);
imshow(outputName, dst);
waitKey(0);
return 0;
}