Opencv3 и Python 2.7 в виртуальной среде-AttributeError: объект "module" не имеет атрибута "createLBPHFaceRecognizer"
у меня есть функция python с opencv 3. он работает без виртуальной среды.Также я установил opencv на venv из:pyimagesearch. я пытаюсь запустить эту функцию python на venv, тогда она дает ошибку:
AttributeError: 'module' object has no attribute 'createLBPHFaceRecognizer'
без venv в терминала:
gkhan@Gkan ~/Masaüstü/face_recognizer $ python face_recognizer.py
Yol :./sinif/114.jpg.
114 Yuz Tanindi 12
С venv в терминала:
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'
мой код 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()
...
Я запускаю Opencv3 с python 2.7 на Linux Mint 64 бит
6 ответов
из OpenCV 3 Вы должны получить и построить opencv_contrib РЕПО. Затем вы можете использовать подмодуль "лицо".
справка по модулю cv2.лицо в 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
вуаля~ теперь вы можете использовать cv2.face.createLBPHFaceRecognizer()
самый простой способ для меня-использовать пакет anaconda:
conda install -c menpo opencv3=3.1.0
после установки, используйте cv2.face.createLBPHFaceRecognizer()
или другие распознаватели лиц. Надеюсь, это поможет
попробуй такое
запустите эту команду, чтобы установить contrib
python-m pip установить opencv-contrib-python
после этого используйте этот атрибут
recoginizer = cv2.face.LBPHFaceRecognizer_create()
для пользователей windows, использующих python 3, Вы можете получить opencv_contrib из здесь. Моя система 64 бит так opencv_python-3.3.0 + contrib-cp36-cp36m-win_amd64.whl то, что я использовал. Если вы 32-разрядный, выберите 32-разрядную версию.
Откройте командную строку и перейдите в папку Загрузки и используйте команду
pip install opencv_python-3.3.0+contrib-cp36-cp36m-win_amd64.whl
Примечание: используйте команду файл, который вы скачали и не забудьте удалить старую версию перед установка нового с помощью contrib. Мне пришлось бежать:--8-->
pip uninstall opencv_python-3.3.0-cp36-cp36m-win_amd64.whl
перед выполнением новой установки.
тогда убедитесь, что это успешно
>>>import cv2
>>>cv2.face
<module 'cv2.face'>
вместо createLBPHFaceRecognizer () необходимо использовать LBPHFaceRecognizer_create ()
для Python версии 3.6.x, сделайте это:
откройте терминал и установите opencv-contrib-python
python -m pip install opencv-contrib-python
когда вы закончите с ним, используйте это
recoginizer = cv2.face.LBPHFaceRecognizer_create()
для дополнительной опции вы можете сделать это следующим образом:
print(help(cv2.face))