如何用MATLAB来制作GIF动画

阅读: 评论:0

如何用MATLAB来制作GIF动画

如何用MATLAB来制作GIF动画

相信大家平时制作PPT时,通常会需要一些GIF加以修饰或者辅助说明。但是又苦于不会用视频剪辑软件或者制作的质量不够完美。今天,给大家分享一个如何用MATLAB来制作GIF动画,不仅简单实用体积小,GIF动画的效果还很精致。其中涉及到了很多MATLAB编程的一些基础知识,比如for语句、while循环以及涉及到图像处理的函数语法,我都作了详细的注释。相信在给大家带来干货分享的同时,也会加深大家对编程基础知识的理解和对编程的认识。

1.分解视频所有帧

这步操作,主要是将视频所有帧的图像读取出来,并且按照序号进行保存
(如果视频比较大的话,大家可以根据实际情况,对for循环进行修改读取和保存相应的部分),方便大家根据图片的序号查找视频中想要节选的片段。

// An highlighted block
video = VideoReader('video_eg.mp4'); %读取视频
nFrames = video.NumberOfFrames; %获取视频帧数
% H = video.Height;     %得到高度
% W = video.Width;      %得到宽度%read one frame every time
for i = 1:nFramesmov = read(video,i);  %读取视频的每一帧name = strcat('mov_',int2str(i),'.jpg'); %给每一帧命名imwrite(mov,name);  %保存每一帧图像pause(0.0001) %暂停
end
2.鼠标手动裁剪

为了更精准地满足对GIF制作的需求,视频的整个界面中有可能有很多多余的部分,这是我们需要对视频屏幕区进行选取,用鼠标画出矩阵区域裁剪我们想要的部分。

%% ==== 选取鼠标手动裁剪选定的gif区域
start  = 130; %设置初始帧
stepall = 203; %设置终止帧
step1 = 1; %GIF动画帧间隔
name = strcat('mov_',int2str(start),'.jpg'); %帧名
gif_img = imread(name);  
[b,r] = imcrop(gif_img); %裁剪函数裁剪图像

这是我从抖音上随便下载了一个小视频作为素材,想要将两个小孩子拥抱的镜头加个特写制作出一个GIF动画。如图所选区域就是两个小孩即将拥抱的镜头所在区域。鼠标选中之后,双击。

3.制作GIF动画

接下来便对上一步中,所选择的帧图像序号,进行合成制作GIF动画了。这里我选择的起始和终止序号分别是130,203,大家根据自己实际情况做修改即可。

//
i = start;
while(i <= stepall)name = strcat('mov_',int2str(i),'.jpg');b = imread(name);gif_img = imresize(b,1); %把图像放大*倍gif_img=imcrop(gif_img,r);%交互式裁剪[I,map] = rgb2ind(gif_img,128);  %索引图像        if i == startimwrite(I,map,'New.gif','gif', 'Loopcount',inf,'DelayTime',0.000001); elseif i == stepallimwrite(I,map,'New.gif','gif','WriteMode','append','DelayTime',0.000001);elseimwrite(I,map,'New.gif','gif','WriteMode','append','DelayTime',0.000001);endi= i+step1;
end

效果图如下:


有问题和需要源码的小伙伴们可以直接扫码,点击下方文章链接
手把手教你用MATLAB制作gif动画,从此PPT汇报不再为素材犯愁了

回复:MATLAB,获得更多MATLAB的学习资料。

本文发布于:2024-01-28 21:56:28,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645018910556.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:如何用   动画   MATLAB   GIF
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23