使用OpenCV从多个网络摄像头捕获多个静止图像时带宽过高

Too high bandwidth in capturing multiple STILL images from multiple webcams with OpenCV

本文关键字:静止图像 带宽 摄像头 OpenCV 网络 使用      更新时间:2023-10-16

现在,我正在做一个项目,其中许多网络摄像头用于在C++中使用OpenCV为每个网络摄像头捕获静态图像。

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

与其他不同,我只需要每个网络摄像头的静态图像(仅一帧)。假设我有15个网络摄像头连接到电脑,每10秒我想在5秒内获得静态图像(每个网络摄像头一个图像(总共15个图像))。然后对图像进行分析,并将结果发送给arduino。

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

方法2:打开所有网络摄像头,但一次只能打开一个网络摄像头,然后关闭并打开下一个。问题:将网络摄像头从一个切换到另一个至少需要5秒。

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

除了USB总线的负载平衡和添加USB PCI卡之外,还有什么建议吗?

谢谢。

在opencv中,您可以将WebCam作为流处理,这意味着您已经作为视频运行。然而,我认为这种问题应该使用网络摄像头API来解决,如果它可用的话。应该有一种或另一种方法来拍摄静止图像并将其作为数据返回到程序中。所以,你们可以在相机的网站上搜索这个。