帧差法matlab代码_matlab制作gif图片

今天来分享一个非常实用的程序,用matlab制作gif图片。主要用于ppt答辩,这个程序可以实现整体快进、分段快进、每一帧的播放时间、截取图片序列的局部和图片大小压缩等功能。我根据制作gif图片所需的图片序列的来源,将本文分为两个部分。分别是用视频生成图片序列和手动生成图片序列。

1、视频生成图片序列

需求,我们需要某个视频中的一段甚至每帧中的局部生成一个gif图片在ppt中循环播放。这个视频可以是网上下载的也可以是自己录屏生成的。

此时,我们需要两个程序,一个是将视频分割成图片序列,另一个是用图片序列生成gif。

(1)将视频分割成图片序列videodiv.m

3e223a415aa7784190897ebfe0f96a0d.png

2、手动生成图片序列(以经典88行拓扑优化程序为例)

我们想要将程序模拟或者计算的过程记录下来并保存成gif图片在ppt上展示。下面通过两个例子说明。

经典的88行拓扑优化程序

  第一步:先在前面加上生成存放图片序列的文件夹

      5f0d33142d23182f763d4d2edd99b467.png

     第二步:在优化循环中加入存储图片序列的代码

a1124bad8bbd473a3804581ec327aac1.png

这样运行优化程序时,每一迭代步的密度场都会依次存为图片序列。

3、用图片序列生成gif图片(注意gifgenerate.m要和图片序列在同一个文件夹下运行)

这个gifgenerate.m才是生成gif图片的关键程序,下面逐句介绍

第一部分:为了兼顾展示过程的完整性和播放速度,有时需要变速播放。将重点展示的片段慢镜头即可。本例中将需要用到的图片序列分为两段,start1——start2(播放速度step1)和start2——stepall2(播放速度step2),这里为了实现快进采用每隔step帧读一张图片。不需要变速播放时,将step1 = step2即可。

d17cecde0f008607ee7bb61ced577f43.png

       第二部分:截取局部进行制作,图片弹出后,拖拽鼠标选取目标区域后,双击目标区域即可。

     e0ca0a6377cd2a576216b58eb9c1abf3.png

第三部分:制作循环

dedd231dff6faf793b815216ecb7ca45.png

效果展示:

 拓扑优化过程整体:

f6f3a40018397cbf7dd4b3fe792a0216.gif

 截取局部进行制作:

3d8dfe8e19e4e1ff6f1e26ae4412342a.gif


最后还是附上本文程序的网盘链接:

链接:https://pan.baidu.com/s/1AzZho6ipNebg0kjaTJ1jSA

提取码:7d7v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值