OpenCV C ++ - не удается показать видео - PullRequest
1 голос
/ 14 марта 2020

Linux Debian 10 + OpenCV 320.

Очень базовый c образец для воспроизведения видео, но приложение скоро заканчивается без открытия нового окна и без ошибок.

Мои тесты с одинаковыми видео, но разных типов: mp4 и webm. Видео корректно отображается VL C и другими видеопроигрывателями.

#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>

using namespace cv;

int main(int argc, char** argv )
{
    // check
    if ( argc != 2 )
    {
        printf("usage: %s <Video_Path>\n", argv[0]);
        return -1;
    }
    printf("Video: %s\n", argv[1]);

    // load video
    VideoCapture cap ( argv[1]);
    if (!cap.isOpened()){
        printf("Error opening video\n");
    }

    Mat frame;
    while(1){
        // cap.read(frame);
        cap >> frame;
          if (frame.empty()){
              printf(".. frame err\n");
              return -1;
          }
        imshow("Live", frame);
        if (waitKey(5)>=0) break;
    }
    printf("end\n");
    return 0;
}

Вывод:

$ ./DisplayVideo 20200313_152914.webm 
Video: 20200313_152914.webm
end

1 Ответ

0 голосов
/ 15 марта 2020

Я решил навести на char:

if ((char)(waitKey(1))>=0){
...