|
本帖最后由 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设置为读取图片的代码就行.
|
|