MATLAB 制作GIF图像

发布时间 2023-11-24 21:21:33作者: 一缕青风`

 前提要求:图像集保存在某个文件夹中,且每个图像以数字形式顺序命名,如001.jpg,002.jpg等。

代码1:

这个代码生成的效果有点问题,建议采用代码2.

wm={'overwrite','append'};
for idx=1:8
    file=imread(['GIF\',sprintf('%03d.jpg',idx)]);
    if ndims(file)==2
        file=cat(3,file,file,file);
    end
    [m,n]=rgb2ind(file,256);
    imwrite(m,n,'bird.gif','DelayTime',0.5,'WriteMode',wm{1+(idx>1)});
end

代码2:

clc;clear all;close all;

num_image = 8;
dst_dir = 'GIF\';

filename= 'bird.gif'; %你的gif文件的名字
for i=1:num_image
    idx=sprintf('%03d',i);
    str=[dst_dir idx '.jpg'];
    Img=imread(str);
    figure(i)
    imshow(Img);
    frame=getframe(i);
    im=frame2im(frame);%制作gif文件,图像必须是index索引图像
    [I,map]=rgb2ind(im,256);
    k=i-0;
    if k==1;
        imwrite(I,map,filename,'gif','Loopcount',inf,...
            'DelayTime',0.1);
    else
        imwrite(I,map,filename,'gif','WriteMode','append',...
            'DelayTime',0.1);
    end
end

效果:

 

编辑

代码来源:

如何将图片做成gif-百度经验

MATLAB生成Gif图片程序源代码    

利用Matlab进行gif文件的制作_EMME_新浪博客