欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB中 GIF动画的制作

程序员文章站 2022-03-25 09:49:55
...

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