来自python的Opencv中的Eigenfaces的人脸识别给出了零矩阵

时间:2014-04-21 10:23:28

标签: python opencv

我在ubuntu 12.04上使用Open CV 2.4.6。 我通过EigenFaces在cpp上进行了面部识别。

我尝试使用opencv python,这完全一样。但是给我零矩阵作为输出预测。即使我的测试图像与训练图像相同,输出也为零。

这是我的代码:

import os
import sys
import cv2
import numpy as np


if __name__=='__main__':
    print "Face matching"
    if len(sys.argv) < 3:
            print "USAGE: matchfaces.py img1 img2"
            sys.exit()
    X= []
    x1 = []
    print sys.argv[2]
    im1 = cv2.imread(sys.argv[1],cv2.IMREAD_GRAYSCALE)
    im2 = cv2.imread(sys.argv[2],cv2.IMREAD_GRAYSCALE)
    model = cv2.createEigenFaceRecognizer()

    X.append(np.asarray(im1, dtype=np.uint8))
    X.append(np.asarray(im1, dtype=np.uint8))
    x1.append(0)
    x1.append(0)
    xlabels = np.asarray(x1, dtype=np.int32)
    model.train(X,xlabels)
    print model
    [p_label, p_confidence] = model.predict(np.asarray(im2, dtype=np.uint8))
    print "Done"
    print p_label, p_confidence
    print model.getMat("eigenvalues")

任何人都可以通过python让我知道opencv上的任何好的教程或博客。

谢谢, 赛亚

0 个答案:

没有答案