-1
我想用opencv和python實現人臉識別。 而不是從攝像頭識別臉部,我想從視頻中識別臉部。 我使用此代碼從網絡攝像頭識別,它的工作原理。但是當我改變代碼從視頻中讀取時,我得到一個錯誤。人臉識別opencv
webcam = cv2.VideoCapture(0)
time.sleep(2)
while True:
(_, im) = webcam.read()
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
webcam = cv2.VideoCapture('man.avi')
time.sleep(2)
while True:
(_, im) = webcam.read()
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
從視頻看,我用:
webcam = cv2.VideoCapture('man.avi')
我得到這個錯誤:
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-6-09b5782a88bc> in <module>()
38 while True:
39 (_, im) = webcam.read()
---> 40 gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
41
42 faces = face_cascade.detectMultiScale(gray, 1.3, 5)
Error: ..\..\..\..\opencv\modules\imgproc\src\color.cpp:3739: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
解決,任何建議?
心靈的[文件]中的說明(http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display .html#playing-video-from-file):「*確保安裝了正確版本的ffmpeg或gstreamer。有時,使用視頻捕捉工作非常頭疼,主要是由於ffmpeg/gstreamer安裝錯誤。*」 – agtoever
你確定你正在給正確的過載?由於您在工作代碼中使用了0,這是一個整數。 –
嘗試像「C:/mydata/man.avi」或「/home/user/myvideos/man.avi」這樣的視頻的完整路徑,以確保您沒有意外的工作目錄... – Micka