【问题标题】:PCA in OpenCV and how to prepare data?OpenCV中的PCA以及如何准备数据?
【发布时间】:2011-11-05 04:38:40
【问题描述】:

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

A 3 8 7

B 2 4 5

如果我想在 OpenCV 中创建 PCA 模型,我必须对数据做什么?我是否必须减去平均值(例如从其数据点中减去 A 的平均值)还是 PCA 函数会这样做?

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

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

干杯...

【问题讨论】:

    标签: opencv pca


    【解决方案1】:

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

    OpenCV 参考手册:

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

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

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

    如需完整文档,请查看您安装的 doc/ 文件夹中的 opencv.pdf 文件。在某些版本中,它被命名为 opencv2refman.pdf

    还可以尝试查找 Gary Bradsky 所著的《Learning OpenCV》一书,它的解释非常好。

    【讨论】:

      猜你喜欢
      • 2019-05-27
      • 1970-01-01
      • 2021-10-18
      • 2014-04-02
      • 2016-11-07
      • 1970-01-01
      • 2017-06-04
      • 2015-08-01
      • 1970-01-01
      相关资源
      最近更新 更多