gpt4 book ai didi

c++ - Linux:获取相机设备号

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:26 30 4
gpt4 key购买 nike

我有:带内置摄像头的 Linux 笔记本电脑、另外 2 个摄像头、基于 OpenCV 的程序。

我需要:自动将那两个摄像头的设备号传递给程序。

在 OpenCV 中,您可以使用 videoCapture.open(n); 打开相机,其中 videoCapturecv::VideoCapture 的对象n 是您要打开的相机的设备编号。我的程序使用两个网络摄像头。到这里,本题的 OpenCV 部分就结束了。

通常此n 是硬编码的或由用户手动传递。我想编写一个脚本来自动检测两个所需相机的设备号。但内置摄像头是障碍。

加载时,Linux 默认内置摄像头的设备号为0。两个连接的 USB 相机相应地获得数字 12。当您重新启动笔记本电脑时,您很可能会混淆所有数字,例如内置相机 - 102 - 适用于 USB 相机。无论如何,当我切换平台并在没有内置摄像头的桌面上执行程序时,我必须更改代码中的设备编号。

我想我可以编写 sh 脚本来解析 lsusb | 的输出grep Logitech(那两个 USB 网络摄像头是 Logitech 的)并根据 USB 总线编号获取设备编号,但重启的东西阻碍了这一点。

对于我可以检查的问题的任何想法和想法,我将不胜感激。

最佳答案

我认为您应该枚举 USB 设备——您可以在此处查看有关如何操作的详细信息: Enum USB devices in Linux/C++

对于与您类似的先前问题,请参阅:How to count cameras in OpenCV 2.3?

关于c++ - Linux:获取相机设备号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789272/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com