Firefly开源社区

打印 上一主题 下一主题

[Linux] 3399pro ubuntu下无法用opencv打开usb摄像头

16

积分

0

威望

0

贡献

技术小白

积分
16
发表于 2021-4-9 19:51:54      楼主
刚好我也遇到了这种问题,本质是因为这个板子在不安装任何摄像头的情况下系统里/dev里面就有至少8个video,而opencv默认支持8个也就是支持/dev/video0到video7,这个时候你插usb摄像头会被系统识别为大于7的video x  然后cv2.VideoCapture(x)就会报错为index x is not correct!  而 cv2.VideoCapture(x)0<=x<=7又会报错 Unable to stop the stream:Invalid argument,因为0-7是无中生有的摄像头。

有两种解决方法:
一, 修改源码再编译安装,opencv源码的./modules/videoio/src/cap_v4l.cpp文件中,明确定义了opencv默认只支持最多8个摄像头的读取
把该cpp文件里面定义的MAX_CAMERAS的8改为12或者更多后再编译安装

不想费事可以用第二种方法:
二,使用udev规则,把外接的usb摄像头映射到video0和1上
具体参见:https://blog.csdn.net/limuyuanrs/article/details/108088644

点评

感谢分享  发表于 2022-4-14 13:28
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表