OpenCV

画像処理 「OpenCV 4」detectMultiScaleでエラーが出る

‘cv::CascadeClassifier::detectMultiScale’ でエラーが出るときは、検出器のxmlのパスが間違っている可能性がある。

こちらを例に説明する。

以下のようにエラーが出ている場合は、

python detect_face.py
Traceback (most recent call last):
  File "detect_face.py", line 17, in <module>
    eyes = eye_cascade.detectMultiScale(face_gray)
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-52oirelq\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'

eye_cascadeに設定した、haarcascade_eye.xml が存在することを確認する。

eye_cascade = cv2.CascadeClassifier(
'haarcascade_eye.xml')