wake-up-neo.net

Opencv3 und Python 2.7 in der virtuellen Umgebung - AttributeError: 'Modul'-Objekt hat kein Attribut' createLBPHFaceRecognizer '

Ich habe eine Python-Funktion mit opencv 3. Es funktioniert auch ohne virtuelle Umgebung. Außerdem habe ich opencv auf venv von: pyimagesearch installiert. Ich versuche, die Python-Funktion auf venv auszuführen, dann gibt es einen Fehler: 

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

ohne venv im terminal:

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

mit venv in 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-Code:

#!/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()
...

Ich verwende Opencv3 mit Python 2.7 unter Linux Mint 64 Bit

11
Gkan

Von OpenCV 3 müssen Sie das opencv_contrib repo erstellen und erstellen. Dann können Sie das Submodul "Gesicht" verwenden.

Hilfe zum 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 können jetzt cv2.face.createLBPHFaceRecognizer() verwenden

12
Rick

Der einfachste Weg für mich war die Verwendung von Anaconda-Paketen:

conda install -c menpo opencv3=3.1.0

Nach der Installation verwenden Sie cv2.face.createLBPHFaceRecognizer() oder andere Gesichtserkenner. Hoffe das hilft

5
Chandan Purohit

versuche dies

führen Sie diesen Befehl aus, um den Contrib zu installieren 

python -m pip install opencv-contrib-python

nachdem dies erledigt ist, verwenden Sie dieses Attribut 

recoginizer = cv2.face.LBPHFaceRecognizer_create()
4
learnkevin

für Python-Versionen als 3.6-Anwendungen:

rec = cv2.face.LBPHFaceRecognizer_create();
3
Sleider

Für Windows-Benutzer, die Python 3 verwenden, können Sie die opencv_contrib von hier herunterladen. Mein System ist 64-Bit, also habe ich opencv_python-3.3.0 + contrib-cp36-cp36m-win_AMD64.whl verwendet. Wenn Sie 32-Bit sind, wählen Sie die 32-Bit-Version.

Öffnen Sie die Eingabeaufforderung, navigieren Sie zum 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, der der gerade heruntergeladenen Datei ähnelt, und deinstallieren Sie eine ältere Version, bevor Sie die neue Version mit dem Beitrag ..__ installieren. Ich musste rennen:

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

bevor Sie die neue Installation vornehmen. 

Dann stellen Sie sicher, dass es erfolgreich ist

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

Anstelle von createLBPHFaceRecognizer () müssen Sie LBPHFaceRecognizer_create () verwenden.

0
Explorer 24

Führen Sie für Python Version 3.6.x Folgendes aus:

Öffnen Sie Ihr Terminal und installieren Sie opencv-contrib-python

python -m pip install opencv-contrib-python

wenn Sie damit fertig sind, verwenden Sie dies

recoginizer = cv2.face.LBPHFaceRecognizer_create()

Für weitere Optionen können Sie dies auf folgende Weise tun:

print(help(cv2.face))
0
Shubham Gupta