Python中怎样实现gif动图倒放的效果呢?
Admin 2022-09-13 群英技术资讯 1063 次浏览
这篇文章主要讲解了“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:])
然后下面是拆分的图片流:

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

之后就是倒放的动图:

哇,貌似看起来不是很明显,但是单独看两张动图就好一点了,原图是从背到正,转换后是从正脸转身
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
程序要实现人机交互功能,需能够向显示设备输出有关信息及提示,同时也要能够接收从键盘输入的数据。Python提供了用于实现输入/输出功能的函数input0和print0,下面分别对这两个函数进行介绍。
pycharm配置python环境的方法是:1、依次点击【File】、【Project Interpreter】;2、点击【Show All】,选择【Existing Environment】;3、选择python的安装路径,点击OK即可。
这篇文章主要介绍了python调用kubernetesAPI简单使用方法,K8s也提供API接口,提供这个接口的是管理节点的apiserver组件,下文更多相关内容,需要的小伙伴可以参考一下
这篇文章主要给大家分享关于python字符串去除空格的内容。我们在处理Python代码字符串时,可能在字符串开头或结尾有空格,那么我们就要去除空格,下面小编整理了一些python字符串去除空格的方法,供大家参考。
本文主要给大家介绍的是如何解决python中文乱码的问题。一些朋友会使用json.dumps(var,ensure_ascii=False)来解决python中文乱码,但是这不能完全解决。下文小编就给大家分享一些解决python中文乱码的办法。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008