直方图均衡化通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。(http://blog.csdn.net/xiajun07061225/article/details/6910129)出自这里。具体细节可以参看《数字图像处理》那本书。
L-1:最大灰度值 M:图像行数 N:图像列数 nj:灰度值为j的像素的个数 Sk:均衡化后的灰度值
#include <iostream>
#include <opencv2/opencv.hpp>
#include <vector>
using namespace std;
using namespace cv;
int main()
{
const int grayMax=255;
vector<vector<int>>graylevel(grayMax+1);