我只是想知道 OpenCV 2.2 中的 cv::PCA::PCA 构造函数方法是否会减去均值,或者我是否必须传递已减去均值的数据。
我测试了两种方式,但是在可视化特征面时,它们都没有给我很好的结果,只是一个黑屏。我没有分段错误或错误,只是没有像论文中那样获得特征脸可视化。
我只是想知道 OpenCV 2.2 中的 cv::PCA::PCA 构造函数方法是否会减去均值,或者我是否必须传递已减去均值的数据。
我测试了两种方式,但是在可视化特征面时,它们都没有给我很好的结果,只是一个黑屏。我没有分段错误或错误,只是没有像论文中那样获得特征脸可视化。
我发布了一个完整的示例,展示了如何使用 PCA 并在此处显示特征脸:PCA + SVM using C++ Syntax in OpenCV 2.2(在我的页面上:http ://www.bytefish.de/blog/pca_in_opencv )。
似乎它们减去了 PCA 函数中的平均值(我去看了 cv::PCA 的声明)。无论如何,我无法获得特征脸可视化,它只是一个黑色窗口。我的想法是它们没有被归一化,但是不,我打印了每个特征向量的 L2 范数,它正好是 1。
我认为要获得特征脸,您需要将 PCA 特征向量投影到图像上。