实现直方图的均衡化算法。
直方图均衡化的中心思想 -- 将原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内,以达到增强对比度的效果。使得前景和背景区别更加明显。
除了灰度图以外,彩色图像(三通道、四通道等)处理方法思想是一样的,即各通道像素颜色的均衡化
最终效果如下:
其中左侧是原图,右侧是经过均衡化处理的图片。
实现代码如下:
#include<cxcore.h>
#include<cmath>
#include<math.h>
#include<cv.h>
#include<highgui.h>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
void Hist_Eql(Mat image)
{
//计算像素分布
int NumPixel[4][256] = { 0 };
for (int y = 0; y < image.rows; ++y)
for (