由于自己渣渣的编程水平,很简单的直方图匹配竟然被我整了好几天。
直方图匹配算法思想:
1.求出参考影像和待处理影像的累积直方图。
这里的参考影像和待处理的影像像素大小不要求一致,累积直方图求解的是影像像素(0-255)的累积概率,也就是将其归一化。
//获取影像的直方图,下面代码为单波段
unsigned char*buffer=new unsigned char[width*height];
image.DataReadBand(1,1,1,width,height,width,height,buffer);//此行代码使用GDAL中的RasterIO来读取图像,不能照搬,否则不对。
vector<long> nums(256,0);
for(int i=0;i<height;i++)
{
for(int j=0;j<width;j++)
{