cv2.face'没有属性'LBPHFaceRecognizer

问题描述 投票:0回答:1

我正在创建一个使用Python并在这些版本上空闲的人脸识别系统:Python 3.6.1 :: Anaconda custom(64位),Anaconda 4.4,空闲

当我尝试训练面部识别器时,我收到的错误如下:

AttributeError:模块'cv2.face'没有属性'LBPHFaceRecognizer'

在这里,我附上了代码

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

# Path for face image database
path = 'dataset'
recognizer = cv2.face.LBPHFaceRecognizer()


def getImagesWithID(path):
     imagePaths=[os.path.join(path,f) for f in os.listdir(path)]
     faceSamples=[]
     Ids=[]
     for imagePath in imagePaths:
         faceImg=Image.open(imagePath).convert('L')
         faceNp=np.array(faceImg,'unit8')
         ID=int(os.path.split(imagePath)[-1].split('.')[1])
         faces.append(faceNP)
         IDs.append(ID)
         cv2.imshow("training",faceNp)
         cv2.waitKey(10)
     return np.array(IDs), faces

Ids,faces=getImagesWithID(path)
recognizer.train(faces,Ids)
recognizer.save('recognizer/trainningData.yml')
cv2.destroyAllWindows()
opencv python-3.6 face-recognition
1个回答
0
投票

这是OpenCV的旧版本,他们甚至没有Python文档。

现在离开他们的C++ documentation,我会说Python的等价物是cv2.createLBPHFaceRecognizer()。到那时它尚未转移到face

我强烈建议您至少更新到OpenCV 3.X,否则您将继续遇到这些问题。

© www.soinside.com 2019 - 2024. All rights reserved.