// 视频存为图片.cpp : 定义控制台应用程序的入口点。
//
/*=========================================================================
名称:视频保存为图片
时间:2013.08
说明:把读取视频保存为图片形式
=========================================================================*/
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
char filename[100]; //声明一个字符型数组,用来存放图片命名
int _tmain(int argc, _TCHAR* argv[])
{
IplImage *frame; //声明一个图像指针,用来存放下一帧图像
CvCapture *capture; //声明一个视频抽象接口
capture = cvCreateFileCapture("E://3.avi");//加载本地视频
cvNamedWindow("capture"); //声明一个播放视频窗口
int frames = (int)cvGetCaptureProperty( //
capture,
CV_CAP_PROP_FRAME_COUNT
); //获取视频总帧数
int i=0;
while(1)
{
frame = cvQueryFrame(capture);//获取视频下一帧
if( !frame) //如果读取识别则停止
break;
sprintf(filename, "%s%d%s", "frame", i++, ".jpg");//保存的图片名,可以把保存路径写在filename中;
cvSaveImage(filename, frame);//也可以用imwrite(filename,frame);没有说明保存路径时,图片自动存放在vs当前工程的文件夹里;
cvShowImage("capture", frame);
char c = cvWaitKey(33);
if( c == 27)
break;
}
return 0;
}