博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Opencv 视频保存为图像

Posted on 2017-02-14 10:04  warmbeast  阅读(1434)  评论(0编辑  收藏  举报
// 视频存为图片.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;
}