首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >opencv上的cvGetCaptureProperty的一个问题

opencv上的cvGetCaptureProperty的一个问题
EN

Stack Overflow用户
提问于 2012-01-01 22:22:12
回答 2查看 5.6K关注 0票数 4

我有一个工作的opencv代码,它从我的网络摄像头中获取提要并显示它。(代码是从一个here修改而来的

唯一的问题是,当我尝试打印每秒帧数值时,

代码语言:javascript
运行
复制
int fps = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
printf ("Frames per Second: %d\n",fps);

-1打印出来。

另一个(侧面)问题是似乎存在一些运行时错误/警告

代码语言:javascript
运行
复制
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
select timeout
HIGHGUI ERROR: V4L2: Unable to get property <unknown property string>(5) - Invalid argument
HIGHGUI ERROR: V4L: Property <unknown property string>(2) not supported by device
HIGHGUI ERROR: V4L2: Unable to get property <unknown property string>(1) - Invalid argument
HIGHGUI ERROR: V4L: Property <unknown property string>(2) not supported by device

但是代码做了它应该做的事情,即显示来自网络摄像头的视频。

有什么办法来解决这些问题吗?我在Eclipse上使用opencv,在Ubuntu 11.10上使用CDT

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-01-01 23:30:17

从错误信息判断,这听起来像是你的摄像头驱动程序出了问题。错误消息来自Video4Linux (错误消息中的V4L或V4L2 ),它是包含网络摄像头驱动程序的Linux内核的一部分。收到select()失败和"not supported by device“错误消息可能意味着您的摄像头没有实现V4L2应用程序接口的这一部分。

您可以通过使用具有已知良好的驱动程序的摄像头测试您的代码来验证这是问题所在。不幸的是,这在内核中包含的摄像头驱动程序中非常常见。它们中的许多都是反向工程的,所以访问视频流是一个相当大的壮举。

票数 2
EN

Stack Overflow用户

发布于 2012-07-23 17:18:45

对于HIGHGUI错误错误,尝试执行以下操作:

代码语言:javascript
运行
复制
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8693534

复制
相关文章

相似问题

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