コード pythonを使用
- エラー文、わからないこと
現在、pythonのOpencvで顔認識の勉強をしています。顔認識を正面バージョンは出来たのですが、目を認識は出来ず、また、エラー文の内容がよくわからない状態です。
error Traceback (most recent call last)
<ipython-input-35-eade36751c00> in <module>
12
13 # 顔を検知
---> 14 faces = face_cascade.detectMultiScale(gray)
15 for (x,y,w,h) in faces:
16 # 検知した顔を矩形で囲む
error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
試しこと
今、参考書はpython実践データ分析100を使用しています。
ネットでは、cascade_file を "haarcascade_eye.xml"に変更すればできると記載されていたので、顔認識のプログラムのcascade_file = "haarcascade_frontalface_alt.xml"をcascade_file "haarcascade_eye.xml"に変更しました。
自分で書いたソースコード
cascade_file = "haarcascade_eye.xml"
cascade = cv2.CascadeClassifier(cascade_file)
検出
img = cv2.imread("img/img10.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
eye_list = cascade.detectMultiScale(gray, minSize=(50, 50))
検出した目に印を付ける
for (x, y, w, h) in eye_list:
color = (0, 0, 225)
pen_w = 3
cv2.rectangle(img, (x, y), (x+w, y+h), color, thickness = pen_w)
cv2.imshow("img",img)
cv2.imwrite("temp.jpg",img)
cv2.waitKey(0)
ちなみに正面の顔認識は以下のソースコードで実行したら出来ました
cascade_file = "haarcascade_frontalface_alt.xml"
cascade = cv2.CascadeClassifier(cascade_file)
検出
img = cv2.imread("img/img02.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_list = cascade.detectMultiScale(gray, minSize=(50, 50))
検出した顔に印を付ける
for (x, y, w, h) in face_list:
color = (0, 0, 225)
pen_w = 3
cv2.rectangle(img, (x, y), (x+w, y+h), color, thickness = pen_w)
cv2.imshow("img",img)
cv2.imwrite("temp.jpg",img)
cv2.waitKey(0)
実現したいこと
エラー文の意味を詳しく教えてもらい、目の認識を実現したい。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。