Matlab多张图片合成gif

1、将工作路径切换到图片所在文件夹 

 2、运行以下代码

代码循环体中,循环次数为图片数

clear;clc
str = dir(['*.jpg']);
% figure('visible','on')
for i=1:length(str)
    A=imread(str(i).name);
    [I,map]=rgb2ind(A,256);
    if(i==1)
        imwrite(I,map,'example_0.8sec.gif','DelayTime',0.8,'LoopCount',Inf)
    else
        imwrite(I,map,'example_0.8sec.gif','WriteMode','append','DelayTime',0.8)    
    end
end
clear;clc;
nFrames=32;
mov(1:nFrames) = struct('cdata', [],'colormap', []);
namell=dir([ '*' '.png']);%读取需要合并的图片名字    '*' '.png'表示读取文件夹中任意字段+.png格式的图片
set(gcf,'color',[1 1 1]);%背景为白色
for i=1:12
    Img=imread (namell(i).name);    %读取struct(namell(i))name的数据
    imshow(Img,[]);
    frame=getframe(gcf);
    im=frame2im(frame);%制作gif文件,图像必须是index索引图像
    [I,map]=rgb2ind(im,256);
    mov(i)=getframe(gcf);
    if i == 1
        imwrite(I,map,'.\CDR_Climate_89_19_monthly.gif','gif', 'Loopcount',Inf,'delaytime',0.5);   %修改保存路径及保存名称
    else
        imwrite(I,map,'.\CDR_Climate_89_19_monthly.gif','gif','WriteMode','Append','delaytime',0.5);   %修改保存路径及保存名称
    end
end

3、运行结果

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值