我正在使用 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++);
最佳答案
So is there a way how to find out the id of currently used device?
没有办法做到这一点,因为 VideoCapture
类不包含此类变量或方法。它实际上包含指向 CvCapture
的 protected
指针(请查看 highgui.h
),因此您可以尝试使用它但您没有有权访问该字段。
关于c++ - 从当前捕获中获取设备 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16639159/