在opencv python中使用网络摄像头会显示一个带有waitkey()的黑屏

2024-10-02 12:31:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过opencvpython VideoCapture访问一个基本的网络摄像头(logitechc270)。不幸的是,每次我运行程序时,显示屏都会变成黑色。我知道相机能用,因为我可以通过他们的软件观看视频。我很清楚,一定要输入waitkey(x),这样就不是问题了。我还有以下代码,以防索引发生变化:

for i in range(4):
        capture = cv2.VideoCapture(i)
        if not capture:
            print "UNABLE TO CAPTURE CAMERA"
        else:
            print "taken camera from index: ", i
            break

但每次都返回0索引。问题并不是它找不到它,因为我有一部分代码可以告诉我相机是否能够检索到帧,所以可能是read()的问题。 最后,可能的问题是,我的wait键在代码中缩进了太多,可能有四个索引,所以每次都不能引用waitkey。这里是我的代码块,涉及到这一点。我是新来的,所以我确信优化和技术是非常糟糕的。在

^{pr2}$

我为了长度而剪下部分,所以“…”就是为了这个。在


Tags: 代码程序网络for视频软件capture摄像头
1条回答
网友
1楼 · 发布于 2024-10-02 12:31:04

你应该在这个循环之后添加一个安全检查,以确保它找到了什么。

现在看来,即使找不到任何东西,代码仍在执行:

import sys
import cv2
i = 0
found = False
for i in range(4):
        capture = cv2.VideoCapture(i)
        if not capture:
            print "UNABLE TO CAPTURE CAMERA"
        else:
            found = True
            print "taken camera from index: ", i
            break

if found == False:
    print "!!! No camera was found."
    sys.exit()

相关问题 更多 >

    热门问题