本帖最后由 matlab的旋律 于 2020-12-21 07:42 编辑  
 
上个帖子提到了将视频格式转换为gif视频转换gif,其实在实际处理中可能需要对一个.gif文件进行大小、速度等方面的修改,也就是.gif到.gif。下面的代码实现了这个功能。 
 
- close all
 
 - clear
 
 - clc
 
  
 
- [A,map]=imread('input.gif', 'frames', 'all');%读取索引图像im以及与之对应的颜色表到map中
 
 - flag = 0;
 
 - gifName = 'output.gif';
 
 - for k=1:size(A,4)
 
 -     [im,newmap] = imresize(A(:,:,:,k),map,0.8);
 
 -     imshow(im,newmap);
 
 -     flag = flag + 1;
 
 -     if k == 1
 
 -         imwrite(im,newmap,gifName,'gif','WriteMode','overwrite', 'Loopcount',inf);
 
 -     elseif k>1
 
 -         imwrite(im,newmap,gifName,'gif','WriteMode','append','DelayTime',0);
 
 -     end
 
 - end
 
  复制代码 
从图总的速度可以看出,裁剪后的gif文件速度明显变快了。 
 
 
 
 |