前提要求:图像集保存在某个文件夹中,且每个图像以数字形式顺序命名,如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); endend
效果:
代码来源: