现在,我正在开展一个项目,其中使用许多网络摄像头在C ++中使用OpenCV捕获每个网络摄像头的静止图像。
与其他问题一样,多个高清网络摄像头可能会占用太多带宽并超出限制。
与其他不同,我需要的只是来自每个网络摄像头的静止图像(仅一帧)。假设我有15个网络摄像头连接到PC,每10秒钟我想在5秒内获得静止图像(每个网络摄像头一个图像(共15个图像))。然后分析图像并将结果发送到arduino。
方法1:始终打开所有网络摄像头,每10秒捕获一次图像。 问题:USB的带宽不够。
方法2:打开所有网络摄像头,但一次只打开一个网络摄像头,然后关闭它并打开下一个。 问题:每次切换时,网络摄像机都需要至少5秒钟。
我需要的是每个网络摄像头只有一帧图像和不是视频。
除了USB总线的负载均衡和添加USB PCI卡之外,是否有任何针对此问题的建议?
谢谢。
答案 0 :(得分:0)
在opencv中,您可以将WebCam作为流处理,这意味着您已作为视频运行。但是,我认为应该使用Webcam API解决这类问题。应该采用静止图像的方式将其作为数据返回到程序中。因此,您可以在相机的网站中搜索此内容。