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

来源:互联网 发布:eda软件 编辑:程序博客网 时间:2024/04/29 00:19
将图片序列转化为视频,将视频文件转化为图片
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.aviend%生成视频的参数设定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));endaviobj=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);endend

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


1 0
原创粉丝点击