opencv 之写视频文件

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
#include <stdlib.h>
#include <stdio.h>
/*
*
*本程序由www.opencvchina.com编写
*如若转载 请注明 出自 www.opencvchina.com
*
*/
int main(int argc, char* argv[])
{
CvSize size = cvSize(480,360);
double fps = 15;

//创建一个写视频 设备writer 
CvVideoWriter* writer = cvCreateVideoWriter("F:\\out.avi", CV_FOURCC_MACRO('M', 'J', 'P', 'G'),fps,size);


/*读入一个文件夹下的所以图片*/
int image_id = 1;
char filename[256];

sprintf(filename , "F:\\images\\%d.jpg" , image_id );

//加载图像
IplImage* src = cvLoadImage(filename);

if(!src)
{
return 0;
}

//为resize后的图像分配空间
IplImage* src_resize = cvCreateImage(size,8,3);


cvNamedWindow("avi");

while(src)
{
/*显示图像 本步骤不是必须的*/
cvShowImage("avi",src_resize);
cvWaitKey(1);

/*resize图像 使得写入视频文件的图像src_resize 与 视频文件的宽 高 是一样的 视频文件的宽 高是CvSize size = cvSize(480,360);*/
cvResize(src , src_resize);

/*将图像src_resize 写入到视频设备writer*/
cvWriteFrame(writer , src_resize);

/*释放内存空间*/
cvReleaseImage(&src);

//加载文件夹中的下一幅图像 
image_id++;
sprintf(filename , "F:\\images\\%d.jpg" , image_id );
src = cvLoadImage(filename);



}

/*释放写设备*/
cvReleaseVideoWriter(&writer);

/*释放图像空间*/
cvReleaseImage(&src_resize);

return 0;
}

解释几个比较重要的函数原型

(  CvVideoWriter *) cvCreateVideoWriter(  const   char  * filename,  int  fourcc, double  fps,  CvSize  frame_size, int  is_color  CV_DEFAULT  (1));  //创建写视频设备
 cvWriteFrame(  CvVideoWriter * writer,  const   IplImage  * image ); 将图像写入到视频设备
注意 一定要保证视频图像的大小一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值