J'ai une fonction python avec opencv 3. Cela fonctionne sans environnement virtuel. J'ai également installé opencv sur venv depuis: pyimagesearch . j'essaie de lancer cette fonction python sur venv, cela donne alors une erreur:
AttributeError: 'module' object has no attribute 'createLBPHFaceRecognizer'
sans venv in terminal:
gkhan@Gkan ~/Masaüstü/face_recognizer $ python face_recognizer.py
Yol :./sinif/114.jpg.
114 Yuz Tanindi 12
avec venv in terminal:
gkhan@Gkan ~/Masaüstü/face_recognizer $ workon cv
(cv)gkhan@Gkan ~/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'
mon code python:
#!/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()
...
J'exécute Opencv3 avec Python 2.7 sur Linux Mint 64 Bit
Depuis OpenCV 3, vous devez obtenir et construire le répertoire opencv_contrib repo. Ensuite, vous pouvez utiliser le sous-module "face".
Aide sur le module cv2.face dans 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 ~ Vous pouvez maintenant utiliser cv2.face.createLBPHFaceRecognizer()
Le moyen le plus simple pour moi était d'utiliser le paquet anaconda:
conda install -c menpo opencv3=3.1.0
Une fois installé, utilisez cv2.face.createLBPHFaceRecognizer()
ou un autre identificateur de visage. J'espère que cela t'aides
lancez cette commande pour installer la contrib
python -m pip installer opencv-contrib-python
ensuite, utilisez cet attribut
recoginizer = cv2.face.LBPHFaceRecognizer_create()
pour les versions python en 3.6 utilise:
rec = cv2.face.LBPHFaceRecognizer_create();
Pour les utilisateurs de Windows utilisant Python 3, vous pouvez obtenir opencv_contrib à partir de ici . Mon système est en 64 bits, donc opencv_python ‑ 3.3.0 + contrib ‑ cp36 ‑ cp36m ‑ win_AMD64.whl est ce que j'ai utilisé. Si vous avez 32 bits, choisissez la version 32 bits.
Ouvrez la commande Invite, naviguez jusqu'au dossier de téléchargement et utilisez la commande.
pip install opencv_python-3.3.0+contrib-cp36-cp36m-win_AMD64.whl
Remarque: utilisez une commande similaire au fichier que vous venez de télécharger et veillez à désinstaller une version antérieure avant d'installer la nouvelle avec contrib . Je devais courir:
pip uninstall opencv_python-3.3.0-cp36-cp36m-win_AMD64.whl
avant de faire la nouvelle installation.
Alors assurez-vous que c'est réussi
>>>import cv2
>>>cv2.face
<module 'cv2.face'>
Au lieu de createLBPHFaceRecognizer (), vous devez utiliser LBPHFaceRecognizer_create ()
Pour Python version 3.6.x, procédez comme suit:
Ouvrez votre terminal et installez opencv-contrib-python
python -m pip install opencv-contrib-python
quand tu as fini avec ça utilise ça
recoginizer = cv2.face.LBPHFaceRecognizer_create()
Pour plus d’option, vous pouvez le faire comme ceci:
print(help(cv2.face))