【问题标题】:How to solve "cv2. error: (-215) size.width>0 && size.height>0 in function imshow" Error in Python? [duplicate]如何解决 Python 中的“cv2. error: (-215) size.width>0 && size.height>0 in function imshow”错误? [复制]
【发布时间】:2018-02-12 05:00:38
【问题描述】:

这是我用来通过网络摄像头捕捉视频的代码:

import cv2
cap = cv2.VideoCapture(0)

while True:
    ret, frame= cap.read()
    # frame= cv2.resize(frame, None,fx=0.5, fy=0.5, interpolation=cv2.INTER_AREA)
    cv2.imshow('Input', frame)
    c = cv2.waitKey(1)
    if c == 27:
        break
cap.release()
cv2.destroyAllWindows()

错误是:

OpenCV 错误:imshow 中的断言失败 (size.width>0 && size.height>0),文件 /io/opencv/modules/highgui/src/window。 cpp,第 325 行 回溯(最近一次通话最后): 文件“video_capturing2.py”,第 10 行,在 cv2.imshow('输入', 帧) cv2.error: /io/opencv/modules/highgui/src/window.cpp:325: 错误: (-215) size.width>0 && size.height>0 在函数ims中 如何

我该如何解决?每当我运行上面的代码时,ret 标志永远不会是True。我已经尝试过sudo pip3 install opencv-contrib-python,但仍然没有帮助。

【问题讨论】:

    标签: python opencv ubuntu


    【解决方案1】:

    imshow 在传递空图像时失败,正如@101 所指出的那样。在您的情况下,这很可能是因为您忽略了来自cap.read() 的空帧并调用imshow,即使cap.read 返回了一个空图像。

    要解决此问题,请将 while True 循环替换为 while cap.isOpened() 或在读取帧之前检查 cap.isOpened() 是否已成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多