错误:(-215:断言失败)函数'imshow'中的size.width> 0 && size.height> 0

时间:2019-09-28 20:23:45

标签: python opencv

对于以下代码,我得到断言失败错误,如标题中突出显示。

cap = cv2.VideoCapture('vtest.avi')
ret, frame = cap.read()
cv2.imshow("Feed", frame)

while cap.isOpened():
    ret, frame = cap.read()
    cv2.imshow("Feed", frame)

Error - cv2.error: OpenCV(4.1.1) /Users/travis/build/skvark/opencv-python/opencv/modules/highgui/src/window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'

为了删除可疑路径-视频是我在其中编码的文件夹。我通过替换图片验证了路径,并且效果很好。

我还确认我可以打开视频。由于我在Mac上-我尝试使用VLC,甚至将格式转换为.mp4,因为它支持默认的quicktime播放器,但仍然存在相同的错误。如果我只是尝试从视频中获取图像,那么我会进行第一帧-我已在上面注释了该代码。

如果我尝试下面的代码集

while cap.isOpened():
    ret, frame = cap.read()
    if ret == True:
        cv2.imshow("Feed", frame)

我再也看不到上述断言失败错误,但是供稿框架窗口打开并挂起

当cv2.imshow()无法读取视频或文件时,我将其视为常见错误。我在SO中经历了很多有关此问题的建议,但是不知怎么对我没有帮助。

1 个答案:

答案 0 :(得分:0)

您需要添加

if cv2.waitKey(1) & 0xFF == ord('q'):
    break
cv2.imshow()之后的

。我以前也遇到过同样的问题,并且添加对我有用。