如何列出使用 OpenCV 连接到系统的相机设备

How to list the camera devices that are connected to a system using OpenCV?

本文关键字:系统 相机 连接 何列出 OpenCV      更新时间:2023-10-16

这个问题本身就很完整。添加更多细节以包括我已经尝试过的事情:

  • 我已经在堆栈交换平台上进行了搜索,但无法解决我的查询。
  • 通过沿途收集的一些线索,我只能计算连接设备的数量。

VideoCapture类在一些帖子中被提及,但这只有用。

我正在与C++一起在Windows平台上工作。

我创建了这个C++类,它允许您枚举可用于获取要在OpenCV中使用的设备列表的设备(包括ID)。它托管在GitHub上

https://github.com/studiosi/OpenCVDeviceEnumerator

这个想法是使用 DirectShow 获取具有 GUID CLSID_VideoInputDeviceCategory类别的所有设备,然后通过枚举器获取它们在系统上的显示顺序,这是通过创建 VideoCapture 对象(通过使用接收 ID 的构造函数, 这将是枚举中设备的索引)。显然,这种方法仅适用于Windows。