用于人脸识别的PCA:OpenCV
我正在使用OpenCV c++进行人脸识别:我已经测试了OpenCV为PCA提供的代码:它返回我的特征向量和平均值,但是我如何使用它来测试图像以进行识别 我阅读了一些文章来理解PCA的过程。我可以手动实现协方差矩阵、权重等,但我想尝试OpenCV PCA函数用于人脸识别的PCA:OpenCV,opencv,face-recognition,Opencv,Face Recognition,我正在使用OpenCV c++进行人脸识别:我已经测试了OpenCV为PCA提供的代码:它返回我的特征向量和平均值,但是我如何使用它来测试图像以进行识别 我阅读了一些文章来理解PCA的过程。我可以手动实现协方差矩阵、权重等,但我想尝试OpenCV PCA函数 请提供帮助查看下面的链接,我认为它应该很有用: Opencv的人脸识别器类: OpenCV中的特征面 从您现在的位置开始,实际的人脸识别只是将图像投影到pca空间(意味着将它们与特征向量Mat相乘),并在该空间中对您的训练图像和测试图像进
请提供帮助查看下面的链接,我认为它应该很有用: Opencv的人脸识别器类: OpenCV中的特征面
从您现在的位置开始,实际的人脸识别只是将图像投影到pca空间(意味着将它们与特征向量Mat相乘),并在该空间中对您的训练图像和测试图像进行L2比较。opencv的pca函数仅给出输入训练图像的特征向量(我保留了PCA需要保留的组件数量:10)我不知道如何通过opencvI从PCA获取所有特征向量我不知道如何将图像投影到PCA空间…你能详细说明一下吗?…谢谢你,你没有向PCA提供1个图像,而是提供了所有的(展平)训练图像,其中的将为您提供特征向量。然后,每幅图像,(可能保存结果)将尝试并发布我是否得到…感谢帮助感谢回复…我已经看过了(在提问之前)…我如何知道这些函数中发生的过程:-特征脸识别器(),train(),predictLabel()。实际上,我想知道,一旦我从训练数据和测试图像中获得了所有特征面,我应该做什么来获得结果?…基本上是训练后的下一步…在上面(你提到过)例如,opencv函数预测标签,但我想手动尝试,只是为了学习。特征面是一个多维坐标系。原点是meanface。面是该坐标系中的一个点。投影后得到的系数是该坐标系中面的坐标。如果要测量相似性,只需测量距离点之间的距离。距离可以用不同的方法测量,最流行的是欧几里得度量和马氏度量,第二种度量给出了更精确的结果。顺便说一句,openCV是开源的,因此您可以查看感兴趣的函数的实现。