lista rozszerzeń plików obsługiwanych przez OpenCV

W OpenCV widzę, że imread () i VideoCapture () pobierają ciąg znaków do ścieżki pliku wielu rozszerzeń. Czy istnieje sposób na uzyskanie listy obsługiwanych przez nie rozszerzeń? Na przykład uzyskanie listy „jpg”, „png”, „mov”, „mpg” itd.? Zakładam, że jest to zależne od systemu, a inni muszą zapytać o to w czasie wykonywania.

Ponadto, w jaki sposób określa się wsparcie? Jeśli masz coś podobnego do poniższego kodu, a Mat I wracam zawsze wydaje się być częściowo uszkodzony (widzę trochę obrazu). Wygląda na to, że nie zmienia się niezależnie od numeru ramki, o którą proszę. Mogę odtwarzać ten film w moim totemie odtwarzacza wideo, ale nie jestem nawet pewien, czy totem i OpenCV używają nawet tego samego kodeka dla tego pliku.

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

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

questionAnswers(3)

yourAnswerToTheQuestion