gpt4 book ai didi

c++ - opencv 上的 cvGetCaptureProperty 问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:12:40 25 4
gpt4 key购买 nike

我有一个有效的 opencv 代码,它从我的网络摄像头获取并显示它。 (代码修改自here

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

int fps = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
printf ("Frames per Second: %d\n",fps);

-1 被打印出来。

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

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

提前致谢。

最佳答案

从错误消息来看,这听起来像是您的网络摄像头驱动程序的问题。错误消息来自 Video4Linux(错误消息中的 V4L 或 V4L2),它是包含网络摄像头驱动程序的 Linux 内核的一部分。 select() 失败和“设备不支持”错误消息可能意味着您的网络摄像头没有实现 V4L2 API 的这一部分。

您可以通过使用具有已知良好驱动程序的相机测试您的代码来验证这是否是问题所在。不幸的是,这在内核中包含的网络摄像头驱动程序中非常常见。其中许多是逆向工程,因此访问视频流是一项了不起的壮举。

关于c++ - opencv 上的 cvGetCaptureProperty 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8693534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com