在一些视频的制作过程中,因为视频软件自身的原因,导出的视频质量很低,而连续图片的质量效果相对较好,对于该问题可用Matlab将图片进行串联起来。具体代码如下。
framesPath = 'D:\wudi\postgraduate\tundish\video\zhen1\';%图像序列所在路径,同时要保证图像大小相同
videoName = 'tundish001.avi';%表示将要创建的视频文件的名字
fps = 30; %帧率
startFrame = 0; %从哪一帧开始
endFrame = 1799; %哪一帧结束
if(exist('videoName','file'))
delete videoName.avi
end
%生成视频的参数设定
aviobj=VideoWriter(videoName,'Uncompressed AVI'); %创建一个avi视频文件对象,开始时其为空,此处为无压缩文件
aviobj.FrameRate=fps;
open(aviobj);%Open file for writing video data
%读入图片
for i=startFrame:endFrame
fileName=sprintf('001.%04d',i); %根据文件名而定 我这里文件名是001.0001.png ....
frames=imread([framesPath,fileName,'.png']);
writeVideo(aviobj,frames);
end
close(aviobj);% 关闭创建视频
其中VideoWriter可根据需求选择不同的格式,具体见help文件。