###前提・実現したいこと
Python2.7+OpenCV2.4.13でwebカメラから顔認識を行い、キャプチャするプログラムを書いています。
実装中に以下のエラーメッセージが発生しました。
###発生している問題・エラーメッセージ
error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
###該当のソースコード
Python
1import cv2 2import threading 3 4i = 0 5 6class Face_rect(threading.Thread): 7 def __init__(self, frame): 8 print("start") 9 super(Face_rect, self).__init__() 10 self._cascade_path = 'C:\opencv\sources\data\haarcascades\haarcascade_frontalface_alt.xml' 11 self._color = (0, 187, 254) 12 self._frame = frame 13 def run(self): 14 self._frame_gray = cv2.cvtColor(self._frame, cv2.COLOR_BGR2GRAY) 15 self._cascade = cv2.cascadeClassifier(self._cascade_path) 16 self._facerect = self._cascade.detectMultiScale(self._frame_gray, scaleFactor = 1.11, minNeighbors = 3, minSize = (5, 5)) 17 global i 18 19 if len(self._facerect) > 0: 20 for self._rect in self._facerect: 21 cv2.rectangle(self._frame_gray, tuple(self._rect[0:2]), tuple(self._rect[0:2] + self._rect[2:4]), self._color ,thickness = 2) 22 cv2.imwrite(str(i) + ".jpg", self._frame_gray) 23 i += 1 24 25cap = cv2.VideoCapture() 26 27while(1): 28 ret, frame = cap.read() 29 30 cv2.imshow("test", frame) 31 if(threading.active_count() == 1): 32 th = Face_rect(frame) 33 th.start() 34 35 k = cv2.waitKey(10) 36 if k == 27: 37 break 38 39cap.release() 40cv2.destroyAllWindows()
###試したこと
通常にカメラを起動し、キャプチャした画像を顔認識する事はできるのですが、スレッドにした所上手くいきません。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。