Python代码实现动图倒放

2022-07-16,,

开始分享今天的技术之前,先来看几个动图(gif)

(原图1)

倒放1)

(原图2)

(倒放2)

上诉两个动图,可以通过几行python代码就可以实现倒放效果。

导入库:

from pil import image, imagesequence

image库用于读取(加载)图片

imagesequence 用于将gif拆解为图片(一帧一图)

# 加载本地动图
image = image.open("cg.gif")
# gif 动图拆分器
list = imagesequence.iterator(image)

拆分动图:

imgs = []
# 拆分后的图片进行编号,从1开始
k = 1
# 遍历图片流的每一帧
for frame in list:
    # 拆分后的图片,保存到chenge文件夹下,图片命名为img_1.png、img_2.png、...
    frame.save("./chenge/img_%d.png" % k)
    imgs.append(frame.copy())
    k += 1

将拆解后的帧图进行反转(倒序排列),并保存成新的动图reverse_cg.gif

# 拆分图片流进行反序
imgs.reverse()
# 将反序后所有帧图保存下来,命名为reverse_cg.gif
imgs[0].save("reverse_cg.gif", save_all=true, append_images=imgs[1:])

最后生成结果:

完整源码:

from pil import image, imagesequence
# 加载本地动图
image = image.open("cg.gif")
# gif 动图拆分器
list = imagesequence.iterator(image)
 
imgs = []
# 拆分后的图片进行编号,从1开始
k = 1
# 遍历图片流的每一帧
for frame in list:
    # 拆分后的图片,保存到chenge文件夹下,图片命名为img_1.png、img_2.png、...
    frame.save("./chenge/img_%d.png" % k)
    imgs.append(frame.copy())
    k += 1
 
# 拆分图片流进行反序
imgs.reverse()
# 将反序后所有帧图保存下来,命名为reverse_cg.gif
imgs[0].save("reverse_cg.gif", save_all=true, append_images=imgs[1:])

以上就是本文的动图倒放技术过程

原理:读取动图,将动图进行拆分(一帧一图),将拆分后的动图进行反转(实现倒放的关键),然后反转后的图片保存新动图(gif)。

到此这篇关于python代码实现动图倒放的文章就介绍到这了,更多相关python动图倒放内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

《Python代码实现动图倒放.doc》

下载本文的Word格式文档,以方便收藏与打印。