Python
1# -*- coding: utf-8 -*- 2import numpy as np 3import cv2 4 5cap = cv2.VideoCapture('vtest.avi') 6 7while(cap.isOpened()): 8 ret, frame = cap.read() 9 10 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 11 12 cv2.imshow('frame',gray) 13 if cv2.waitKey(25) & 0xFF == ord('q'): 14 break 15 16cap.release() 17cv2.destroyAllWindows()
以上のサンプルを実行すると,必ず以下のようなエラーが出ます.
runfile('C:/Users/yuuro/Documents/Python Projects 2018/Main/sample.py', wdir='C:/Users/yuuro/Documents/Python Projects 2018/Main')
Traceback (most recent call last):
File "<ipython-input-1-dacda80d850f>", line 1, in <module>
runfile('C:/Users/yuuro/Documents/Python Projects 2018/Main/sample.py', wdir='C:/Users/yuuro/Documents/Python Projects 2018/Main')
File "C:\Users\yuuro\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\Users\yuuro\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/yuuro/Documents/Python Projects 2018/Main/sample.py", line 10, in <module>
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
error: OpenCV(3.4.1) C:\bld\opencv_1520732670222\work\opencv-3.4.1\modules\imgproc\src\color.cpp:11147: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
cap.isOpened()がFalseの場合,すなわち動画の最終フレームを表示した後の場合は,ループ処理しないと思っていました.
なので,どうしてこのようなエラーが出て,応答が停止するのか分かりません.
動画再生後,
cap.release()
cv2.destroyAllWindows()
にたどり着くためにはどう解決すればよいでしょうか?
ご意見いただけると幸いです.

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/31 10:43
2018/05/31 10:47
2018/05/31 10:52