Matlab环境下,图像序列与视频双向转换方法


图像视频处理中经常需要用到图像序列转化成视频,或者视频转化成图像序列。将两个常见过程在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');  %可以换成jpg等形式
    writeVideo(aviobj,frames);  
end  
close(aviobj);% 关闭创建视频  

2 视频转图像序列

%% This script can zoom video without scale limit, t

猜你喜欢

转载自blog.csdn.net/zhanshen112/article/details/107851139