我有Xubuntu 12.04。 我可以看到,我的网络摄像头不是由Linux版本的OpenCV 2.4提供的,因为在Windows XP(在同一台机器上)代码
CvCapture* capture = cvCaptureFromCAM(0)
不会返回NULL,但在Linux中它会返回NULL。我尝试了许多论点(许多负面,许多正数和零)。
但是其他应用程序可以从Linux中的网络摄像头捕获视频。
我已经尝试编译并运行this code,我认为它运行良好,因为我可以看到点,我也可以看到一些奇怪的缓冲区内容(使用-o键)。我认为,内容是框架,但我无法理解,如何使用它(例如,从中创建正确的IplImage *)。
如何从Qt中的网络摄像头捕获视频以进一步进行OpnenCV视频处理?
我还需要一次从多个USB和IP摄像头捕获视频。
解决方案必须免费用于商业用途。
答案 0 :(得分:2)
您必须使用v4l支持构建OpenCV。看看这个guide。并确保在配置构建之后您有以下这一行:
一些谷歌搜索后,V4L / V4L2:使用libv4l
更新:我发现这是一个错误。请参阅this thread并尝试从第三篇文章中修复(使用LD_PRELOAD
或将v4l1compat.so
添加到链接器)。