在最近的项目中遇到了需要同时调用两个usb摄像头的问题,在初步尝试中程序却报了错:
经过查找资料得知,电脑主机上usb2.0插口所能提供的带宽有限,当有两个摄像头同时接入usb2.0时会导致带宽不足。
故解决方法为:将一个摄像头接入usb2.0插口,另一个接入usb3.0插口;或者将两个摄像头都接入usb3.0插口
另外,在ubuntu系统中,可尝试加入cv2中的以下代码来降低摄像头传入图像的分辨率,节省带宽来同时调用两个摄像头:
# 设置摄像头传入图像的分辨率(以下参数还可继续修改成更小的参数值)
camera1.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
camera1.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
camera2.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
camera2.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)