加权融合算法的介绍与特性,可参考http://www.cnblogs.com/silence-hust/p/4193150.html。
简单加权融合的确是最简单的融合算法了。其主要的原理就是分别给全色影像与多光谱影像一个权重a,b,那么融合影像的某一波段上(i,j)像素值为:F'(i,j)=a*Pan(i,j)+b*Ms'(i,j)。
对于加权融合而言,其重点则是在于如何确定出权重a和b能够得到最佳的融合效果。这里讲一下基于相关系数的加权融合算法实现。
核心代码:
//1.计算各波段均值
double PanMean = 0;
double *MSMean = new double[nRastercount];
memset(MSMean,0,sizeof(double)*nRastercount);
double *sumvalue = new double[nRastercount+1];
memset(sumvalue,0,sizeof(double)*(nRastercount+1));
for (int i = 0;i < height;i++)
{
for (int j = 0;j < width;j++)
{
sumvalue[nRastercount]