当前位置:   article > 正文

opencv报错,为视频结尾读取帧不正确导致的error_opencv视频帧读取异常

opencv视频帧读取异常

版本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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/280318
推荐阅读
相关标签
  

闽ICP备14008679号