主成分分析法的图像融合

时间:2018-08-27 20:14:11

标签: c++ image opencv pca fusion

我试图用C ++和OpenCV实现基于PCA的图像融合,但我不明白,这确实是我必须做的。正如我在一些基于PCA的图像融合的教程中所读到的那样,当有两个相同大小的图像I1和I2的灰度级为NxM时,算法为:

  1. 创建一个大小为NMx2的矩阵,其中第1列是I1的像素值,第2列是I2的像素值。
  2. 在一些教程中,我发现这对于找到1列的平均值并从1列中提取出来,以及2列的平均值并从第二列中提取出来是必要的。有必要吗?
  3. 找到此矩阵MNx2的协方差矩阵。
  4. 找到此协方差矩阵的特征值和特征向量。 在其中一本教程中,我读到有必要选择一个特征向量,该特征向量对应于较大的特征值并将其标准化。 在OpenCV中,当使用cv :: eigen()函数时,它将返回特征向量,这些特征向量尚未进行标准化。在其中一个教程中,我读到获得的组件之和应为P1 + P2 = 1。

因此,如果我得到特征向量,对应于较大的特征值,例如像eigen = (0,705353; 0,71453) = (u, v),那是融合图像I_fus的公式吗? I_fus = u*I1+v*I2?要么 I_fus = u/(u+v)*I1+v/(u+v)*I2? 还是我错了,还有一个用于融合图像的公式?

0 个答案:

没有答案