您的位置:首页 > 运维架构

opencv图片序列合成视频

2011-02-25 15:19 459 查看
 

注意:

CvVideoWriter *writer = cvCreateVideoWriter(out_video_name,
  -1,
  fps,
  cvSize(frameW,frameH),
  1);

 

第二个参数改成-1,这样的话由电脑来决定编码的格式,不要指定什么MJPG之类的,不行,程序崩溃,害得我这个蒜片大的问题搞了几个小时。

 

#include "stdafx.h"

void img2video()
{
IplImage *img;
char image_name[200];
double fps = 25;
int frameW = 320;
int frameH = 240;

static int count = 1;
int num_frames = 150;

const char *out_video_name = "F://source code//experiment//images2video//out.avi";

CvVideoWriter *writer = cvCreateVideoWriter(out_video_name,
-1,
fps,
cvSize(frameW,frameH),
1);

cvNamedWindow("mainWinvideo", CV_WINDOW_AUTOSIZE);

if(NULL != writer)
{

while(count < num_frames)
{
sprintf(image_name, "F://source code//experiment//images2video//images//angleview_p01p02_followalways_a%d.jpg", count++);

img = cvLoadImage(image_name,-1);
//
// 			IplImage *videoImage =cvCreateImage(cvSize(320,240),IPL_DEPTH_8S,3);
//
// 			cvCopy(img,videoImage,NULL);

if (!img)
{
cout << "Could not load the images/n";
exit(0);

}

cvShowImage("mainWinvideo", img);

char key = cvWaitKey(20);

cvWriteFrame(writer,img);
}
}
cvReleaseVideoWriter(&writer);
cvReleaseImage(&img);
cvDestroyWindow("mainWinvideo");
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  video image null