matlab里要生成动态图像关键有两个,一个是图像数据,要准备多幅同样大小的图像或者将图像数据变化的过程保存下来;其二是正确调用imwrite函数,最主要有两个属性,1是DelayTime,控制图像切换的间隔,2是LoopCount,用于设置图像默认的循环次数,默认是无穷次,即不断循环,若要手动设置此值,0代表循环一次,1代表循环两次,以此类推。
一个简单的示例代码如下
figure; for i=1:10 Img=imread(['F:\Public_Dataset\imageLibrary\ORL\100x100\s1\' mat2str(i) '.bmp']); imshow(Img); frame=getframe(gcf); im=frame2im(frame);%制作gif文件,图像必须是index索引图像 [I,map]=rgb2ind(im,256); imwrite(I,map,'face.gif','gif','DelayTime',0.1,'WriteMode','append','loopcount',inf); end