温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Python代码制作一个视频倒放神器

发布时间:2022-02-15 14:50:17 来源:亿速云 阅读:364 作者:小新 栏目:开发技术

这篇文章主要介绍了如何使用Python代码制作一个视频倒放神器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    导语

    正常的视频如下

    如何使用Python代码制作一个视频倒放神器

    倒放视频如下

    如何使用Python代码制作一个视频倒放神器

    效果很赞吧,等你学会了这个,你才会发现,抖音上那些杯子里的水倒流,倒着跑步等看似很炫酷很神秘的视频,其实就是一键倒放而已!

    那么,今天小编就来探索Python代码如何实现这个倒放的功能叭~

    正文

    这些搞笑的gif跟小视频都是将正常的流畅通过倒放产生的效果啦

    其实制作起来却非常简单,原理就是将gif图片拆分出来每一帧,再将拆分的每一帧图片反向排序保存到gif里即可,只需要十行代码

    源码如下

    from PIL import Image, ImageSequence
    # 读取 GIF
    im = Image.open("1.gif")
    # GIF 图片流的迭代器
    iter = ImageSequence.Iterator(im)
    index = 1
    # 遍历图片流的每一帧
    for frame in iter:
        print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))
        frame.save("./images/img%d.png" % index)
        index += 1
    # 把 GIF 拆分为图片流
    imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]
    # 图片流反序
    imgs.reverse()
    # 将反序后的所有帧图像保存下来
    imgs[0].save("reverse.gif", save_all=True, append_images=imgs[1:])

    效果展示

    如何使用Python代码制作一个视频倒放神器

    哈哈哈,看懂这个视频了嘛!!

    如何使用Python代码制作一个视频倒放神器

    当遇到老人的时候应该.......

    完整的一组效果

    少年触电,勇士及时救援!

    如何使用Python代码制作一个视频倒放神器

    去吧!皮卡丘

    如何使用Python代码制作一个视频倒放神器

    总结

    哈哈哈哈,这些动态的倒放效果真的还挺有意思的哈~赶紧自己动手试试嘛

    补充

    Python其实不仅能实现视频的倒放,还有动图的倒放

    下面是实现动图倒放的示例代码

    # 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代码制作一个视频倒放神器”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI