如何列出使用OpenCV连接到系统的摄像头设备?

时间:2017-01-20 08:07:33

标签: c++ opencv camera

问题本身就是完整的。添加一些细节以包括我已尝试过的内容:

  • 我在stackexchange平台上搜索过,但无法解决我的查询问题。
  • 通过我沿途收集的一些线索,我只计算连接设备的数量。

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

我正在使用C ++在Windows平台上工作。

1 个答案:

答案 0 :(得分:0)

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

https://github.com/studiosi/OpenCVDeviceEnumerator

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