夏青虫

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
示例:
clear all;
clc;
set(gca,'nextplot','replacechildren','box','off','color','b','xgrid','on');
title('Get 20 frames of current window');
%%
for j=1:20
 
   plot(fft(eye(j+16)));
   axis([-1. 1. -1. 1.]);
   frame(j)=getframe(gcf); % get the frame
end
writegif('test.gif',frame,0.1);

那么这个writegif函数如何写呢:
function res=writegif(name,frames,dt)
  nframe = length(frames);
 
  for i=1:nframe
    [image,map] = frame2im(frames(i));
    [im,map2]          =  rgb2ind(image,128);
    if i==1
      IMWRITE(im,map2,name,'GIF','WriteMode','overwrite','DelayTime',dt,'LoopCount',inf);
    else
      IMWRITE(im,map2,name,'WriteMode','append','DelayTime',dt); %,'LoopCount',inf);       
    end
  end

参数中name, 是gif文件的名字,frames就是抓取的帧,dt为每帧间的间隔。
posted on 2013-01-21 10:36  夏青虫  阅读(538)  评论(0)    收藏  举报