Python简单实现gif动图倒放示例

作者:大丁锅 时间:2021-08-20 16:29:21 

最近是有点忙,感觉好久没写博客了。但是最近看到一个有趣的就是gif动图的倒放,因为这个原理也并不是很难,而且用到的库以前也略微的看过一点点,所以要新学的东西不是很多。

开发环境 :pycharm + win10下python环境

主题思路就是将gif动图的每一帧都截取下来,将整张动图拆分成图片流,然后将图片流反序,最后将反序后的图片流重新合成成一张gif动图,下面贴上代码  :

# python下的图像处理库
from PIL import Image, ImageSequence
# 系统模块
import os
# 用于读取gif动图
im = Image.open("读取图片的名称")
# gif图片流的迭代器
iter = ImageSequence.Iterator(im)
index = 1
for frame in iter:
   # 每一帧图片
   print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))
   # 若保存的路径不存在,则创建文件夹
   path = "imgs"
   if path not in os.listdir():
       os.makedirs(path)
   # 将每一帧图片保存到imgs文件夹下
   frame.save("./imgs/frame%d.png" % index)
   index += 1
# 将gif拆分成图片流
imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]
# 输出原图
# imgs[0].save("./out.gif", save_all=True, append_images=imgs[1:])
# 将图片流反序
imgs.reverse()
# 将反序后的图片流保存并输出
imgs[0].save("./reverse_out.gif", save_all=True, append_images=imgs[1:])

然后下面是拆分的图片流:

Python简单实现gif动图倒放示例

最后是效果图对比,下面是原图:

Python简单实现gif动图倒放示例

之后就是倒放的动图:

Python简单实现gif动图倒放示例

哇,貌似看起来不是很明显,但是单独看两张动图就好一点了,原图是从背到正,转换后是从正脸转身

来源:https://blog.csdn.net/ydydyd00/article/details/84331289

标签:Python,gif,动图倒放
0
投稿

猜你喜欢

  • 用于打印的页面设计

    2009-07-06 12:47:00
  • 详谈python中subprocess shell=False与shell=True的区别

    2021-08-01 02:00:01
  • pandas loc与iloc用法及区别

    2023-01-22 08:26:53
  • 如何利用Python识别图片中的文字详解

    2021-02-07 21:05:30
  • 浅谈discuz密码加密的方式

    2024-05-02 17:07:51
  • Entity Framework Core生成数据库表

    2024-01-15 18:09:29
  • Python中统计函数运行耗时的方法

    2023-03-11 02:17:25
  • python sys,os,time模块的使用(包括时间格式的各种转换)

    2021-02-08 02:31:33
  • 关于Django框架的关系模型序列化和一对多关系中的序列化解析

    2023-01-15 00:52:53
  • vue解决跨域路由冲突问题思路解析

    2024-04-28 09:32:05
  • python使用selenium打开chrome浏览器时带用户登录信息实现过程详解

    2023-07-19 05:00:37
  • Python Opencv任意形状目标检测并绘制框图

    2023-06-06 19:03:43
  • Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结

    2024-05-28 15:47:20
  • 从MySQL数据库表中取出随机数据的代码

    2023-11-14 09:53:58
  • asp下为什么韩文字后面显示分号?

    2011-03-10 11:07:00
  • 解决Python selenium get页面很慢时的问题

    2022-08-29 02:08:22
  • python 读取文件并把矩阵转成numpy的两种方法

    2023-10-21 23:18:01
  • 对python实时得到鼠标位置的示例讲解

    2022-02-21 10:01:25
  • Python 50行爬虫抓取并处理图灵书目过程详解

    2023-09-01 22:35:49
  • Django自定义用户表+自定义admin后台中的字段实例

    2022-05-27 08:16:01
  • asp之家 网络编程 m.aspxhome.com