MATLAB绘制 gif 动图

有些时候,我需要把多张figure绘制成动图,那么如何用MATLAB实现呢?本文就带大家一起来看一下

可参考 :http://www.voidcn.com/article/p-wfxerpjf-bmk.html
代码:

 for t=1:M
    %plot...绘图代码
    f = getframe;%捕获坐标区或图窗作为影片帧
    [I,map] = rgb2ind(f.cdata,256,'nodither'); %rgb图转索引图
      if t==1
         imwrite(I,map,'videos.gif','DelayTime',0,'LoopCount',inf)%图像写入gif文件
      else   
         imwrite(I,map,'videos.gif','gif','WriteMode','append','DelayTime',0.5);
     end
   end

效果图:

说明:
f=getframe:
f 是一个结构体,其中包含的 cdata 字段中包含捕获的图像数据。

LoopCount’ - 重复动画的次数
Inf (默认) | 范围 [0,65535] 内的整数

DelayTime’ - 显示下一个图像之前的时滞
0.5 (默认) | 范围 [0,655] 内的标量值
显示下一个图像之前的时滞(秒),包含 ‘DelayTime’ 和范围 [0,655] 内的标量值。0 的值以硬件允许的最快速度显示图像。

imwrite 官方说明链接:
https://ww2.mathworks.cn/help/matlab/ref/imwrite.html

你可能感兴趣的:(matlab,matlab)