Py学习  »  Python

十行python实现诺兰《信条》里倒放效果

懒人找资源 • 3 年前 • 430 次点击  

01

懒人预告

文末有懒人资源网更新的十份学习资源,别提前退出哈~

02

懒人提醒

首先今天小懒在公众号小号分享了一个观影神器,点击下方卡片可以直达~
这个真的强,下载地址也请到文章里对应的公众号领取哈~
同时希望大家把小懒的这两个公众号都设为星标,昨天才知道原来设为星标的公众号在大家的订阅号里看到的才是大图,而且现在订阅号是乱序推送了,设为星标可以避免错过小懒的推文~
点击上方卡片都可以直达哈~

正文

先来几个有趣的倒放动图娱乐一下~

猫:我谢你全家


萌娃快乐针


尊老爱幼?


狗狗:敢从我嘴里抢食?


空口变棉花糖?


可以说是很魔性了

要说最近全球最火的电影,非《信条》莫属了,国内各大院线都有排片,冲着诺兰的名气大家都可以去看看,看不懂也没关系,当做看动作片也行。

  

关于电影的解读网上很多了,片中由于逆向时间所以有很多“倒放”的镜头,今天就用python来实现动图倒放的效果。

至于原理很简单。

我们都知道gif其实就是一帧帧的图片拼接而成,只要把这些图片拆出来,再反向拼接回去就可以了。

假设你电脑里已经有python环境了,使用pip安装PIL库就行。

from PIL import Image, ImageSequence# 读取 GIFim = 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:])

运行以上脚本就可以把py文件同级目录下的1.gif倒装回来了。

如果是视频呢,就要用到moviepy这个库了,然后利用ffmpeg合成。原理也差不多。

代码实在简单,没啥可以解释的了。

为了给文章加点料,懒人资源网更新了十份学习汁源:

全部免费领取,有需要的自行到懒人资源网查看:

标题如下:

零基础玩转小清新人物摄影

快乐燃脂塑身操,让你越跳越瘦

99个用得上的道德经智慧

足不出户,从头到脚精准塑形

web全栈架构师第16期教程

佟彤中医养护50讲:轻松保健

撩妹心态建设:如何拥有自信

系统常用运行库合集

文件夹隐藏精灵

阿里学到的运营36课 全体系运营课

资源网地址:http://lazymovie.me/


最后附上《信条》的精彩动态截图~







Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/73344
 
430 次点击