web-dev-qa-db-ja.com

OpenCV 4.0.0 SystemError:<クラス 'cv2.cascadeclassifier'>エラーセットで結果を返しました

こんにちは私は顔の認識プログラムを作成しようとしていますが、私は独特のエラーを持っています:これが私のコードです:

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier("lbpcascade_frontalface.xml")
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5);
 _

そしてこのエラーは出力です

SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set
 _

作業ディレクトリに「LBPCASCADE_FRONTALFACE.XML」があり、問題にならないように

入ったときに役立つ場合

cv2.__version__
 _

私は到着します

'4.0.0'
 _
7
Tyler Strouth

私は同じエラーを持っていました私がローカルビデオから歩行者を検出するためにhogcascade_pedestrians.xmlを使用していたとき、そして私は次のようにhogcascade_pedestrians.xmlを読んでいました:

pedestrainsClassifier = cv2.CascadeClassifier("hogcascade_pedestrians.xml")

あなたは次のようにそれを読むべきです:

pedestrainsClassifier = cv2.CascadeClassifier(f"{cv2.data.haarcascades}hogcascade_pedestrians.xml")

あるいはあなたは次のようにすることができます:

pedestrainsClassifier = cv2.CascadeClassifier(cv2.data.haarcascades +"hogcascade_pedestrians.xml")

頑張って

0
Crispen Gari

私はほとんど異なる方法で同じ問題に遭遇しました。私はJupiterノートブックを使ってコードを実行していました ここ

次のようにしてこのファイルをロードするときに、XMLファイルを ここ にコピーし、現在のjupiterディレクトリにXMLファイルを作成しました。

classifier = CascadeClassifier('haarcascade_frontalface_default.xml')
 _

それは私のエラーを返しました:

SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set
 _

そのため、他の方法で、このファイルを削除し、現在のディレクトリに実際のファイルをXML形式としてダウンロードしました。これは私の問題を解決しました。

0