1

我有 Xubuntu 12.04。如我所见,我的网络摄像头不是由 Linux 版本的 OpenCV 2.4 提供的,因为在 Windows XP(在同一台机器上)代码

CvCapture* capture = cvCaptureFromCAM(0)

不会返回 NULL,但在 Linux 中会。我尝试了许多参数(许多负数、许多正数和零)。

但其他应用程序可以在 Linux 中从我的网络摄像头捕获视频。

我尝试编译和运行这段代码,我认为它运行良好,因为我可以看到点,而且我还可以看到缓冲区的一些奇怪内容(使用 -o 键)。我认为,内容是框架,但我不明白如何使用它(例如,从中创建正确的 IplImage*)。

如何在 Qt 中从我的网络摄像头捕获视频以进行进一步的 OpnenCV 视频处理?

而且我还需要一次从多个 USB 和 IP 摄像机捕获视频。

该解决方案必须免费用于商业用途

4

1 回答 1

2

您必须构建具有 v4l 支持的 OpenCV。看看这个指南。并确保在配置构建后你有这一行:

V4L/V4L2:使用 libv4l

更新:经过一番谷歌搜索后,我发现这是一个错误。请参阅此线程并尝试从第三篇文章中修复(使用LD_PRELOAD或添加v4l1compat.so到链接器)。

于 2012-08-22T17:56:58.847 回答