python gif_python图像处理-gif动图

前言

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

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

78310a55b319ebc474c5a351979a8bfa1c1716ff.png?token=ce454dba44e5901efb835af388d0ee9d&s=11B06C325D1150C808E5D1CA0000C0B1

902397dda144ad34374e55ed041948f230ad852d.png?token=bed8ac8419bf65b574e4bdb321597647&s=19205D32857444215E7CE4CE0000C0B2

图片合成动图

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

0bd162d9f2d3572cbf7686de8caf272163d0c35a.png?token=b8386f4ab179f8d98dbdd6d6a14c903b&s=14F8E0331160691114DC01CA0300F0B2

9922720e0cf3d7ca5432e8e41ea4fa0f6963a99a.png?token=400e1d8ea2ebb90b781456b22cf86878&s=A69055CA1AE0B76C4E51440F0000E0C3

eab67ee758b6599469df8f39b0f68bec.gif

动图分解成一张张图片

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

0df3d7ca7bcb0a465a4ed51387d8b2226a60afea.png?token=4c1f2d8a16ac57c00f7bbfd8189e723b&s=4810EC1A19EED4CC44C520D5000080B0

7e3e6709c93d70cf1f0b1c3b2c679506bba12b50.png?token=07ec2536a407b3b2d533823dd1a7152c&s=AE9015C253F0B66B4E6534090000F0C1

83025aafa40f4bfbd4c20e59d9f43cf6f63618ea.png?token=779bed50c1cc79bd49e0cb4a3371d71c&s=1CC8E1139924591300E5C1CB0300E0B3

想法延伸

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

(全文完)

更多内容:

python图像处理-1

python图像处理-批量生成纯色图片

python图像处理-添加文字

python图像处理-贴图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值