您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用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代碼制作一個視頻倒放神器”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。