FaceRec教程解释

时间:2013-07-02 11:07:47

标签: opencv face-recognition

我尝试使用Eigenfaces做this面部识别示例。并且无法理解这些函数 subspaceProject() subspaceReconstruct()实际上是做什么的。我试图在http://docs.opencv.org/上搜索,但没有任何描述链接。

你能解释一下这部分代码实际上是做什么的吗?

Mat evs = Mat(W, Range::all(), Range(0, num_components));
Mat projection = subspaceProject(evs, mean, images[0].reshape(1,1));
Mat reconstruction = subspaceReconstruct(evs, mean, projection);
    // Normalize the result:
reconstruction = norm_0_255(reconstruction.reshape(1, images[0].rows));

我的意思是这些功能做什么,他们返回什么样的cv :: Mat?

1 个答案:

答案 0 :(得分:1)

subspaceProject()基本上可以减少维数。

projection = (images[0] - mean) * evs

减去均值可确保图像接近子空间。 推测evs是截断的右奇异向量。

subspaceReconstruct()

reconstruction = projection * transpose(evs) + mean

重建只是投影的反面,除了因为evs被截断,它不可能是完美的。

请参阅PCA

相关问题