2017-08-12 347 views
2

所以我正在做一个小小的个人项目,但当我尝试创建识别器时,我一直收到这个错误。我有opencv-contrib和一切。有谁知道发生了什么事?代码如下attributeerror:模块'cv2.face'没有任何属性'createlbphfacerecognizer'

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

cascadePath = "haarcascade_frontalface_default.xml" 
faceCascade = cv2.CascadeClassifier(cascadePath) 

recognizer = cv2.face.createLBPHFaceRecognizer() 

它被捕获到最后一行。我已经尝试重新安装所有模块。不知道还有什么要做。奇怪的是它适用于我的笔记本电脑,但不适用于我的桌面。他们都有相同的模块,相同的python版本并运行完全相同的代码。

+0

怎么ü编译'opencv_contrib'? – eshirima

回答

0

您正在使用Opencv 3.x,在新版本中几个模块已被删除。您有两种选择: 1.将opencv_contrib模块添加到现有的opencv 3.x版本。 这里是链接https://github.com/opencv/opencv_contrib 2.你可以使用旧版本的Opencv。像opencv 2.4.x

10

有同样的问题。使用:

recognizer = cv2.face.LBPHFaceRecognizer_create() 

它适用于我的程序。

+0

修好了!谢谢,如果你不介意我问,你从哪里找到这个信息?我无法找到任何地方。 –

0

尝试通过“python -m pip install opencv-contrib-python”来更新你的opencv ps:你必须从Python代表中删除CV2存储库,然后运行这个命令(在CMD窗口中) “科技工作

0

尝试使用此:

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

# Path for face image database 
path = 'dataset' 
recognizer = cv2.face_LBPHFaceRecognizer.create() 
detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml") 
相关问题