欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

将图片序列压缩成视频

发布时间:2025/7/25 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 将图片序列压缩成视频 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原文链接:http://blog.csdn.net/carson2005/article/details/7085480

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

[cpp] view plaincopy
  • // 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;  
  • }  

  • 转载于:https://www.cnblogs.com/java20130723/archive/2013/02/16/3212038.html

    总结

    以上是生活随笔为你收集整理的将图片序列压缩成视频的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。