首页 > 其他 > 详细

MATLAB与图像处理(四):将图片序列转化为视频文件,将视频文件转化为图片

时间:2014-02-27 18:21:37      阅读:878      评论:0      收藏:0      [点我收藏+]
将图片序列转化为视频,将视频文件转化为图片
Last Edit 2014/2/26

一,将图片序列转化为视频文件
function video=frames2Video(framesPath,videoName,quality,Compressed,fps,startFrame,endFrame)
%framesPath :图像序列所在路径,同时要保证图像大小相同
%videoName:  表示将要创建的视频文件的名字
%quality:    生成视频的质量 0-100
%Compressed: 压缩类型, ‘Indeo3‘(默认), ‘Indeo5‘, ‘Cinepak‘, ‘MSVC‘, ‘RLE‘ or ‘None‘
%fps: 帧率
%startFrame ,endFrame ;表示从哪一帧开始,哪一帧结束

if(exist(‘videoName‘,‘file‘))
    delete videoName.avi
end

%生成视频的参数设定
aviobj=avifile(videoName);  %创建一个avi视频文件对象,开始时其为空
aviobj.Quality=quality;
aviobj.Fps=fps;
aviobj.compression=Compressed;

%读入图片
for i=startFrame:endFrame
    fileName=sprintf(‘%08d‘,i);    %根据文件名而定 我这里文件名是00000001.jpg 00000002.jpg ....
    frames=imread([framesPath,fileName,‘.jpg‘]);
    aviobj=addframe(aviobj,uint8(frames));
end
aviobj=close(aviobj); % 关闭创建视频
end
在command window里输入
path=‘你的文件路径‘;
frames2Video(path,‘dog‘,90,‘None‘,5,1,32);

二,视频文件转化为图片
function avi2Frames(path)
mov=aviread(path);          
framesNum=size(mov,2);                                           
                                                           
 for i=1:framesNum
  frames=frame2im(mov(i));                              
  str=strcat(‘a‘,int2str(i),‘.jpg‘);                         
  imwrite(frames,str);

end
end

代码未做优化,可以先预分配空间同时对于很多使用程序健壮的语句没有加进去


MATLAB与图像处理(四):将图片序列转化为视频文件,将视频文件转化为图片,布布扣,bubuko.com

MATLAB与图像处理(四):将图片序列转化为视频文件,将视频文件转化为图片

原文:http://blog.csdn.net/jxlijunhao/article/details/19981237

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!