如何使用opencv在代码块中打开视频文件

时间:2014-12-28 09:36:48

标签: c++ opencv

我正在尝试使用代码块中的Open-CV打开视频文件。我已成功集成Open-CV,但无法理解如何打开视频文件。互联网上有一些例子,但它们会得到不同的主要参数程序,这些程序会产生错误:

int main (int arg c, char *arg v[])

并包含我不知道如何在代码块中使用的参数。

1 个答案:

答案 0 :(得分:0)

一个例子:

#include "highgui.h"
int main(int argc, char** argv) {
    cvNamedWindow( "Example", CV_WINDOW_AUTOSIZE);
    CvCapture* capture = cvCreateFileCapture("sample.mkv");
    IplImage* frame;
    while (1) {
        frame = cvQueryFrame(capture);
        if (!frame)
            break;
        cvShowImage( "Example", frame);
        char c = cvWaitKey(33);
        if (c == 27)
            break;
    }
    cvReleaseCapture(&capture);
    cvDestroyWindow ( "Example" );
}

您将在 cvCreateFileCapture 函数中编写视频文件名。

对于argv-argc问题,我建议您使用本教程。

http://crasseux.com/books/ctutorial/argc-and-argv.html

编辑C ++ API

#include "opencv2/opencv.hpp"
using namespace cv;

int main(int, char**) {
    namedWindow("Sample Video", 1);
    VideoCapture cap("sample.mkv");
    if (!cap.isOpened())  // check if we succeeded
        return -1;
    Mat frame;
    while (1) {
        cap >> frame;
        imshow("Sample Video", frame);
        char c = waitKey(33);
        if (c == 27)
            break;
    }
}

感谢karlphillip