如何使用Python代码制作一个视频倒放神器
这篇文章主要介绍了如何使用Python代码制作一个视频倒放神器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
导语正常的视频如下
倒放视频如下
效果很赞吧,等你学会了这个,你才会发现,抖音上那些杯子里的水倒流,倒着跑步等看似很炫酷很神秘的视频,其实就是一键倒放而已!
那么,今天小编就来探索Python代码如何实现这个倒放的功能叭~
正文这些搞笑的gif跟小视频都是将正常的流畅通过倒放产生的效果啦
其实制作起来却非常简单,原理就是将gif图片拆分出来每一帧,再将拆分的每一帧图片反向排序保存到gif里即可,只需要十行代码
源码如下fromPILimportImage,ImageSequence#读取GIFim=Image.open("1.gif")#GIF图片流的迭代器iter=ImageSequence.Iterator(im)index=1#遍历图片流的每一帧forframeiniter: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()forframeinImageSequence.Iterator(im)]#图片流反序imgs.reverse()#将反序后的所有帧图像保存下来imgs[0].save("reverse.gif",save_all=True,append_images=imgs[1:])效果展示
哈哈哈,看懂这个视频了嘛!!
当遇到老人的时候应该.......
完整的一组效果
少年触电,勇士及时救援!
去吧!皮卡丘
总结哈哈哈哈,这些动态的倒放效果真的还挺有意思的哈~赶紧自己动手试试嘛
补充Python其实不仅能实现视频的倒放,还有动图的倒放
下面是实现动图倒放的示例代码
#python下的图像处理库fromPILimportImage,ImageSequence#系统模块importos#用于读取gif动图im=Image.open("读取图片的名称")#gif图片流的迭代器iter=ImageSequence.Iterator(im)index=1forframeiniter:#每一帧图片print("image%d:mode%s,size%s"%(index,frame.mode,frame.size))#若保存的路径不存在,则创建文件夹path="imgs"ifpathnotinos.listdir():os.makedirs(path)#将每一帧图片保存到imgs文件夹下frame.save("./imgs/frame%d.png"%index)index+=1#将gif拆分成图片流imgs=[frame.copy()forframeinImageSequence.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代码制作一个视频倒放神器”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。