从当前捕获中获取设备ID

时间:2013-05-19 20:28:05

标签: c++ opencv camera

我正在使用OpenCV来获取一些视频帧。这是相机捕获的初始化方式:

VideoCapture capture;
capture.open(0);  //Read from camera #0

如果我想切换到不同的相机,我会这样做:

capture.release();  //Release the stream
capture.open(1);    //Open different stream

想象一下,你有几台相机连接到你的电脑,你想用两个按钮上一个相机下一个相机循环它们。如果不将当前摄像机ID保存到变量,我需要从VideoCapture对象获取实际值 那么如何找出当前使用的设备的 ID

伪代码:

int current = capture.deviceId;
capture.release();
capture.open(current++);

1 个答案:

答案 0 :(得分:0)

  

那么有没有办法找出当前使用的设备的ID?

由于类VideoCapture不包含此类变量或方法,因此无法执行此操作。它实际上包含指向protected的{​​{1}}指针(请查看CvCapture),以便您可以尝试使用它,但您无法访问此字段。