打开一段视频
//
// main.cpp
// Study02
//
// Created by Sean on 16/2/11.
// Copyright © 2016年 Sean. All rights reserved.
//
#include <iostream>
#include "highgui.h"
using namespace std;
int main(int argc, const char * argv[]) {
// insert code here...
cout << "Hello, World!\n";
char A[]="Example2";
cvNamedWindow(A,CV_WINDOW_AUTOSIZE);
//此用法请看前一篇文章
//CvCapture* capture= cvCreateCameraCapture(0);
/*生成一个指向视频文件的结构体指针,注意视频和图像的指针不一样哦!!一个是CvCapture,一个是IplImage。
cvCreateCameraCapture(0)表示从摄像头获取视频,cvCreateFileCapture表示从文件获取视频,准确的说是
获取视频信息*/
CvCapture* capture=cvCreateFileCapture("/Users/sean/Documents/untitled folder/2.avi");
IplImage* frame=cvQueryFrame(capture);
/*装载下一帧视频文件至内存,返回对应当前帧的指针,这功能说白一点就是一帧一帧的加载图像咯*/
while(1)
{
if(!frame) break;
/*试探是否为空帧*/
frame = cvQueryFrame(capture);
/*功能同上,不要问我之前为毛要加载一帧,我不是很严谨,只是为了单纯申请个图像指针,然后不让她看着那么
孤独,于是就帮她加载了一帧图像咯*/
cvShowImage(A, frame);
/*显示这一帧图像,在哪儿显示呢?当然在窗口A啦(A[]="Example2")*/
char c = cvWaitKey(33);
if(c==27) break;
/*每33毫秒获取一下键盘数据,如果键盘输入了“ESC”就退出*/
}
cvReleaseCapture( &capture );
cvDestroyWindow( A );
//此用法请看前一篇文章
return 0;
}