使用OpenCV从多个网络摄像头捕获多个静止图像时带宽过高
Too high bandwidth in capturing multiple STILL images from multiple webcams with OpenCV
现在,我正在做一个项目,其中许多网络摄像头用于在C++中使用OpenCV为每个网络摄像头捕获静态图像。
与其他问题一样,多个高清网络摄像头可能会占用过多带宽并超出限制。
与其他不同,我只需要每个网络摄像头的静态图像(仅一帧)。假设我有15个网络摄像头连接到电脑,每10秒我想在5秒内获得静态图像(每个网络摄像头一个图像(总共15个图像))。然后对图像进行分析,并将结果发送给arduino。
方法1:始终打开所有网络摄像头,每10秒拍摄一次图像。问题:USB的带宽不够。
方法2:打开所有网络摄像头,但一次只能打开一个网络摄像头,然后关闭并打开下一个。问题:将网络摄像头从一个切换到另一个至少需要5秒。
我需要的是每个网络摄像头只有一帧图像,而不是视频。
除了USB总线的负载平衡和添加USB PCI卡之外,还有什么建议吗?
谢谢。
在opencv中,您可以将WebCam作为流处理,这意味着您已经作为视频运行。然而,我认为这种问题应该使用网络摄像头API来解决,如果它可用的话。应该有一种或另一种方法来拍摄静止图像并将其作为数据返回到程序中。所以,你们可以在相机的网站上搜索这个。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 平均图像时图像损坏
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- Vulkan验证层不断在VkQueuePresentKHR()上抛出图像布局错误
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 将图像添加到资源文件夹UWP C++
- 彩色图像的卤化物处理平均值
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 重新定位图像时如何前进到下一个内存块
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 为什么 BMP 图像上的 imwrite 会卡住/不返回?
- 将像素打包在盒子中的 1 位/带宽/二进制图像中
- 静止图像::获取设备列表指针
- 使用OpenCV从多个网络摄像头捕获多个静止图像时带宽过高
- 媒体基金会错误地将静止图像捕获流描述符标记为视频捕获