【问题标题】:cv2.VideoCapture errorcv2.VideoCapture 错误
【发布时间】:2016-01-18 09:52:23
【问题描述】:

关于cv2.VideoCapture 已经存在很多问题,但这对我没有帮助。 我正在使用 OpenCV 2.4.10 和 python 2.7.9 ,我正在尝试从内置网络摄像头(东芝,Windows 7)捕获视频。我正在使用此代码

import numpy as np 
import cv2

cap = cv2.VideoCapture(1)
print cap.isOpened()
print cap.get(3)
print cap.get(4)
while(True):
    ret,frame=cap.read()
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

问题是,当我第一次运行此代码时,它会抛出错误:error: (-215) size.width>0 && size.height>0 in function cv::imshow

等了不到一分钟后,我再次运行这段代码,这次没问题

这种情况一次又一次地发生,有时效果很好,但有时会失败并出错。有什么解决办法吗?

我将opencv_ffmpeg2410.dll文件从C:\Applications\opencv\build\x86\vc10\bin复制到python路径C:\Python27(OpenCV 2.4 VideoCapture not working on Windows)

我尝试了 cv2.VideoCapture(0),但在这种情况下,网络摄像头甚至没有启动(网络摄像头灯没有闪烁)

【问题讨论】:

    标签: python opencv


    【解决方案1】:

    由于您没有检查ret 返回值的值,cap.read() 可能会给您一个坏帧。

    用类似的东西替换

    while True:
        ret, frame = cap.read()
        if ret:
            cv2.imshow('window', frame)
            # ...
    

    【讨论】:

      猜你喜欢
      • 2021-07-17
      • 2021-12-20
      • 2017-07-10
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2020-12-25
      • 1970-01-01
      相关资源
      最近更新 更多