【问题标题】:OpenCV 2.2 PCA and EigenFacesOpenCV 2.2 PCA 和 EigenFaces
【发布时间】:2011-02-21 20:06:29
【问题描述】:

我只是想知道 OpenCV 2.2 中的 cv::PCA::PCA 构造函数方法是否会减去均值,或者我是否必须在减去均值的情况下传递我的数据。

我测试了两种方式,但是在可视化特征面时,它们都没有给我很好的结果,只是黑屏。我没有分割错误或错误,只是没有像论文中那样得到特征脸可视化。

【问题讨论】:

    标签: opencv pca pattern-recognition


    【解决方案1】:

    我在这里发布了一个完整的示例,展示了如何使用 PCA 和显示特征脸:PCA + SVM using C++ Syntax in OpenCV 2.2(在我的页面上:http://www.bytefish.de/blog/pca_in_opencv)。

    【讨论】:

      【解决方案2】:

      似乎它们减去了 PCA 函数中的平均值(我去看了 cv::PCA 的声明)。无论如何,我无法获得特征脸可视化,它只是一个黑色窗口。我的想法是它们没有被归一化,但是没有,我打印了每个特征向量的 L2 范数,它正好是 1。

      【讨论】:

        【解决方案3】:

        我认为要获得特征脸,您需要将 PCA 特征向量投影到图像上。

        【讨论】:

        • 这不是问题,我实际上将特征向量转换为我的图像大小相同的二维数组(它们都是200x200)并显示它们,导致黑屏。问题也不在于位深度或相关的东西,我也检查过,我通过从 PCA 数据特征向量重建其中一个图像进行了测试,结果图像与原始图像相似,显然不完全是因为丢失了投影到 EigenSpace 时的信息,但显示效果很好。
        猜你喜欢
        • 2020-10-07
        • 2011-06-25
        • 1970-01-01
        • 1970-01-01
        • 2011-11-27
        • 1970-01-01
        • 2012-02-25
        • 2012-03-14
        • 2013-01-05
        相关资源
        最近更新 更多