使用OpenCV从多个网络摄像头捕获多个STILL图像时带宽太高

时间:2015-12-09 03:15:15

标签: c++ opencv arduino

现在,我正在开展一个项目,其中使用许多网络摄像头在C ++中使用OpenCV捕获每个网络摄像头的静止图像。

与其他问题一样,多个高清网络摄像头可能会占用太多带宽并超出限制。

与其他不同,我需要的只是来自每个网络摄像头的静止图像(仅一帧)。假设我有15个网络摄像头连接到PC,每10秒钟我想在5秒内获得静止图像(每个网络摄像头一个图像(共15个图像))。然后分析图像并将结果发送到arduino。

方法1:始终打开所有网络摄像头,每10秒捕获一次图像。 问题:USB的带宽不够。

方法2:打开所有网络摄像头,但一次只打开一个网络摄像头,然后关闭它并打开下一个。 问题:每次切换时,网络摄像机都需要至少5秒钟。

我需要的是每个网络摄像头只有一帧图像不是视频

除了USB总线的负载均衡和添加USB PCI卡之外,是否有任何针对此问题的建议?

谢谢。

1 个答案:

答案 0 :(得分:0)

在opencv中,您可以将WebCam作为流处理,这意味着您已作为视频运行。但是,我认为应该使用Webcam API解决这类问题。应该采用静止图像的方式将其作为数据返回到程序中。因此,您可以在相机的网站中搜索此内容。