0
我可能有多个VideoCapture摄像机。不幸的是,有时与相机的连接似乎终止。一台摄像机上有多个VideoCapture
例子:
Mat img;
VideoCapture v1(0);
v1.read(img); //img is a valid picture
VideoCapture v2(0);
v1.read(img); //img is a valid picture
v2.read(img); //img is a valid picture
v2 = v1;
v2.read(img); //img is not a valid picture. Connection seems to be closed
这是正确的行为,或者是在OpenCV中的错误吗?
有没有办法来检查一个特定的devicenumber是否已经打开并获得负责任的类?
伪代码:
Mat img;
VideoCapture v1(0);
VideoCapture v2 = alreadyOpen(0);
alreadyOpen(0){
if(VideoCapture(0).isOpen()){ //how do i check that
return "v1" //how do i know where v1 is
}else{
return VideoCapture(0);
}
}
你可以试着解释一下,为什么你想要在同一个设备上获得2次单独捕获?这似乎很奇怪。 – berak
当我调试一些输入/输出以保存某些类的状态时,我偶然发现了这一点。虽然'VideoCaptureVector [0]'已经有一个打开的链接到设备0,我有VideoCaptureVector并且做了一些'VideoCaptureVector [0] = VideoCapture [0]'的行。 –
你为什么要这样做?一旦您可以将图像复制到其他位置并拥有尽可能多的副本,就没有理由这样做。 –