虚拟环境中的Opencv3和Python 2.7 - AttributeError:'module'对象没有属性'createLBPHFaceRecognizer'

时间:2015-11-09 23:54:44

标签: python python-2.7 opencv virtualenv face-recognition

我有一个带有opencv 3的python函数。它在没有虚拟环境的情况下工作。我也在venv上安装了opencv:pyimagesearch。我试图在venv上运行那个python函数,然后它给出一个错误:

attr

终端没有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

我的python代码:

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'

我在Linux Mint 64 Bit上使用python 2.7运行Opencv3

6 个答案:

答案 0 :(得分:12)

从OpenCV 3开始,您必须获取并构建opencv_contrib个回购。然后你可以使用子模块“face”。

cv2中的模块cv2.face的帮助:

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~您现在可以使用cv2.face.createLBPHFaceRecognizer()

答案 1 :(得分:5)

最简单的方法是使用anaconda包:

conda install -c menpo opencv3=3.1.0

安装完成后,请使用cv2.face.createLBPHFaceRecognizer()或其他面部识别器。希望这有帮助

答案 2 :(得分:4)

试试这个

运行此命令以安装contrib

  

python -m pip install opencv-contrib-python

完成此操作后 使用此属性

recoginizer = cv2.face.LBPHFaceRecognizer_create()

答案 3 :(得分:3)

对于3.6使用的python版本:

rec = cv2.face.LBPHFaceRecognizer_create();

答案 4 :(得分:0)

对于使用python 3的Windows用户,您可以从here获取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安装新版本之前卸载旧版本。  我不得不跑:

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

在进行新安装之前。

然后确保它成功

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

您必须使用LBPHFaceRecognizer_create()

而不是createLBPHFaceRecognizer()

答案 5 :(得分:0)

对于Python 3.6.x版,请执行以下操作:

打开终端并安装opencv-contrib-python

python -m pip install opencv-contrib-python

完成后使用它

recoginizer = cv2.face.LBPHFaceRecognizer_create()

对于“更多”选项,您可以按照以下方式进行操作:

print(help(cv2.face))