十行Python代码制作一个视频倒放神器

 更新时间:2022年02月15日 11:51:06   作者:嗨!栗子同学  
这篇文章主要介绍了如何通过十行代码实现视频倒放神器,轻松实现视频倒放功能。文中的示例代码简洁易懂,对我们学习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下的图像处理库
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代码制作一个视频倒放神器的文章就介绍到这了,更多相关Python视频倒放内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python拼接字符串的7种方式详解

    Python拼接字符串的7种方式详解

    这篇文章主要介绍了Python拼接字符串的7种方式详解,需要的朋友可以参考下
    2020-02-02
  • JS+HTML实现在线图片水印添加工具

    JS+HTML实现在线图片水印添加工具

    在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于 HTML + CSS 构建的现代化图片水印在线工具,希望对大家有所帮助
    2025-04-04
  • 如何用Python来搭建一个简单的推荐系统

    如何用Python来搭建一个简单的推荐系统

    这篇文章主要介绍了如何用Python来搭建一个简单的推荐系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python自动化测试三部曲之unittest框架的实现

    python自动化测试三部曲之unittest框架的实现

    这篇文章主要介绍了python自动化测试三部曲之unittest框架的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Java中重定向输出流实现用文件记录程序日志

    Java中重定向输出流实现用文件记录程序日志

    这篇文章主要介绍了Java中重定向输出流实现用文件记录程序日志,本文直接给出代码实例,并对代码做了详细注解,需要的朋友可以参考下
    2015-06-06
  • python 实现IP子网计算

    python 实现IP子网计算

    这篇文章主要介绍了python 实现IP子网计算的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-02-02
  • python实现动态创建类的方法分析

    python实现动态创建类的方法分析

    这篇文章主要介绍了python实现动态创建类的方法,结合实例形式分析了Python动态创建类的原理、实现方法及相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • Python虚拟环境安装及操作命令详解

    Python虚拟环境安装及操作命令详解

    本文主要介绍了Python虚拟环境安装及操作命令详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Python队列、进程间通信、线程案例

    Python队列、进程间通信、线程案例

    这篇文章主要介绍了Python队列、进程间通信、线程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python  dataprep库简化加速数据科学操作

    python  dataprep库简化加速数据科学操作

    这篇文章主要为大家介绍了python  dataprep库简化加速数据科学操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01

最新评论