[opencv]2.播放一段视频

本文的环境同上篇博客:win10 64位+vs 2013+opencv 2.4.9

1.新建一个工程名字叫:OpencvTest1,按照上一篇博客的步骤配置好环境。

2.新建main.cpp的文件,并写入以下代码:

#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char* argv[])
{
    VideoCapture cap("test.mp4"); // 打开名为:test.mp4的视频文件

    if (!cap.isOpened())  // 打开不成功,则退出。
    {
        cout << "Cannot open the video file" << endl;
        return -1;
    }

    cap.set(CV_CAP_PROP_POS_MSEC, 60000); //类似于跳过片头。这里跳过60S片头

    double fps = cap.get(CV_CAP_PROP_FPS); //从视频中获取视频的帧数

    cout << "Frame per seconds : " << fps << endl;

    namedWindow("MyVideo", CV_WINDOW_AUTOSIZE); //创建一个名字叫做MyVideo的窗体,用来显示视频

    while (1)
    {
        Mat frame;

        bool bSuccess = cap.read(frame); // 读取一个帧

        if (!bSuccess) 
        {
            cout << "Cannot read the frame from video file" << endl;
            break;
        }

        imshow("MyVideo", frame); //播放一个帧

        if (waitKey(30) == 27) //在播放途中按了ESC键就退出
        {
            cout << "esc key is pressed by user" << endl;
            break;
        }
    }
    waitKey(60000);
    return 0;
}

3.将视频文件拷贝到项目目录下:

4.点击运行,就可以看到播放效果了:

你可能感兴趣的:(opencv)