欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB生成gif

程序员文章站 2022-03-25 08:51:13
...

将视频转为gif,方法为先读入视频中的一帧,存为jpg格式后再读入,然后合成fig,代码如下:

%读取视频信息,获取帧数
obj = VideoReader('06.mp4');
numFrames = obj.NumberOfFrames;

filename= '06-2.gif';%需要转成的gif文件名
if numFrames>400
    endframe = 400;%只存400else
    endframe = numFrames;
end
for i=1:4:endframe
    %先存下视频的当前帧
    frame = read(obj,i);
    imwrite(frame,'tmp.jpg','jpg');
    %再读入该帧,合并为gif文件
    Img = imread('tmp.jpg');

    figure(1);
    imshow(Img,[],'border','tight');
%     set(gca,'LooseInset',get(gca,'TightInset'))
    set(gca,'looseInset',[0 0 0 0])

    pause(0.00002)

    frame=getframe(1);
    im=frame2im(frame);
    [I,map]=rgb2ind(im,256);
   
    k=i;
    if k==1;
        imwrite(I,map,filename,'gif','Loopcount',inf,'DelayTime',2e-5);
        %loopcount只是在i==1的时候才有用
    else
        imwrite(I,map,filename,'gif','WriteMode','append','DelayTime',2e-5);
        %layTime用于设置gif文件的播放快慢
    end
end
相关标签: maltab