meatball1982 发表于 2020-5-8 14:15:08

豆粑粑 matlab生成动画,存视频

别人的问题,记录一下。




clear all
clc
clf


%% outline
% 4 LYR anim points

%% main

x = -pi:0.1:2*pi;
y = sin(x)+0.04*x;


n_p = length(x);

n_int = 6;
col_mm = cool(n_int);
n_end = 1;

con = 1;
h=figure(1);
set(gca,'XLim',[-4 7],'yLim',[-1.2 1.2]);

while n_end < n_p
   
   
    ind = 1 : n_end;
    plot(x,y,'color','none');
    axis([-4 7 -1.2 1.2])
    % plot gray point
    hold on
    plot(x(ind),y(ind),'o','markerfacecolor',,'markeredgecolor','none');
    if n_p - n_end >n_int
      n_plot = n_int;
    else
      n_plot = n_p-n_end;
    end
    % plot color points
    for i = 1: n_plot
      plot(x(n_end+i),y(n_end+i),'o','markerfacecolor',col_mm(i,:),'markeredgecolor','none')
      pause(0.05)
      if con < 10
            con_str = ['0',mat2str(con)];
      else
            con_str = mat2str(con);
      end
      fi_na = ['file_imgs/file_sin/fig_',con_str,'_',mat2str(i)];
      fun_work_li_035_myfig_out(h,fi_na,3);
      % mod code here andsaveyourimgs with diff name
    end
   
    % update n_end and plot cont
    n_end = n_end + n_int;
    con= con +1;
    hold off
    pause(0.2)
end

%% logs
% mod: 08-May-2020 13:22:05

meatball1982 发表于 2022-2-25 07:50:30

本帖最后由 meatball1982 于 2022-2-25 08:00 编辑

更新一下,AH的问题。

如果想把图片拼接,也可以convert
比如我有a.png b.png c.png
我想生成一个a,b在上,c在下的图
ab
c

我通过分别拼接实现。
因为是通过命令行实现,所以这个过程可以是脚本实现不到的i 值 ,然后,再实现转化成gif 或视频 。
具体的,看楼上。


#
# a + b -> lr
#
# lr
# +   -> ud.png
# c   

convert a.png b.png +append lr.png
convert lr.png c.png -append ud.png

convert -delay 20 'fig_*.png' sin.gif
#convert -delay 20 'fig_*.png' sin.m4v



# logs ###################################
# mod : Fri Feb 25 07:44:10 CST 2022





页: [1]
查看完整版本: 豆粑粑 matlab生成动画,存视频