读取《MATLAB | 生成多张图片并保存》中生成的图片序列,生成视频文件并保存。
%% Title: Video Generator
% Author: 羽墨志(https://yumozhi.com/)
% Date : 2020-09-17
%% Introduction
% 读入已有图像文件序列生成视频文件并保存到指定文件夹下
% 图片文件信息
image_path = 'image/'; % 图片序列文件位置
image_suffix = '.png'; % 图片文件后缀
image_num = 32; % 图片总数
% 设置视频相关参数
% 视频分辨率由第一帧图片的分辨率确定
video_path = 'videos/'; % 视频文件保存路径
video_name = 'video.avi'; % 视频文件名
frame_rate = 1; % 视频帧率
% vedio = VideoWriter('demo.mp4','MPEG-4'); % 初始化一个MP4文件
% vedio = VideoWriter('demo_tag.avi','Uncompressed AVI'); % 初始化一个不压缩的avi文件
vedio = VideoWriter(strcat(video_path,video_name)); % 初始化一个avi文件
vedio.FrameRate = frame_rate; % 设置视频帧率
open(vedio); % 打开视频文件
% 生成图像并保存
for index = 1 : image_num
% 拼接图片文件名
image_name = sprintf('image_%d',index * 8 - 1); % 此处应根据实际的图片编号确定
image = imread([image_path,image_name,image_suffix]);
% 拼接文件名并保存图像
% 生成视频仅需图像数据即可,因此无需保存图片
% imwrite(image,strcat(path, prefix, num2str(gray_value), suffix), format);
writeVideo(vedio,image); % 写入视频帧
end
close(vedio); % 关闭视频文件