图像视频处理中经常需要用到图像序列转化成视频,或者视频转化成图像序列。将两个常见过程在Matlab环境下进行了实现,代码如下。由于只涉及图片、视频的读写,相对简单不再讲解。
1 图像序列转视频
clear
clc
framesPath = 'cell7\';%图像序列所在路径,同时要保证图像大小相同
videoName = ['demo',strcat(int2str(7),'.avi')];%表示将要创建的视频文件的名字
fps = 7; %帧率
startFrame = 5; %从哪一帧开始
endFrame = 45; %哪一帧结束
if(exist('videoName','file'))
delete videoName.avi
end
%生成视频的参数设定
aviobj=VideoWriter(videoName); %创建一个avi视频文件对象,开始时其为空
aviobj.FrameRate=fps;
open(aviobj);%Open file for writing video data
%读入图片
for i=startFrame:endFrame
frames=imread([framesPath,strcat(int2str(i),'.png')],'png'); %可以换成