【问题标题】:Unable to train images using LBPHFaceRecognizer and opencv无法使用 LBPHFaceRecognizer 和 opencv 训练图像
【发布时间】:2020-06-30 13:25:37
【问题描述】:

目前,我正在为面部识别系统训练图像。我正在使用 Python,OpenCV 这样做。我从网络摄像头收集了样本,但是样本图像的大小不同。示例图片大小为 376 x 376、412 x 412、836 x 836。

当前工作目录截图:

示例图像保存在名为“sampleImgFolder”的主文件夹中以及每个示例的主文件夹特定文件夹下。


训练图像源代码


import os
import cv2
import numpy as np
from PIL import Image

recognizer = cv2.face.LBPHFaceRecognizer_create()
targetImagesDirectory="sampleImgFolder/"
dataset = cv2.CascadeClassifier('resources/haarcascade_frontalface_default.xml')

def getImageWithID(path):
    #empty list to store processed data 
    sampleFaces = []
    sampleFaceId = []

    os.chdir(targetImagesDirectory)
    for directory in os.listdir():
        os.chdir(directory)
        for files in os.listdir():
            imagePath = '{}/{}'.format(os.getcwd(), files)

            imagePil = Image.open(imagePath).convert('L')
            imageNumpy = np.array(imagePil, 'uint8') #conversion of normal image to numpy array
            #imageNumpy.astype(np.float32)

            #detect face 
            faces = dataset.detectMultiScale(imageNumpy)

            #extracting id from file name
            id = files.split('_')
            id = id[0].split('-')
            id = id[2]

            for (x, y, w, h) in faces:
                sampleFaces.append(imageNumpy[y:y + h, x:x + w])
                sampleFaceId.append(id)

        os.chdir('../')
    os.chdir('../')   

    return np.array(sampleFaceId), sampleFaces
print("reading images")
Ids,faces=getImageWithID(targetImagesDirectory)
print('reading completed')
recognizer.train(faces,Ids)
print("training")
#train the dataset. Create a file name trainningData.yml
recognizer.write('train/trainningData.yml')
cv2.destroyAllWindows()

运行上述代码时出现以下错误:

【问题讨论】:

  • 您找到解决方案了吗?我现在遇到同样的错误:(

标签: python opencv computer-vision face-recognition


【解决方案1】:
recognizer.train(faces, np.array(Ids))

【讨论】:

    猜你喜欢
    • 2016-11-16
    • 2019-01-21
    • 2015-06-03
    • 2016-03-29
    • 2011-05-06
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2017-08-25
    相关资源
    最近更新 更多