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

时间:2018-10-26 11:38:29

标签: opencv ubuntu-16.04 python-3.5

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

video_capture = cv2.VideoCapture(-1)

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

video_capture = cv2.VideoCapture('test.jpg')

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

2 个答案:

答案 0 :(得分:0)

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

video_capture = cv2.VideoCapture(0)

这是我会首先尝试的。

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

NZXT-U:rt-trx> v4l2-ctl --list-devices
Microsoft® LifeCam Cinema(TM): (usb-0000:00:14.0-1):
    /dev/video1

Microsoft® LifeCam Cinema(TM): (usb-0000:00:1a.0-1.3):
    /dev/video0

/dev/video0对应于设备ID 0,依此类推。

PS:v4l2-ctl对于解决相机问题非常有用,并且比--list-devices的功能还多。我通过软件包v4l-utils将其安装在16.04计算机上。

答案 1 :(得分:0)

后来,但是为了让我的工作正常,我在终端上放了

-ltrh /dev/video*

以获取插入我的计算机的视频设备的列表。然后我每做一次:

sudo chmod 777 /dev/videox

其中x是列出的视频文件之一,因此可以访问所有内容。可能不是最安全的解决方案,但是它可以使我的代码正常工作。