2017-08-12 345 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") 
相關問題