前提・実現したいこと
Webカメラから写した自分の顔をが認識させたい。
PythonでOpenCvを使い、Webカメラで自分の顔を認識させたいと思ってます。
読み込んだ動画のパス指定の問題と考えているのですが、読み込んだ動画のパスはどのように指定するのでしょうか?
初学者で全く見当違いかもしれません、、
よろしくお願いします。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/Users/username/PycharmProjects/pytello/tools/imaege_face_detect.py", line 12, in <module> gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) cv2.error: OpenCV(4.4.0) /private/var/folders/nz/vv4_9tw56nv9k3tkvyszvwg80000gn/T/pip-req-build-phvnky22/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
該当のソースコード
import cv2 as cv cap = cv.VideoCapture(0) face_cascade = cv.CascadeClassifier('haarcascade_frontalface_default.xml') eye_cascade = cv.CascadeClassifier('haarcascade_eye.xml') while True: ret, frame = cap.read() gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) print(len(faces)) for (x, y, w, h) in faces: cv.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2) eye_gray = gray[y:y+h, x:x+w] eye_color = frame[y:y+h, x:x+w] eyes = eye_cascade.detectMultiScale(eye_gray) for (ex, ey, ew, eh) in eyes: cv.rectangle(eye_color, (ex, ey), (ex+ew, ey+eh), (0, 255, 0), 2) cv.imshow('frame', frame) if cv.waitKey(1) & 0xFF == ord('q'): break cv.destroyAllWindows()
補足情報(FW/ツールのバージョンなど)
mac OS Big Sur Version11.1
Python version 3.9
IDE Pycharm CE
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/26 10:56
2020/12/26 10:59