Python 错误:(-215:断言失败)大小。宽度>;0&&;尺寸、高度>;函数'中的0;imshow&x27;

Python 错误:(-215:断言失败)大小。宽度>;0&&;尺寸、高度>;函数'中的0;imshow&x27;,python,opencv,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/sk

对于下面的代码,我得到了标题中突出显示的断言失败错误

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'
为了删除路径为可疑-视频是我所在的同一文件夹的代码。我通过替换为image验证了路径,结果很好

我还验证了我能够打开视频。因为我在Mac上-我尝试了VLC,甚至将格式转换为.mp4,因为它支持默认的quicktime播放器,但仍然存在相同的错误。若我只是尝试从视频中获取图像,我会做第一帧——我已经对上面的代码进行了注释

如果我尝试下面的代码集

while cap.isOpened():
    ret, frame = cap.read()
    if ret == True:
        cv2.imshow("Feed", frame)
我不再看到上面的断言失败错误,但提要框架窗口打开并挂起

当cv2.imshow()无法读取视频或文件时,我将其视为常见错误。关于这一点,我参考了很多建议,但不知怎么的,没有什么对我有用。

你需要补充

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

cv2.imshow()之后。我以前也遇到过同样的问题,添加它对我很有效。

您是否尝试在
cv2.imshow()之后添加
cv2.waitKey(1)