繁体   English   中英

独特识别OpenCV相机

[英]Uniquely Identifying OpenCV Cameras

我目前在C ++的Win 7上使用opencv2.4.8和三个摄像头。 我知道如何通过VideoCapture cap等从相机读取,但我无法确定哪个相机是哪个。

根据我的理解, cap.open(int num)接受相机索引。 在我的例子中,这些是0,1和2。

    CAMA = 0 
    CAMB = 1 
    CAMC = 2

但是,如果在启动程序之前,索引0处的凸轮被拔掉,我的摄像机索引会发生变化。

    CAMA //GONE
    CAMB = 0
    CAMC = 1

那么有什么方法可以记住哪个相机哪个(除了每次向用户显示每个相机......)? 也许记录一些可以在重启时读入的相机的唯一ID?

在设备管理器中,我看到USB device - Device Class guid的属性USB device - Device Class guid ,这似乎是一个持久的值。 有没有办法将此ID与凸轮索引相关联?

我在这里搜索并在这里尝试了代码。 我想立体视觉用户通常遇到这个问题,那么人们如何管理这个?

不是真正的答案,但后来我认为没有真正的答案。

我为生产应用程序所做的是完全在OpenCV之外进行视频处理,然后将帧转换为OpenCV图像并进行进一步处理。

在Windows上,您可以使用DirectShow,我也使用了特定于摄像头的API。 不以任何方式携带或方便,但它具有工作的好处。 从好的方面来说,您通常可以访问全套相机设置和功能,而不仅仅是OpenCV定义的几个属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM