2015-11-09 8 views
8

Ich habe Python-Funktion mit Opencv 3. Es funktioniert normalerweise ohne virtuelle Envirement.Also ich installiert opencv auf venv von: pyimagesearch. Ich versuche, die Python-Funktion auf Venv zu laufen, dann wird es Fehler bekommen:Opencv3 und Python 2.7 auf Virtual Environment - AttributeError: 'Modul' Objekt hat kein Attribut 'createLBPHFaceRecognizer'

AttributeError: 'module' object has no attribute 'createLBPHFaceRecognizer' 

ohne Venv in Terminal:

[email protected] ~/Masaüstü/face_recognizer $ python face_recognizer.py 
Yol :./sinif/114.jpg. 
114 Yuz Tanindi 12 

mit Venv im Terminal:

[email protected] ~/Masaüstü/face_recognizer $ workon cv 
(cv)[email protected] ~/Masaüstü/face_recognizer $ python face_recognizer.py 
Traceback (most recent call last): 
    File "face_recognizer.py", line 15, in <module> 
    recognizer = cv2.createLBPHFaceRecognizer() 
AttributeError: 'module' object has no attribute 'createLBPHFaceRecognizer' 

mein Python Codes:

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

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

# For Test 
if 0==0: 

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

    recognizer = cv2.createLBPHFaceRecognizer() 
... 

Linux Mint 64 Bit, Opencv3, python2.7

Antwort

10

Von OpenCV 3, müssen Sie die opencv_contrib Repo bekommen und bauen. Dann können Sie das Submodul "Gesicht" verwenden.

Hilfe Modul cv2.face in cv2:

NAME 
    cv2.face 

FILE 
    (built-in) 

FUNCTIONS 
    createEigenFaceRecognizer(...) 
     createEigenFaceRecognizer([, num_components[, threshold]]) -> retval 

    createFisherFaceRecognizer(...) 
     createFisherFaceRecognizer([, num_components[, threshold]]) -> retval 

    createLBPHFaceRecognizer(...) 
     createLBPHFaceRecognizer([, radius[, neighbors[, grid_x[, grid_y[, threshold]]]]]) -> retval 

Voila ~ Sie jetzt für mich cv2.face.createLBPHFaceRecognizer()

+0

Vielen Dank, ich habe nicht Gesicht Submodul zu sehen. So funktioniert es jetzt. – Gkan

+0

Wie baue ich es für Windows? –

+0

Die offizielle Website von OpenCV hat eine sehr klare Einführung in die Installation. [Klicken Sie hier] (http://docs.opencv.org/3.0-beta/doc/tutorials/introduction/windows_install/windows_install.html) – Rick

4

Der einfachste Weg, Anakonda-Paket zu verwenden war verwenden: conda install -c menpo opencv3=3.1.0 Einmal installiert, Verwendung cv2 .face.createLBPHFaceRecognizer() oder andere Gesichtserkenner. Hoffe, das hilft

+0

Wie installiere ich Conda? – Dev

+0

[Refer Anaconda Dokumente] (https://conda.io/docs/install/quick.html) –

0

Für Windows-Benutzer mit Python 3 können Sie die Opencv_contrib von here erhalten. Mein System ist 64 Bit so opencv_python-3.3.0 + contrib-cp36-cp36m-win_amd64.whl ist, was ich verwendet habe. Wenn Sie 32 Bit haben, wählen Sie die 32 Bit Version.

Öffnen Sie die Eingabeaufforderung und wechseln Sie in den Download-Ordner und verwenden Sie den Befehl

pip install opencv_python-3.3.0+contrib-cp36-cp36m-win_amd64.whl 

Hinweis: Verwenden Sie einen Befehl ähnlich der Datei, die Sie gerade heruntergeladen und stellen Sie sicher, eine ältere Version zu deinstallieren, bevor Sie die neue mit der Installation der Beitrag Ich musste laufen:

pip uninstall opencv_python-3.3.0-cp36-cp36m-win_amd64.whl 

bevor die neue Installation zu machen.

Dann stellen Sie sicher, es ist erfolgreich

>>>import cv2 
>>>cv2.face 
<module 'cv2.face'> 

Statt createLBPHFaceRecognizer(), müssen Sie LBPHFaceRecognizer_create() verwenden

0

dieses diesen Befehl

Lauf versuchen, den contrib

python -m pip install opencv-contrib-python

zu installieren

danach istfertigverwenden Sie dieses Attribut

recoginizer = cv2.face.LBPHFaceRecognizer_create()