Linux:获取相机设备编号
Linux: getting camera device number
我有:带有内置摄像头的Linux笔记本电脑,2个其他摄像头,基于OpenCV的程序。
我需要:将这两个相机的设备编号自动传递给程序。
在OpenCV中,您可以使用videoCapture.open(n);
打开相机,其中videoCapture
是cv::VideoCapture
的对象,n
是要打开的相机的设备编号。我的程序使用两个网络摄像头。在这里,OpenCV部分问题已经结束。
通常,此n
是硬编码或由用户手动传递的。我想编写一个脚本,自动检测两个所需相机的设备编号。但内置摄像头是障碍。
加载时,Linux 默认内置摄像头的设备编号为 0
。两个连接的USB摄像头会相应地1
和2
数字。当您重新启动笔记本电脑时,您很可能会混淆所有数字,例如内置摄像头 - 1
,0
和2
- 用于USB摄像头。无论如何,当我切换平台并在没有内置摄像头的桌面上执行程序时,我必须更改代码中的设备编号。
我以为我可以编写 sh 脚本来解析 lsusb | grep Logitech
的输出(这两个 USB 网络摄像头是罗技的网络摄像头)并根据 USB 总线号获取设备编号,但重新启动会阻碍这一点。
我将不胜感激任何关于我可以检查的问题的想法和想法。
我认为您应该枚举USB设备 - 您可以在此处查看有关如何执行此操作的详细信息:Linux/C++ 中的枚举 USB 设备
有关之前与您类似的问题,请参阅: 如何在 OpenCV 2.3 中计算相机?
相关文章:
- 了解 GLM- openGL 中的相机转换
- OpenGL相机和相机空间转型的困惑
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 如何在数组中找到最小编号的索引号?
- 通过 API 控制 DJI 相机
- 将相机数据从服务器实时流式传输到客户端
- 来自逆 vp 矩阵和相机位置的光线方向不正确
- 贪婪算法编号列表
- OpenCV - Python 断言错误:SAD 算法 - 立体相机视差图计算
- Qt 和 Android - 如何使用 Qandroidjniobject 启动相机
- 在Windows(C++)中使用USB相机拍摄高分辨率照片
- 如何在相机类中添加胶卷
- 强制Qt相机视频格式
- 为什么在尝试测量函数返回所需的时间时,我的运行时编号是错误的?
- 操纵安卓相机的深度图导致应用程序崩溃
- 深度值没有意义 R200 相机
- Qt QML相机在部署后显示白屏
- Opencv 如何从相机读取单帧
- 为什么在为其分配编号后无法显示我的字符串值?
- Linux:获取相机设备编号