【问题标题】:Webcam not found (no img stream) cv2.error: ... (-215) size.width>0 &&找不到网络摄像头(没有 img 流) cv2.error: ... (-215) size.width>0 &&
【发布时间】:2017-08-02 09:24:54
【问题描述】:

我知道,这个话题已经有几个主题了,不过我的情况似乎还没有解决。我只是无法让我的程序在笔记本电脑上使用我的网络摄像头(Logitech 的 B910)拍摄图像。 我正在 Ubuntu 16.04 上运行一个程序,该程序正在使用我正在使用的相同网络摄像头的其他机器上运行。为方便起见,这里有一个最低版本:

import cv2
device = -1
def show_webcam(mirror=False):
    cam = cv2.VideoCapture(device)
    print cam.isOpened(), cam.read()
    while True:
        ret_val, img = cam.read()
        if mirror:
            img = cv2.flip(img, 1)
        cv2.imshow('my webcam', img)
        if cv2.waitKey(1) == 27:
            break  # esc to quit
    cv2.destroyAllWindows()

def main():
    show_webcam(mirror=True)

if __name__ == '__main__':
    main()

打印命令产生:False, (False, None) 从命令行运行奶酪,显示网络摄像头流,内置摄像头也在工作。 所以我尝试了 -1、0、1、2 和其他设备值,但没有任何效果。我在 cam =... 之后放了一个 time.sleep(2),也没有结果。我没有找到更多关于此的内容,有人可以帮忙吗?谢谢!

注意: cv2.__file__ 是 'usr/local/lib/python2.7/dist-packages/cv2/cv2.so'

cv2.__version__ 是“3.2.0”

cv2.getBuildInformation()这里有点长,请问有什么重要信息吗?

【问题讨论】:

  • 为什么 device = -1 ?如果你只有一个摄像头,通常应该是 0,1 或 2 ..否则
  • -1 分配它找到的第一个设备。我也试过 0,1,2,同样的错误。

标签: python-2.7 opencv computer-vision webcam


【解决方案1】:

删除设备,把code改成cam = cv2.VideoCapture(0),看看能不能用?
通常,如果您的相机使用奶酪,驱动程序应该没问题。

cv2.videocapture(0) 是设备默认值。
您的计算机上是否有其他相机设备?

【讨论】:

  • 我试过了,它没有,反正应该是一样的,因为我已经厌倦了设备 = 0。我有笔记本电脑的内置摄像头和两个 B910 之一打算使用。所有组合都失败。奶酪起作用了,这对我来说并不是一件奇怪的事情。
  • @mamamamama:嗯,我不能说真正的原因是什么。只能给你一个建议,就是设置分辨率吧。如果你的电脑是usb2.0,可能会出现带宽问题。
  • 嗯,它也适用于其他带有 2.0 交换机的计算机。我认为这可能会有所不同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-10
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2018-04-26
相关资源
最近更新 更多