首页 > 解决方案 > OpenCV 检测相机但不返回图像馈送,而 guvcview 确实

问题描述

目前,我正在我的 Ubuntu VM 上运行一些 python 代码。VM 检测并连接到我的 Logitech C920,这是我用来连接到 cam 的代码:

stream = cv2.VideoCapture(-1)
time.sleep(10.0)
if not (stream.isOpened()):
    print("Failed to get Video Capture")

我给了它 10 秒,只是为了确保在从实时提要中提取帧之前凸轮完全加载。我使用 cv2.imshow() 来查看帧,即使在代码运行时连接了相机并亮起绿灯,它也是全黑的。

我注意到应用 Cheese 有同样的问题,而 guvcview 工作正常。有人对可能发生的事情有任何想法吗?自从我遇到这个问题以来已经有几天了,所以任何帮助都会很棒!

PS:我也发现了一个关于堆栈溢出的相关问题:Webcam doesn't read through OpenCV but does with guvcview but there is no answer yet

标签: pythonimageopencvubuntuvmware-workstation

解决方案


尝试设置除 -1 以外的索引:

import cv2 ,time
stream = cv2.VideoCapture(0)
time.sleep(10.0)
if not (stream.isOpened()):
    print("Failed to get Video Capture")
else:
    while(True): 
        ret, frame = stream.read() 
        cv2.imshow('frame', frame) 
        if cv2.waitKey(1) & 0xFF == ord('q'): 
            break   

推荐阅读