matlab保存为gif动画

发布时间:2019-07-29 17:40:59

求回答~

推荐回答

如何利用matlab做gif格式的动画?

1

打开matlab,点击(1-1)---(1-2),将(1-3)的代码粘贴到编辑器中,点击(1-4)的“save”。(1-5)为存盘地址,(1-6)为文件名,点击(1-7)保存。

代码如下:

clear;clc;

figure %新建一张图

axis([0 5 0 2])%定义x轴(从0到5)和y轴的范围(从0到2)

for i=1:4

    if i==1

        text(i,1,'百','fontsize',40,'color','red');%i=1时,写一个‘百’字

    end

    if i==2

        text(i,1,'度','fontsize',40,'color','red');%i=2时,写一个‘度’字

    end

    if i==3

        text(i,1,'经','fontsize',40,'color','red'); %i=3时,写一个‘经’字

    end

    if i==4

        text(i,1,'验','fontsize',40,'color','red');%i=4时,写一个‘验’字

    end    

    picname=[num2str(i) '.fig'];%保存的文件名:如i=1时,picname=1.fig

    hold on % 写后面的字时,不把前面的字冲掉

    saveas(gcf,picname)

end

(这部分来自于百度经验“如何利用matlab批量存储图片?”)

stepall=4;

for i=1:stepall

    picname=[num2str(i) '.fig'];

    open(picname)

%     set(gcf,'outerposition',get(0,'screensize'));% matlab窗口最大化

    frame=getframe(gcf);  

    im=frame2im(frame);%制作gif文件,图像必须是index索引图像  

    [I,map]=rgb2ind(im,20);          

    if i==1

        imwrite(I,map,'baidujingyan.gif','gif', 'Loopcount',inf,'DelayTime',0.5);%第一次必须创建!

    elseif i==stepall

        imwrite(I,map,'baidujingyan.gif','gif','WriteMode','append','DelayTime',0.5);

    else

        imwrite(I,map,'baidujingyan.gif','gif','WriteMode','append','DelayTime',0.5);

    end;  

    close all

end

2

点击(2-1)运行程序,点击(2-3)改变路径。然后程序就运行结束,由于程序本身运算量较小,运算速度很快。

3

运行后保存的gif文件:

以上问题属网友观点,不代表本站立场,仅供参考!