OpenCV是否支持v4l2?

Lor*_*tre 3 opencv v4l2

我正在使用OpenCV编写Python程序,但我无法从v4l2摄像头捕获图像.

我尝试使用PS2 EyeToy和Droidcam(Android虚拟网络摄像头),它们都使用v4l2,但它们都不起作用:cv.CaptureFromCAM(0)只返回None.

我可以在其他程序中使用两个网络摄像头(尝试过VLC和Kamerka).

我想OpenCV只支持v4l,而不支持v4l2.

我怎么解决这个问题?是否存在v4l2-> v4l转换器?

编辑:我读过cv.CaptureFromFile使用ffmpeg来解码视频文件.是否可以手动指定格式,所以我可以使用ffmpeg的video4linux2demuxer?

小智 7

对于OpenCV 3.2.0,包括以下cmake选项对我有用

来自https://github.com/opencv/opencv/issues/7974

-DWITH_V4L=ON 
-DWITH_LIBV4L=ON
Run Code Online (Sandbox Code Playgroud)

我不太确定这个是否有影响,但是从VideoCapture在Anaconda中不起作用

-DWITH_FFMPEG=1
Run Code Online (Sandbox Code Playgroud)

在我的cmake选项中包括所有3个似乎是最终使我的工作