十行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视频倒放内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python将视频转换为图片介绍

    目录 前言 代码展示 结果展示 总结 前言 代码让人头秃,可是我喜欢上了代码的逻辑感和代码解决问题的力量.(我要对这个专题的图片进行修改,缩小看和我导头像有点像QAQ) 代码展示 此段代码能够实现多个文件夹中多个视频片段的转换,代码的具体含义可以参考注释.具体操作为将此段代码复制粘贴到创建好的main.py文件,配置好第63行的源文件路径,然后运行. # 将四个文件夹中的多个视频文件转换为图片 import cv2 import os number_in_dir = [] # 可以去掉 def

  • Python实现动态图解析、合成与倒放

    动态图现在已经融入了我们的日常网络生活,大大丰富了我们的表达方式和交流趣味性.常常是一言不合就扔动图,我这里就不举例子了,例子太多,平时大家也都接触过.咱们直接开始本文的内容. 用到的库和模块 今天用看看如何用Python写个程序,进行动态图的解析.合成与倒放.这里我们用到的库有且只有PIL.而且只用到了PIL的两个模块Image和ImageSequence.顾名思义,就是图像模块和图像序列模块.动态图正好可以看作是图像序列. 简单的原理和代码 所谓动态图的解析,就是把GIF格式的图片转化为图片

  • 利用Python轻松实现视频转GIF动图

    目录 前言 1. 准备工作 2. 初探 3. 截取区域转动图 4. 固定区域转动图 5. 添加自定义文本 前言 不知道大家是不是有过类似的经历,在看视频的时候觉得某段非常有意思想弄成动图,但是无从下手! 或可以在网上找一些在线工具但是多多少少需要付费或者带有水印之类的,那么!? 对,今天我们就来学习用Python搞定这一需求吧! 动图效果 1. 准备工作 需要准备用于生成gif的视频文件,我这里用的是上次<用Python制作一个B站视频下载小工具>里案例中的视频.另外,就是需要用到moviep

  • Python实现GIF图倒放

    前言 GIF图现在已经融入了我们的日常网络生活,微信群.QQ群.朋友圈......一言不合就斗图,你怕了吗?不用担心,只要学会了Python之GIF倒放技能,你就是"斗图王". 咱们直接开始本文的内容! PIL(Python Image Library) 它是python的第三方图像处理库,功能非常的强大,几乎被认定为Python的官方图像处理库. 1:导入PIL库的模块 from PIL import Image, ImageSequence #导入PIL库的Image和 Image

  • 用Python将动态GIF图片倒放播放的方法

    这次让我们一个用 Python 做一个小工具:将动态 GIF 图片倒序播放! GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧(Frame)静态图像,然后连续呈现.很多简短的视频也会被转换成动态 GIF 呈现,压缩画质和去除声音之后可以有效地减小文件大小.网络上不计其数的搞笑动图,几乎承载了网友大半的欢乐,但是也有人发现,将正常的动画倒序播放往往可以获得更搞笑的效果,Reddit 上甚至有一个专门的节点:/r/revers

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

    目录 导语 正文 源码如下 效果展示 总结 补充 导语 大家好,我是栗子同学! 今天给大家分享一个好玩的东西 让时光倒流——当当当,其实就是让视频倒放而已 正常的视频如下 倒放视频如下 效果很赞吧,等你学会了这个,你才会发现,抖音上那些杯子里的水倒流,倒着跑步等看似很炫酷很神秘的视频,其实就是一键倒放而已! 那么,今天小编就来探索Python代码如何实现这个倒放的功能叭~ 正文 这些搞笑的gif跟小视频都是将正常的流畅通过倒放产生的效果啦 其实制作起来却非常简单,原理就是将gif图片拆分出来每一

  • 利用Python+Excel制作一个视频下载器

    说起Excel,那绝对是数据处理领域王者般的存在. 而作为网红语言Python,在数据领域也是被广泛使用. 其中Python的第三方库-xlwings,一个Python和Excel的交互工具,可以轻松地通过VBA来调用Python脚本,实现复杂的数据分析. 今天,小F就给大家介绍一个Python+Excel的项目[视频下载器]. 主要使用到下面这些Python库. import os import sys import ssl import ffmpeg import xlwings as xw

  • 小 200 行 Python 代码制作一个换脸程序

    简介 在这篇文章中我将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一幅图片的脸. 这个过程分四步: 检测脸部标记. 旋转.缩放.平移和第二张图片,以配合第一步. 调整第二张图片的色彩平衡,以适配第一张图片. 把第二张图像的特性混合在第一张图像中. 1.使用 dlib 提取面部标记 该脚本使用 dlib 的 Python 绑定来提取面部标记: Dlib 实现了 Vahid Kazemi 和 Josephine Sullivan 的<使用回归树一毫秒脸部对准>

  • Python代码实现动图倒放

    开始分享今天的技术之前,先来看几个动图(gif) (原图1) (倒放1) (原图2) (倒放2) 上诉两个动图,可以通过几行Python代码就可以实现倒放效果. 导入库: from PIL import Image, ImageSequence Image库用于读取(加载)图片 ImageSequence 用于将GIF拆解为图片(一帧一图) # 加载本地动图 image = Image.open("cg.gif") # GIF 动图拆分器 list = ImageSequence.It

  •  Python 代码制作动态鞭炮

    目录 1 视频帧采样 2 将图片转为字符画 2.1 创建像素-字符索引 2.2 将图片逐像素转换为字符 3 将字符图像合成视频 4 完整代码 5 参考 前言: 放鞭炮贺新春,在我国有两千多年历史.关于鞭炮的起源,有个有趣的传说. 西方山中有焉,长尺余,一足,性不畏人.犯之令人寒热,名曰年惊惮,后人遂象其形,以火药为之.——<神异经> 当初人们燃竹而爆,是为了驱吓危害人们的山魈.据说山魈最怕火光和响声,所以每到除夕,人们便“燃竹而爆”,把山魈吓跑.这样年复一年,便形成了过年放鞭炮.点红烛.敲锣打

  • OpenCV Matlab生成视频倒放功能

    目录 引言 1.需求分析 2.环境配置(Win11+ VS 2015 + OpenCV 2.4.9 / Matlab R2021a) 3.OpenCV实现视频倒放(C++) 3.1 输入原始视频(带声音) 3.2 原始视频转声音(mp4转mp3) 3.3 OpenCV代码 3.4 OpenCV运行结果 4.Matlab实现视频倒放 4.1 Matlab代码 4.1.1 Matlab读取视频并播放(三选一) 4.1.2 Matlab读取视频并逆转 4.2 Matlab运行结果 5.总结及应用 引言

  • Python+OpenGL制作一个元宵花灯

    目录 1.准备 2.快速体验 3.模型动画 4.子图布局 5.颜色映射 6.走马灯 又是一年元宵节,作为程序员的你,打算怎么过呢?如果昨天情人节的红包发得手软又心疼,不妨静下心来,了解一下三维数据可视化,顺便做一盏花灯送给女朋友,也许比红包更能讨她欢心呢. 1.准备 三维数据快速可视化工具,我喜欢用WxGL.这是一个基于PyOpenGL的三维数据可视化库,提供类似Matplotlib风格的3D绘图函数.如果熟悉NumPy和Matplotlib的话,只需要几分钟时间就可以学会使用WxGL的交互式绘

  • Python+PyQt5制作一个图片查看器

    目录 前言 实现方式 测试 前言 在 PyQt 中可以使用很多方式实现照片查看器,最朴素的做法就是重写 QWidget 的 paintEvent().mouseMoveEvent 等事件,但是如果要在图像上多添加一些形状,那么在对图像进行缩放旋转等仿射变换时需要对这些形状也这些变换,虽然不难,但是从头实现这些变换还有形状还是挺讨厌的.好在 Qt 提供了图形视图框架,关于这个框架的基本使用可以参见 深入了解PyQt5中的图形视图框架,下面进入正题. 实现方式 一个最基本的照片查看器应该具有以下功能

  • Pygame代码 制作一个贪吃蛇小游戏

    目录 用到的 Pygame 函数 创建屏幕 创建 snake 使 snake 动起来 处理 Game Over 增加食物 snake 的成长 展示得分 用到的 Pygame 函数 贪吃蛇小游戏用到的函数 功能 描述 init() 初始化 pygame display.set_mode() 以元组或列表为参数创建窗口 update() 更新屏幕 quit() 用于取消初始化的 pygame set_caption() 在屏幕的顶部设置文字 event.get() 返回所有事件的列表 Surface

随机推荐