MATLAB使用imwrite写入gif
生成gif
目前matlab官方文档以及网上能找到的使用imwrite写入gif相关内容都是写入RGB图像,此时使用imwrite函数需要输入一个map变量。
但有时也会有将灰度图像写成gif的需求。此时如果图像为double形式,需要将图像映射到0~255区间。示例如下:
load('recon_result.mat','recon_result');
l = length(recon_result);
for i = 1:l
image = permute(recon_result(i,:,:),[2 3 1]);
image_save = 255 * rescale(image);
if i == 1
imwrite(image_save,'z_gif.gif','gif','LoopCount',Inf,'DelayTime',0.05);
else
imwrite(image_save,'z_gif.gif','gif','WriteMode','append','DelayTime',0.05);
end
end
最后生成的gif如下: