使用OpenCV 2.4.1&;Windows10中的python 2.7.15属性错误:';moduleobject没有属性';createLBPHFaceRecognizer';
回溯(最近一次呼叫最后一次): 文件“C:\Users\Documents\basic\engine\trainer.py”,第6行,在 recognizer=cv2.createLBPHFaceRecognizer();AttributeError:“模块”对象没有属性“CreateLBPHFaceRecognitizer” 如前所述,你必须获得并建立回购协议。然后可以使用子模块“face” 或者使用使用OpenCV 2.4.1&;Windows10中的python 2.7.15属性错误:';moduleobject没有属性';createLBPHFaceRecognizer';,python,python-2.7,opencv,Python,Python 2.7,Opencv,回溯(最近一次呼叫最后一次): 文件“C:\Users\Documents\basic\engine\trainer.py”,第6行,在 recognizer=cv2.createLBPHFaceRecognizer();AttributeError:“模块”对象没有属性“CreateLBPHFaceRecognitizer” 如前所述,你必须获得并建立回购协议。然后可以使用子模块“face” 或者使用pip安装它 import os import cv2 import numpy as np
pip
安装它
import os
import cv2
import numpy as np
from PIL import Image
recognizer=cv2.createLBPHFaceRecognizer();
path='dataSet'
def getImagesWithID(path):
imagePaths=[os.path.join(path,f) for f in os.listdir(path)]
faces=[]
IDs=[]
for imagePath in imagePaths:
faceImg=Image.open(imagePath).convert('L');
faceNp=np.array(faceImg,'uint8')
ID=int(os.path.split(imagePath)[-1].split('.')[1])
faces.append(faceNp)
print ID
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/trainingData.yml')
cv2.destroyAllWindows()
然后您可以使用asrecognizer=cv2.face.LBPHFaceRecognizer\u create()
,因为看起来他们已经更改了方法的名称。如果您仍然有问题,您可以使用
$ pip install opencv-contrib-python
它揭示了所有可用的方法。我通过这种方式找到了更改后的名称。我使用的是open cv2,因此,所有代码都符合2.1.43文档的要求。如果您需要查看我的github代码,请发表评论。我错了。有一件奇怪的事情是方法名被更改了。我编辑了答案。希望它能解决您的问题可能的副本
import cv2
print (help(cv2.face))