做视频分析的时候,可能会有将连续图片重新组成成视频的需求,因此这篇博客提供将图片拼成视频的MATLAB代码,
闲言要少叙,直接上代码:
function [ output_args ] = Image2Video( path,aim )
%IMAGE2 此处显示有关此函数的摘要
% 此处显示详细说明
%参数path:图片目录,如
% path='G:\action_predict\Ut\flow_flownet2\set1\hug\2_1_1';
%aim:视频路径,如
% 'flow.avi'
% videoName = 'flow.avi';%表示将要创建的视频文件的名字
fps = 25; %帧率
startFrame = 1; %从哪一帧开始
% endFrame = 350; %哪一帧结束
if(exist(aim,'file'))
delete aim
end
%生成视频的参数设定
aviobj=VideoWriter(aim); %创建一个avi视频文件对象,开始时其为空
aviobj.FrameRate=fps;
open(aviobj);%Open file for writing video data
%读入图片
list=dir(fullfile(path,'*.jpg'));
imgs={list.name};
for i=1:size(imgs,2)
fileName=strcat(num2str(i),'.jpg'); %根据文件名而定 我这里文件名是1.jpg 2.jpg ....
frames=imread(fullfile(path,fileName));
writeVideo(aviobj,frames);
end
close(aviobj);% 关闭创建视频
end