计算机视觉
图像处理

将图片序列压缩成视频

有些时候,我们确实需要将一个图片序列压缩成视频文件,从而方便观看,或者给别人展示等。本文的目的就是提供一种解决方法。首先,需要安装opencv和xvid。前者是图像处理,计算机视觉领域的一个开源库(可以参考这里:http://www.cvvision.cn/6749.html);后者是一种广泛应用的开源视频编解码器(这里有个简单的介绍:http://blog.csdn.net/carson2005/article/details/6553867)。本文利用opencv主要是从事一些图片文件的解压(jpg文件解压)和文件读取工作,当然,如果你的图片源是bmp这种非压缩格式,也可以不用opencv。下面给出参考代码,仅供参考;

// VideoWriter.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "iostream"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	double fps = 5;//视频压缩帧率
	CvSize size = cvSize(200, 200);//图片序列中每张图片的宽高
	CvVideoWriter* writer = cvCreateVideoWriter("c:/ChenLeeTest.avi", CV_FOURCC('X','V','I','D'),
		fps, size);

	char str[200];
	for (int i=0; i<360; i++)
	{
		memset(str, '\0', 200*sizeof(char));
		sprintf(str, "c:/result/%d.jpg", i);

		IplImage* colorIn = cvLoadImage(str);

		int flag = cvWriteFrame(writer, colorIn); 
		cout<<flag<<endl;

		cvReleaseImage(&colorIn);
	}
	cvReleaseVideoWriter(&writer);

	system("pause");
	return 0;
}


 

转载注明来源:CV视觉网 » 将图片序列压缩成视频

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 0超赞 0无聊 0扯淡 0不解 0路过

评论 4

评论前必须登录!