MATLAB实现将图片转化为avi格式的视频

MATLAB实现将图片转化为avi格式的视频

  视频就是将一系列连续的图片进行播放的效果。所以将图片转换为AVI格式的视频就是将一系列连续的图片保存到AVI格式的文件中。
转换的通用格式:

%% 保存为AVI文件
clear;
clc;
close all;
t = 0:1:10;   % 设置间隔
% 设置保存对象
aviobj = VideoWriter('test1.avi');   % 创建一个名为test.avi的AVI文件
aviobj.FrameRate = 10;   % 画图的帧率,越大表示越快
open(aviobj);   % 打开AVI文件
for i = 1:length(t)
    %%
    % 这里读取图片或者绘制图片即可
    %%
    
    CurrFrame = getframe;   % 获取每帧图片
    writeVideo(aviobj, CurrFrame);   % 写入AVI文件中
end
% 关闭AVI文件
close(aviobj);

保存曲奇饼动画示例:

%% 将曲奇饼动画保存为AVI文件
clear;
clc;
close all;
R1 = 2;
t = 0:1:10;   % 设置间隔

% 设置保存对象
aviobj = VideoWriter('test1.avi');   % 创建一个名为test.avi的AVI文件
aviobj.FrameRate = 10;   % 画图的帧率,越大表示越快
open(aviobj);   % 打开AVI文件
for i = 1:length(t)    
    th = 0:pi/50:2*pi;
    phi = 0:pi/50:2*pi;
    [Th,Phi] = meshgrid(th,phi);   
    R2 = 1+0.2*cos(10*(Phi-Th-t(i)));  % 变化  
    X = (R1+R2.*cos(Th)).*cos(Phi);
    Y = (R1+R2.*cos(Th)).*sin(Phi);
    Z = R2.*sin(Th);   
    surf(X,Y,Z);  % 绘图
    axis equal;  % 坐标轴固定大小不变
    axis([-3.5 3.5 -3.5 3.5 -1.5 1.5]);  % 限定坐标轴的范围
    shading interp;   % 将图形表面的线去掉
    % 保存图像为AVI格式的视频
    CurrFrame = getframe;   % 获取每帧图片
    writeVideo(aviobj, CurrFrame);   % 写入AVI文件中
end
% 关闭AVI文件
close(aviobj);
发布了47 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/CHQC388/article/details/104590307