2017-02-03 11 views
1

私はUbuntu 16.04(64bit)を使用しています。python2.7 Open-CV 3.1.0 Open-CV追加モジュールのリポジトリをダウンロードする手順は、AttributeError: 'module'オブジェクトに 'createFisherFaceRecognizer'属性がありません

AttributeError: 'module' object has no attribute 'createFisherFaceRecognizer'. 

の一部:私は同じエラーを得たしかし、私はまた、最新のオープンCV 3.2.0ではなく3.1.0を使用してみましたが、私は同じエラーを持っている 、 https://github.com/opencv/opencv_contrib経由でこの機能を有効に私のコード:

import numpy as np 
import cv2 
import sys 
import os 
class TrainFisherFaces: 
    def __init__(self): 
     cascPath = "haarcascade_frontalface_default.xml" 
     self.face_cascade = cv2.CascadeClassifier(cascPath) 
     self.face_dir = 'data' 
     self.face_name = sys.argv[1] 
     self.path = os.path.join(self.face_dir, self.face_name) 
     if not os.path.isdir(self.path): 
      os.mkdir(self.path) 
     self.model = cv2.createFisherFaceRecognizer() 

答えて

2

createFisherFaceRecognizer()は、サブモジュールcv2.faceのpythonで表示されているようです。これにアクセスするには、cv2.face.createFisherFaceRecognizer()にアクセスしてください。

出典:Cでの顔認識のためのチュートリアルexample ++から適応

。私は質問に記載されているものとしてインストールを行い、それをテストしました。

+0

)cv2.face.FisherFaceRecognizer_createを(使用していたことをAttributeError: 'module'オブジェクトに 'face'という属性がありません – Bolly

+0

これは奇妙です。私はOpenCV 3.1とまったく同じ設定をしています。私がcv2.faceモジュールからcreateFisherFaceRecognizer()を呼び出すと、完璧に動作します。 – NAmorim

+0

ありがとうございます。私は古いOpenCVを正しくアンインストールしていないことがわかりました。指示に従って正しくダウンロードし、cv2.faceを追加した後、おそらく動作しました! – Bolly

関連する問題