如何让USB摄像头与OpenCV配合使用?

问题描述 投票:0回答:6

我从https://stackoverflow.com/a/34588758/210342复制代码并与默认(内置)相机一起使用,它有效。然后我连接了 USB 摄像头,用 VLC 进行了测试,并更改了打开摄像头的代码

1
:

cam = cv2.VideoCapture(1)

我检查摄像头是否已打开

cam.isOpened()
- 是 - 但摄像头未启用(其硬件指示灯 LED 熄灭),实际上我在屏幕上看到的只是黑框。

是否需要添加一些额外的特殊代码才能启用 USB 摄像头?

python opencv webcam windows-7-x64
6个回答
12
投票

您也可以在这里参考此链接

https://devtalk.nvidia.com/default/topic/1027250/how-to-use-usb-webcam-in-jetson-tx2-with-python-and-opencv-/

在这里,他将下面的行更改为

cap = cv2.VideoCapture("/dev/video1") # check this

在插入相机之前,请转到您的终端主页

  1. 类型
    cd /dev
  2. 输入
    ls video
    然后按 Tab 键,如果您发现结果仅是
    video0
    ,则表示仅存在网络摄像头。
  3. 现在插入 USB 网络摄像头重复 1 至 2。重复这些步骤时,您应该会看到
    video1
    video2

6
投票

你确定USB摄像头是摄像头1吗,我以前做过这个,不得不使用cv2.VideoCapture(0)


6
投票

我遇到了同样的问题,结果有时网络摄像头可以同时占用插槽 0 和 1。 所以

cam = cv2.VideoCapture(2)
对我有用。这是使用上面的
cd /dev
方法发现的。


2
投票

我不知道为什么,但在我的笔记本电脑(Acer Aspire 3)上,只有当我将其插入笔记本电脑的右侧 USB 时,USB 网络摄像头才能与 python opencv 配合使用,而如果将其插入左侧 USB,则不能。因此,请尝试将网络摄像头插入您拥有的所有 USB 端口。 (我还必须按照@Slayahh的建议使用

cam = cv2.VideoCapture(2)


1
投票

根据接受的答案和此https://stackoverflow.com/a/60603969/4451944

我意识到

cv2.VideoCapture(4)
参数4与
/dev/video4

的文件后缀成正比

0
投票

当您使用 USB 网络摄像头作为视频捕获时,只需尝试 cv2.VideoCapture(0) ,它适合我使用 eksternal 网络摄像头

© www.soinside.com 2019 - 2024. All rights reserved.