| 
 | 
 
 本帖最后由 matlab的旋律 于 2019-2-22 10:14 编辑  
 
gif格式的图片具有动态显示效果,是ppt演示中常用的动态图片格式。笔者在实际使用中遇到的情形,将视频格式转换为gif,下面就具体Matlab程序对其进行介绍. 
 
close allclc 
clear 
warning off 
 
fileName = 'video.wmv';%视频文件所在的路径 
obj = VideoReader(fileName); 
k = 0; 
gifName = 'figure.gif';%保存的gif文件名 
while hasFrame(obj)%没有达到结束帧时 
    k = k + 1; 
    im = readFrame(obj);%读取当前帧图片 
    im = imresize(im,[160,213]);%对当前帧图片进行裁剪 
    %imagesc(im);%可以显示当前帧图片 
 
    [imind,cm] = rgb2ind(im,256);%将真彩色图像转换为索引图像 
    if mod(k,6) == 0%进行6倍均匀下采样 
        if k == 1026%保存具体帧图片制作gif 
            imwrite(imind,cm,gifName,'gif','LoopCount',Inf); 
        elseif k>1026 && k < 1185 
            imwrite(imind,cm,gifName,'gif','WriteMode','append','DelayTime',0);%这里可以设置'DelayTime'的数值 
        end 
    end 
end 
 
上面给出了由视频制作gif文件的程序, 由图片制作gif文件的程序类似,直接将im设置为读取图片的代码就行. 
 
 
 
 |   
 
 
 
 |