MATLAB中 GIF动画的制作

matlab中GIF动画的制作

MATLAB中提供了imWriter函数,可用来制作GIF格式动画文件。

调用 f=getframe 函数抓取当前图形窗口或坐标系中的图片;f是一个包含图像数据的结构。

调用frame2im和rgb2ind函数将抓取的图像转为索引图像;

调用frame2im从每帧获取图像数据。因为GIF文件不支持三维数据,所以调用rgb2ind将图像数据(im)中的RGB数据转换为索引图像(A),并使用colormap map。

调用imwrite函数把索引图像写入GIF格式动画文件中。

注:第一帧图像和后续各帧图像的写入方式不同,第一帧直接写入,
后续各帧以追加(append)的方式写入

x = 0:0.01:1;
figure
filename = 'testAnimated.gif';

for n = 1:0.5:5
y = x.^n;
plot(x,y)
drawnow
frame = getframe(1);
im = frame2im(frame);
[A,map] = rgb2ind(im,256); 
	if n == 1;
		imwrite(A,map,filename,'gif','LoopCount',Inf,'DelayTime',1);
	else
		imwrite(A,map,filename,'gif','WriteMode','append','DelayTime',1);
	end
end

你可能感兴趣的:(matlab)