私はubuntu 14.04.02にいますが、python、cython、numpyをインストールして更新しています。オープンcvの最新ソースを http://github.com/itseez/opencv から取得し、ドキュメントに従ってコンパイルしました... pythonソースiをプルしたソース https://github.com/shantnu/FaceDetect/ を実行すると、次のエラー:
modprobe:致命的:モジュールnvidiaが見つかりません。トレースバック(最後の最後の呼び出し):ファイル "face_detect.py"、行21、flags = cv2.cv.CV_HAAR_SCALE_IMAGE AttributeError: 'module'オブジェクトには属性 'cv'がありません
pythonバインディングがあることを確認するために、ターミナルで次のように入力しました:python
import cv2
cv2.__version__
次の「3.0.0-dev」を返しました
何が悪いのでしょうか?
cv2.cvサブモジュールはopencv3.0で削除され、いくつかの定数も変更されました。
代わりにcv2.CASCADE_SCALE_IMAGEを使用してください
(help(cv2)
を実行して、更新された定数を確認します)
申し訳ありませんが、上記はうまくいきませんでした。別の「解決策」を見つけましたが、openCVについてSFAを知っているので、望ましくない副作用があるかもしれません。
簡単な解決策は、0に設定するだけです。
# Detect faces in the image
faces = faceCascade.detectMultiScale( gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30), # flags = cv2.cv.CV_HAAR_SCALE_IMAGE flags = 0 )
あなたが見ることができるように...私はちょうど0にそれを設定し、私の人生で進むことができます。
すべての組み合わせを試しましたが、CASCADE_SCALE_IMAGEを機能させることができませんでした。
このopenCV docoの説明 は、ナッダ、Zip、混乱以外の何物でもありません。
flags –関数cvHaarDetectObjectsと同じ古いカスケードの意味を持つパラメーター。新しいカスケードには使用されません。
それはそれをクリアしました...
とにかく、openCVの例では0にハードコードされています。