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

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

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值