python图像处理-gif动图

2020-03-12 15:32:46 浏览数 (2)

前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

相信很多人都有看过动图,玩过一些小游戏或者看过定格动画,可能你很好奇,它们都是怎么做出来的,其中的原理主要还是利用人的人眼暂留效应,简单点来说,就是人看过一张图片后,你把图片拿走后,眼睛里还是会短暂的保留一段时间,在这个期间内你在看另外一张图片,你会觉得是同一张图片的不同形态。利用这个原理只要控制好时间,就能够将一系列图片组合在一起形成动图了,更长的可以形成动画等等。

比如下面的图片,每一张我们称为一帧,我们看到的动态效果,其实就好像在不断翻图片给你看。

图片合成动图

导入os库,利用listdir方法将lion文件夹中的图片全部读取出来,循环打开每一张图片,接着将图片对象添加到frames列表中,最后利用save方法,保存为一张动图。

动图分解成一张张图片

先使用open方法打开动图,接着使用ImageSequence将打开的图片对象转换成可迭代的图片序列,通过for循环将图片一张张保存到本地,名字可以自定义。

想法延伸

动图的内容还有很多可丰富的地方,也还有很多可优化的地方。比如你所以把一些尺寸不同的图片合成动图时,需要先将所有图片统一尺寸,需要使用resize方法;或者你想在动图上加上文字,可以结合之前处理单张图片添加文字的方法,处理完之后在统一合成;或者你还想调整动图的速率等等,具体更多内容可以留言问我。

0 人点赞