web-dev-qa-db-ja.com

Opencv3およびPython 2.7仮想環境-AttributeError: 'module'オブジェクトには属性 'createLBPHFaceRecognizer'がありません

Opencv 3にはpython関数があります。仮想環境がなくても動作します。また、opencvをvenvに: pyimagesearch からインストールしました。私はvenvでそのpython関数を実行しようとしていますが、エラーが発生します:

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()
...

Linux Mint 64ビットでpython 2.7を使用してOpencv3を実行しています

11
Gkan

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
_

これでcv2.face.createLBPHFaceRecognizer()を使用できます

12
Rick

私にとって最も簡単な方法は、anacondaパッケージを使用することでした。

_conda install -c menpo opencv3=3.1.0
_

インストールしたら、cv2.face.createLBPHFaceRecognizer()またはその他の顔認識ツールを使用します。お役に立てれば

5
Chandan Purohit

これを試して

このコマンドを実行してcontribをインストールします

python -m pip install opencv-contrib-python

これが完了したら、この属性を使用します

recoginizer = cv2.face.LBPHFaceRecognizer_create()
4
learnkevin

for python 3.6が使用するバージョン:

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

python 3を使用しているWindowsユーザーの場合、opencv_contribは here から取得できます。私のシステムは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'>

CreateLBPHFaceRecognizer()の代わりに、LBPHFaceRecognizer_create()を使用する必要があります

0
Explorer 24

Pythonバージョン3.6.xの場合、次のようにします。

ターミナルを開き、opencv-contrib-pythonをインストールします

python -m pip install opencv-contrib-python

使い終わったらこれを使用してください

recoginizer = cv2.face.LBPHFaceRecognizer_create()

[その他のオプション]では、次のように実行できます。

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