赞
踩
版本python3.7
以下这段代码来自opencv官网上处理视频的教程:
import numpy as np
import cv2 as cv
cap = cv.VideoCapture('vtest.avi')
while(cap.isOpened()):
ret, frame = cap.read()
#gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
cv.imshow('frame',frame)
if cv.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv.destroyAllWindows()
运行之后出现如下错误:
cv2.error: OpenCV(4.0.1) D:\Build\OpenCV\opencv-4.0.1\modules\highgui\src\window.cpp:360: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
网上找了一圈答案找不着,让我疑惑的是视频仍然可以正常播放,播放完之后才报这个错误。于是在播放时按下'q'键,发现不会报错。
于是怀疑可能时视频末尾读取帧不正确导致的,仔细阅读了下教程,有一句原话:
cap.read() returns a bool (True/False). If frame is read correctly, it will be True.
So you can check end of the video by checking t
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。