我在用 C++ (Visual studio) 开发一个程序时遇到了一点问题 - 现在我正在努力连接多个网络摄像头(通过 USB 电缆连接),为每个摄像头创建单独的线程来捕获帧,并创建单独的帧用于处理图像。
我使用 OpenCV 来处理帧,但问题是我没有获得网络摄像头可能性的峰值(它支持 25 fps,我只得到 18)是否有一些库可以用来获取帧,而不是使用 OpenCV 处理它们使帧捕获速度更快?
我做了一些研究,最流行的方法是使用 directshow 来获取帧并使用 OpenCV 来处理它们。
你同意?或者您还有其他解决方案吗?
我不会被某些链接冒犯:)
-
仅当您使用以下命令打开捕获时才使用 DirectShow
CV_CAP_DSHOW 标志,例如:
VideoCapture capture( CV_CAP_DSHOW + 0 ); // 0,1,2, your cam id there
(没有它,它默认为 vfw )
捕获已经在单独的线程中运行,因此用更多线程包装它不会给您带来任何好处。
多个摄像头的另一个障碍是 USB 带宽,因此,如果您的机器背面和正面都有端口,请勿将所有摄像头插入同一端口/控制器,否则您只会使其饱和
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)