【问题标题】:Python OpenCV - Eigenfaces face recognitionPython OpenCV - Eigenfaces 人脸识别
【发布时间】:2020-10-07 02:52:40
【问题描述】:

我正在尝试使用 Python 和 OpenCV 创建简单的 Eigenfaces 人脸识别应用程序。不幸的是,当我尝试玩应用程序时,我得到了结果: (-1, '\n', 1.7976931348623157e+308),其中-1代表未找到和信心...相当高...

是否有可能由某人提供 Eigenfaces 的最基本的 OpenCV 实现?

这是我解决问题的方法。我使用 Python2,正如官方文档中所建议的那样(由于 P3 的一些问题)。

import cv2 as cv
import numpy as np
import os

num_components = 10
threshold = 10.0

faceRecognizer = cv.face_EigenFaceRecognizer.create(num_components, threshold)
images = []
labels = []
textLabels = ["Person1", "Person2", "Person3"]

destinedIm = cv.imread("images/set1/1.jpg", cv.IMREAD_GRAYSCALE)
destinedSize = destinedIm.shape

#Person1
img = cv.imread("images/set1/1.jpg", cv.IMREAD_GRAYSCALE)
imResized = cv.resize(img, destinedSize)
images.append(imResized)
labels.append(0)

#In similar way I read total 8 images of set1 and 6 images of set2 (2 different people, with label 0 and 1 respectively)

cv.imwrite("images/set2/resized.jpg", imResized) #this doesn't work

numpyImages = np.array(images)
numpyLabels = np.array(labels)
# cv.face_FaceRecognizer.train(self=faceRecognizer, src=images, labels=labels)
faceRecognizer.train(src=images, labels=numpyLabels)

testImage = cv.imread("images/set1/testIm.jpg", cv.IMREAD_GRAYSCALE)
# cv.face_FaceRecognizer.predict()
resultLabel, resultConfidence = faceRecognizer.predict(testImage)

print (resultLabel, "\n" ,resultConfidence)

testImage 是另一张 label = 0 的人的图像;

【问题讨论】:

    标签: python python-2.7 opencv


    【解决方案1】:

    我会查看 testImage 的大小。此外,我使用了与您使用的不同的大小调整方法并使其正常工作。

        face_resized = cv2.resize(img, (299, 299))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-06
      • 2019-08-10
      • 2017-02-26
      • 2017-02-03
      • 2018-06-14
      • 2019-05-10
      • 2013-12-24
      • 2021-08-16
      相关资源
      最近更新 更多