Gif图相当于是由许多张图片拼接而成的一个“短视频”,因此在制作Gif图之前我们需要先准备多张图片。以下代码实现的是在当前路径下创建了一个image文件夹,并将绘制的HRRP通过saveas函数保存至image文件夹中,并命名为1.png、2.png、···
%% 绘制HRRP图像并保存
target1_hrrp_snr10=load('target1_hrrp_snr10.mat').target1_hrrp_snr10;%在当前工作目录下新建文件夹并保存
mkdir image % 如果文件夹已存在,会有警告,但不影响运行figure;
for i=1:40imagesc(abs(target1_hrrp_snr10(:,:,i)));saveas(gca,strcat('image/',num2str(i),'.png'));pause(0.1);
end
可以看到,这里一共保存了40张图片。
之后,可以通过以下代码将刚刚保存的40张图片制作成为Gif图:
%% 制作Gif图
clear;clc;
for i=1:40str=strcat('image/',num2str(i), '.png');A=imread(str);[I,map]=rgb2ind(A,256);if(i==1)imwrite(I, map, 'movefig.gif', 'DelayTime', 0.1, 'LoopCount', Inf); %'DelayTime' - 显示下一个图像之前的时滞%'LoopCount' - 重复动画的次数elseimwrite(I, map, 'movefig.gif', 'WriteMode', 'append', 'DelayTime', 0.1);endend
得到的Gif图如下所示: