Pregunta

I might have more than one VideoCapture for a Camera. Unfortunately sometimes the connection to the camera seems to get terminated.

Example:

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

Is this correct behaviour, or is it a bug in OpenCV?

Is there a way to check if a particular devicenumber is already open and get the responsible class?

Pseudocode:

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);
    }
}
¿Fue útil?

Solución

See Comments:

It's not possible, it might be a bug/not clear if the behavior of OpenCV is intentional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top