如何让 USB 摄像头与 OpenCV 一起工作?

How to make USB camera work with OpenCV?

我从 复制代码并与默认(内置)相机一起使用,它有效。然后我连接了 USB 摄像头,用 VLC 测试并更改了代码以打开摄像头 1:

cam = cv2.VideoCapture(1)

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

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

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

您也可以在此处 link 参考

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。当你重复这些步骤时,你应该找到 video1video2

我运行遇到了同样的问题,结果有时网络摄像头可以占用插槽 0 和 1。 所以 cam = cv2.VideoCapture(2) 对我有用。这是使用上面的 cd /dev 方法找到的。

根据接受的答案和这个

我实现了cv2.VideoCapture(4)参数4与/dev/video4

的文件后缀成正比

我不知道为什么,但在我的笔记本电脑 (Acer Aspire 3) 上,usb 网络摄像头只能与 python opencv 一起使用,前提是我将它插入笔记本电脑的右侧 usb,而不是如果我将它插入左侧USB。因此,请尝试将网络摄像头插入 您拥有的所有 USB 端口 。 (我还必须按照@Slayahh的建议使用cam = cv2.VideoCapture(2)