视频错误:V4L:找不到摄像头设备

Nee*_*rma 8 opencv python-3.5 ubuntu-16.04

我正在使用 ubuntu16.04 并尝试运行 opencv 脚本。当我使用时:

video_capture = cv2.VideoCapture(-1)
Run Code Online (Sandbox Code Playgroud)

它给了我错误视频错误:V4L:找不到摄像头设备没有视频窗口打开但是当我运行时

video_capture = cv2.VideoCapture('test.jpg')
Run Code Online (Sandbox Code Playgroud)

它打开窗口显示图片并关闭窗口。请告诉我为什么它不直接从摄像机流式传输视频。

Ulr*_*ern 4

api55 在他的评论中给出的建议

\n\n
video_capture = cv2.VideoCapture(0)\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我首先要尝试的。

\n\n

ls /dev/video*通常,您可以使用或列出可用的摄像机v4l2-ctl --list-devices。这里是示例输出:

\n\n
NZXT-U:rt-trx> v4l2-ctl --list-devices\nMicrosoft\xc2\xae LifeCam Cinema(TM): (usb-0000:00:14.0-1):\n    /dev/video1\n\nMicrosoft\xc2\xae LifeCam Cinema(TM): (usb-0000:00:1a.0-1.3):\n    /dev/video0\n
Run Code Online (Sandbox Code Playgroud)\n\n

/dev/video0对应设备id 0等

\n\n

PS:v4l2-ctl对于解决相机问题非常有用,并且可以做的比--list-devices. v4l-utils我在 16.04 机器上通过包安装了它。

\n