開発環境
windows 10
spyder
opencv3.4.5
リンク内容
このページを参考にして顔認証プログラムを作ろとしています。
自分の場合、正解画像を人の顔とし、不正解画像をテニスボールに設定しました。
import cv2 # 入力画像の読み込み(テスト用画像ファイル) img = cv2.imread("model_1.png") # カスケード型識別器(自作した分類器) cascade = cv2.CascadeClassifier("cascade.xml") gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) # face→ballに変更(そのままでもいいですけど) ball = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30)) # 顔領域を赤色の矩形で囲む for (x, y, w, h) in ball: cv2.rectangle(img, (x, y), (x + w, y+h), (0,0,200), 3) # 結果画像を保存 cv2.imwrite("result_model_1.png",img) #結果画像を表示 cv2.imshow('image', img) cv2.waitKey(0)
runfile('C:/Users/shota/Documents/pypractice/spyder/face_model.py', wdir='C:/Users/shota/Documents/pypractice/spyder') Traceback (most recent call last): File "C:\Users\shota\Documents\pypractice\spyder\face_model.py", line 16, in <module> gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) error: OpenCV(3.4.5) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
試したこと
画像のパスを指定していないのが問題かと思って、指定して実行してもえれあーが起きました。どこを直せば正常に動くようになるのかわからないです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。