Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于人脸识别的PCA:OpenCV_Opencv_Face Recognition - Fatal编程技术网

用于人脸识别的PCA:OpenCV

用于人脸识别的PCA:OpenCV,opencv,face-recognition,Opencv,Face Recognition,我正在使用OpenCV c++进行人脸识别:我已经测试了OpenCV为PCA提供的代码:它返回我的特征向量和平均值,但是我如何使用它来测试图像以进行识别 我阅读了一些文章来理解PCA的过程。我可以手动实现协方差矩阵、权重等,但我想尝试OpenCV PCA函数 请提供帮助查看下面的链接,我认为它应该很有用: Opencv的人脸识别器类: OpenCV中的特征面 从您现在的位置开始,实际的人脸识别只是将图像投影到pca空间(意味着将它们与特征向量Mat相乘),并在该空间中对您的训练图像和测试图像进

我正在使用OpenCV c++进行人脸识别:我已经测试了OpenCV为PCA提供的代码:它返回我的特征向量和平均值,但是我如何使用它来测试图像以进行识别

我阅读了一些文章来理解PCA的过程。我可以手动实现协方差矩阵、权重等,但我想尝试OpenCV PCA函数


请提供帮助

查看下面的链接,我认为它应该很有用:

Opencv的人脸识别器类:

OpenCV中的特征面


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