Matlab动画制作(四)——动画的保存

Matlab动画制作(四)——动画的保存

MATLAB动画保存只对电影动画有意义,因为其他两种都是实时动画,一眨眼过去了,而电影动画是先将动画一帧一帧的保存下来,在使用movie函数播放。它的好处是,运行一次MATLAB程序就可以播放无数次,只要你的帧数据还在。

但是这还是不方便,由于它没法脱离MATLAB环境,很讨厌。还好MATLAB为我们提供了movie2avi函数,它可以把动画直接转换成avi文件,而avi文件则可以脱离Matalb环境而在其他地方运行了。

  1. function avimake
  2. warning off;
  3. load data
  4. [M,N,K]=size(data);
  5. data=data/(max(abs(data(:))));
  6. aviobj = avifile('mymovie.avi','fps',10);
  7. for kk=1:10:K
  8. imagesc(data(:,:,kk));
  9. set(gca,'clim',[-1 1]);
  10. colormap(hsv(128))
  11. frame = getframe(gca);
  12. aviobj = addframe(aviobj,frame);
  13. end
  14. aviobj = close(aviobj);
复制代码

另外也可以直接保存gif动画

  1. for i = 1:length(x)

    % 这里是绘图命令

  1. drawnow; % 刷新屏幕
  2. pause(0.05)
  3. f = getframe(gcf);
  4. imind = frame2im(f);
  5. [imind,cm] = rgb2ind(imind,256);
  6. if i == 1
  7. imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.1);
  8. else
  9. imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.1);
  10. end
  11. end
  12. 详情请见:http://www.matlabsky.com/thread-595-1-1.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值