我在C++(Visual Studio)开发我的一个程序时遇到了一点问题 - 现在我正在努力与多个网络摄像头连接(通过USB线连接),为每个它们将线程分开以捕获帧,并分离用于处理图像的帧。我使用OpenCV来处理帧,但问题是,我没有得到一个网络摄像头的可能性的高峰(它支持25帧,我只得到18)有一些库,我可以用来获取帧,比处理它们使用OpenCV可以更快地捕获帧?从网络摄像头获取帧的最快方法
我正在研究一下,最流行的方法是使用directshow来获取帧和OpenCV来处理它们。
你同意吗?或者你有另一种解决方案? 我不会被一些链接冒犯:)
非常感谢您提供的信息,我不想挑剔,但是您能否向我提供使用Directshow捕获帧的示例代码,而在C++中没有任何不必要的过滤器? – user2058851 2013-02-12 17:30:02
最简单的(不是最好的,但仍然是最简单的!)就是制作一个这样的链:'Capture Filter' - >'Sample Grabber Filter' - >'Null Renderer Filter'。所有这三个都是标准的,并且有很多示例代码。第一个对应于一个摄像头,你设置捕获格式,第二个是你设置你的回调接收单个帧的位置。所有这一切都会让你的代码从相机的每一帧中调用。 – 2013-02-12 19:35:21
你可以看看VideoCapture.lib的src,这是opencv在这里使用的:[https://github.com/ofTheo/videoInput/tree/master/videoInputSrcAndDemos/libs/videoInput] – berak 2013-02-12 19:39:03