如何区分OpenCV相机

How to distinguish OpenCV cameras?

本文关键字:相机 OpenCV 何区      更新时间:2023-10-16

我正在编写C++类,用于管理多个相机并从中读取帧。假设它是OpenCV的包装器。目前,我正在通过尝试创建0-10范围内的设备来寻找相机,如果有输出,我知道我已经找到了工作相机。我总是可以保存这些相机的内部ID来区分它们,但如果插入了另一台相机怎么办?它可能会破坏ID的顺序。那么,有什么方法可以区分OpenCV相机吗?例如,通过获取它们的硬件ID?

我知道这对你没有多大帮助,但简单的答案是"不,OpenCV目前没有提供这种功能。"

根据文档,任何硬件id都不是可以使用get方法或任何其他方法检索的属性。

话虽如此,如果你非常想使用OpenCV,我仍然会在各种平台上测试OpenCV 2.4.10的行为,并使用各种中间件,看看它的行为如何。如果你有一个一致的行为,那么你可以用它来运行,但要为它在未来的崩溃做好准备。对您有用的是,OpenCV在后端使用各种中间件,如V4L、Qt等,这些中间件维护良好,或多或少保持一致。

回想起来,我现在会完全远离OpenCV的商业软件视频界面,除非你对我描述的情况满意。请注意,OpenCV3.0videoio库目前不稳定,并且有打开的错误报告。