首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV是否支持v4l2?

OpenCV是否支持v4l2?
EN

Stack Overflow用户
提问于 2013-03-15 23:19:15
回答 3查看 9.2K关注 0票数 3

我正在使用OpenCV编写一个Python程序,但是我无法从v4l2相机捕获图像。

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

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

我猜OpenCV只支持v4l,不支持v4l2。

我该如何解决这个问题?是否存在v4l2->v4l转换器?

编辑:我读到cv.CaptureFromFile使用ffmpeg来解码视频文件。可以手动指定格式,这样我就可以使用ffmpeg的video4linux2多路分解器了吗?

EN

回答 3

Stack Overflow用户

发布于 2017-06-18 13:14:32

对于OpenCV 3.2.0,在cmake选项中包含以下内容对我有效

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

代码语言:javascript
复制
-DWITH_V4L=ON 
-DWITH_LIBV4L=ON

我不太确定这个是否有影响,但来自VideoCapture Does Not Work in Anaconda

代码语言:javascript
复制
-DWITH_FFMPEG=1

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

票数 7
EN

Stack Overflow用户

发布于 2013-03-16 04:01:26

OpenCV确实支持V4L2,但可能不是默认支持。

下载OpenCV的源代码和确保您的系统上安装了v4l2头文件和库。

在使用cmake配置OpenCV之后,检查它的输出:

代码语言:javascript
复制
--   Video I/O:
--     DC1394 1.x:                  NO
--     DC1394 2.x:                  YES (ver 2.2.0)
--     FFMPEG:                      YES
--       codec:                     YES (ver Unknown)
--       format:                    YES (ver Unknown)
--       util:                      YES (ver Unknown)
--       swscale:                   YES (ver Unknown)
--       gentoo-style:              YES
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
--     PvAPI:                       NO
--     GigEVisionSDK:               NO
--     QuickTime:                   NO
--     QTKit:                       YES
--     V4L/V4L2:                    NO/NO

如果您注意到上面的输出,那么在我的系统上构建OpenCV时不会支持V4L/V4L2,因为我没有安装必要的开发文件。

票数 3
EN

Stack Overflow用户

发布于 2020-03-07 02:25:01

我不得不更新摄像头的权限,然后OpenCV开始为我工作。

代码语言:javascript
复制
sudo chmod 0777 /dev/video0
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15435988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档