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

 更新时间:2022年05月11日 17:17:44   作者:大丁锅  
这篇文章主要为大家介绍了Python简单实现gif动图倒放的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

最近是有点忙,感觉好久没写博客了。但是最近看到一个有趣的就是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 实现网易邮箱邮件阅读和删除的辅助小脚本

    python 实现网易邮箱邮件阅读和删除的辅助小脚本

    这篇文章主要介绍了python 如何实现网易邮箱邮件阅读和删除辅助的小脚本,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Python读写文件模式和文件对象方法实例详解

    Python读写文件模式和文件对象方法实例详解

    这篇文章主要介绍了Python读写文件模式和文件对象方法,结合实例形式详细分析了Python文件操作常用技巧与相关注意事项,需要的朋友可以参考下
    2019-09-09
  • Python读取ini配置文件传参的简单示例

    Python读取ini配置文件传参的简单示例

    这篇文章主要给大家介绍了关于Python读取ini配置文件传参的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python爬虫之Selenium实现窗口截图

    Python爬虫之Selenium实现窗口截图

    这篇文章主要介绍了Python爬虫之Selenium实现窗口截图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python脚本实现12306火车票查询系统

    Python脚本实现12306火车票查询系统

    本文给大家分享我使用python3实现的12306火车票查询系统,小编分步骤给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2016-09-09
  • Python代码覆盖率统计工具coverage.py用法详解

    Python代码覆盖率统计工具coverage.py用法详解

    这篇文章主要介绍了Python代码覆盖率统计工具coverage.py用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Pytho树的直径的计算实现

    Pytho树的直径的计算实现

    树的直径是树中任意两个节点之间最长路径的长度,本文主要介绍了Pytho树的直径的计算实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • python实现按关键字筛选日志文件

    python实现按关键字筛选日志文件

    今天小编大家分享一篇python实现按关键字筛选日志文件方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 浅谈Python中的可变对象和不可变对象

    浅谈Python中的可变对象和不可变对象

    下面小编就为大家带来一篇浅谈Python中的可变对象和不可变对象。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • python argparse的使用步骤(全网最全)

    python argparse的使用步骤(全网最全)

    argparse是python的一个命令行参数解析包,在代码需要频繁修改参数时,方便使用,主要用法就是在命令行输入自己想要修改的参数,这篇文章主要介绍了python argparse的使用步骤(全网最全),需要的朋友可以参考下
    2023-04-04

最新评论