OpenCV中的PCA以及如何准备数据?

时间:2011-11-05 04:38:41

标签: opencv pca

我只是想澄清一下OpenCV中的PCA。假设我有两行数据(A,B)。

A 3 8 7

B 2 4 5

如果我想在OpenCV中创建PCA模型,我该如何处理数据?我是否必须减去均值(例如从数据点中减去A的平均值)或者PCA函数是否这样做?

有人说OpenCV PCA期望数据被标准化(在0和1之间)。如果是这样,我该如何规范化?

希望有人可以为我澄清这一点,因为OpenCV中的PCA在网络上的记录非常糟糕。

干杯...

1 个答案:

答案 0 :(得分:3)

OpenCV中的PCA数据需要才能进行标准化。但是如果你已经有了平均值(从一些previuos计算),你可以将它发送到PCACompute()函数来加快它。

OpenCV refman:

  

PCACompute(data [,mean [,eigenvectors [,maxComponents]]])!mean,eigenvectors   参数

     
      
  • data - 输入样本存储为矩阵行或矩阵列。
  •   
  • mean - 可选的平均值。如果矩阵为空(noArray()),则计算平均值   来自数据。
  •   

有一篇关于数据规范化的文章on Wikipedia

有关完整文档,请查看应该位于安装的doc /文件夹中的opencv.pdf文件。在某些版本中,它名为opencv2refman.pdf

还试图找到Gary Bradsky撰写的“学习OpenCV”这本书,它不仅仅是为了解读。