大家好,我是木子的同学!
今天,我将与你分享一件有趣的事情。
时光倒流——当当当当,其实就是倒带视频。
正常视频如下
按如下方式倒放视频
效果很棒吧?当你学会这些,你会发现Tik Tok上那些杯子里的水在倒流,倒流等等。
酷炫神秘的视频,其实就是一键倒带而已!
那么,今天边肖就来探讨一下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:])
从pil导入图像,图像序列
# Read GIF
im = image . open(& # 34;1.gif & # 34)
# gif图片流的iterator
iterator = image sequence . iterator(im)
index = 1
#遍历图片流的每一帧
for frame in iterator:
print(& # 30 image % d:mode % s,size % s & # 34% (index,frame.mode,frame . size))
frame . save(& # 34;。/images/img % d . png & # 34;% index)
index += 1
#将GIF拆分成图片流
IMGS =[frame . copy()for frame in image sequence . iterator(IM)]
#图片流逆序[/h
imgs . reverse()
# reverse . GIF & # 34;,save_all=True,append_images=imgs[1:])
哈哈哈,这个视频你懂!!
当你遇见老人时,你应该...
走吧。皮卡丘
哈哈,这些动态反转效果真的挺有意思的~自己试试吧!
总结:Python文章合集|(实战介绍,游戏,乌龟,案例等。)
(还有更多案例等你去学习文章总结~免费给我找源代码!)