lista de extensiones de archivos soportados por OpenCV

En OpenCV, veo que imread () y VideoCapture () llevan una cadena a una ruta de archivo de múltiples extensiones. ¿Hay una manera de obtener una lista de extensiones que son compatibles con ellos? Por ejemplo, obtener una lista de "jpg", "png", "mov", "mpg", etc.? Supongo que esto depende del sistema y otros han necesitado consultar esto en tiempo de ejecución.

Además, ¿cómo se determina el apoyo? Si tengo algo como el código de abajo y el Mat que vuelvo siempre parece estar parcialmente dañado (puedo ver un poco de la imagen). No parece cambiar independientemente del número de marco que solicite. Puedo reproducir este video en mi reproductor de video "totem", pero ni siquiera estoy seguro de si totem y OpenCV están usando el mismo códec para este archivo.

Mat fromVideo(std::string _videoPath, int frame) {
    VideoCapture capture(_videoPath);

    Mat f;
    for (int i = 0; i < frame; i++) {
        capture >> f;
    }
    return f;
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta