python - 如何解决 Python 中的 "cv2. error: (-215) size.width>0 && size.height>0 in function imshow"错误?

标签 python opencv ubuntu

<分区>

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

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 Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /io/opencv/modules/highgui/src/window. cpp, line 325 Traceback (most recent call last):   File "video_capturing2.py", line 10, in    cv2.imshow('Input', frame) cv2.error: /io/opencv/modules/highgui/src/window.cpp:325: error: (-215) size.width>0 && size.height>0 in function ims how

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

最佳答案

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

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

关于python - 如何解决 Python 中的 "cv2. error: (-215) size.width>0 && size.height>0 in function imshow"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48739788/

相关文章:

Python OpenCV HoughLinesP 直线检测不准确

oracle - 在 Linux 的 Windows 子系统上安装 Oracle Instant Client

ubuntu - .net 核心站点在 ubuntu 上部署后未更新

python - 有没有办法使用找到的顺序模式作为聚类算法的输入

python - MultiIndex 数据帧的 Pandas HDFStore : how to efficiently get all indexes

python - 延迟加载属性

javascript - ubuntu 13.10 和 xampp linux 1.8.3 中的 sfRenderException

python - 操作系统级的改变可以加速 Python 的多重处理?

OpenCv 链接问题

opencv - GrabCut 的 GPU 版本