若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141421625
长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…)
Qt开发专栏:各种问题解决(点击传送门)
问题
写算法,使用Qt+opencv,用opencv打开多个usb摄像头,单usbhub无法同一时刻打开超过1个摄像头。
尝试
前置条件:摄像头是1080p的,打开参数为1280x720,使用10fps;
1.单独打开1,可以,打开2不可以,关闭1打开2可以,关闭2打开3可以,关闭3,打开4可以;
2.usbhub买的是10米的带额外供电usb插头的,外接了usb供电也只能打开一个摄像头;
3.使用了usbhub另外一个3米的,可以与10米的usbhub同时打开,测试可以打开2个。
4.在笔记本上,使用比较好的3.0hub,打开超过1个摄像头也是无法打开,或者打开获取的图片为null。
5.在笔记本上,使用另外一个主板的usb口可以打开一个,加上hub就打开了2个。
原因
1.供电问题(已排除)
2.usb2.0线的带宽问题
3.usb3.0线的带宽问题(摄像头的usb线是2.0的)
临时解决
打开一个摄像头,缓存画面,继续打开下一个即可。
初步矫正畸变后:
最终解决
采购usb延长线,每一个摄像头单独接,然后插入电脑的pc。
弊端是,这里必须是台式机,因为笔记本一般只有1-3个usb口。
算法阶段临时使用usb摄像头构建外围硬件环境。
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141421625