脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python简单实现gif动图倒放示例

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

2022-12-29 11:58大丁锅 Python

这篇文章主要为大家介绍了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简单实现gif动图倒放示例

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

以上就是Python实现gif动图倒放示例的详细内容,更多关于Python实现gif动图倒放的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/ydydyd00/article/details/84331289

延伸 · 阅读

精彩推荐
  • PythonPython内置函数OCT详解

    Python内置函数OCT详解

    本文给大家介绍的是python中的内置函数oct(),其主要作用是将十进制数转换成八进制,再变成字符。有需要的小伙伴可以参考下...

    sesshoumaru5052020-09-12
  • PythonCentOS 6.X系统下升级Python2.6到Python2.7 的方法

    CentOS 6.X系统下升级Python2.6到Python2.7 的方法

    今天到新公司发现用的CentOS 6.X系统,默认安装的Python是2.6版本,可是我的程序引用的部分库需要2.7版本或以上,所以只能升级Python到2.7版本了,现在将升级...

    wooyaa2452020-09-10
  • Pythonpython实现爬取图书封面

    python实现爬取图书封面

    这篇文章主要为大家详细介绍了python实现爬取图书封面的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    萌妹子哦哦4732021-03-13
  • Python如何彻底解决Python中matplotlib不显示中文的问题详解(显示方框)

    如何彻底解决Python中matplotlib不显示中文的问题详解(显示方框)

    Matplotlib绘制图像显示中文的时候,中文会变成小方格子,下面这篇文章主要给大家介绍了关于如何彻底解决Python中matplotlib不显示中文问题的相关资料,文中通...

    田宇8842022-12-09
  • PythonJmeter调用Python脚本实现参数互相传递的实现

    Jmeter调用Python脚本实现参数互相传递的实现

    这篇文章主要介绍了Jmeter调用Python脚本实现参数互相传递的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    异想有日天会开5122021-08-27
  • Python详解pandas删除缺失数据(pd.dropna()方法)

    详解pandas删除缺失数据(pd.dropna()方法)

    这篇文章主要介绍了pandas删除缺失数据(pd.dropna()方法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    做梦当财神9662021-07-20
  • Pythondjango2.0扩展用户字段示例

    django2.0扩展用户字段示例

    今天小编就为大家分享一篇关于django2.0扩展用户字段示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看...

    李毅5752021-05-28
  • Python利用Pandas求两个dataframe差集的过程详解

    利用Pandas求两个dataframe差集的过程详解

    在Pandas中求差集没有专门的函数,处理办法就是将两个DataFrame追加合并,然后去重,下面这篇文章主要给大家介绍了关于利用Pandas求两个dataframe差集的相关资料...

    元神の助手10882022-08-29