Python簡單實現gif動圖倒放示例
最近是有點忙,感覺好久沒寫博客瞭。但是最近看到一個有趣的就是gif動圖的倒放,因為這個原理也並不是很難,而且用到的庫以前也略微的看過一點點,所以要新學的東西不是很多。
開發環境 :pycharm + win10下python環境
主題思路就是將gif動圖的每一幀都截取下來,將整張動圖拆分成圖片流,然後將圖片流反序,最後將反序後的圖片流重新合成成一張gif動圖,下面貼上代碼 :
# 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實現gif動圖倒放示例的詳細內容,更多關於Python實現gif動圖倒放的資料請關註LevelAH其它相關文章!
推薦閱讀:
- 十行Python代碼制作一個視頻倒放神器
- 用Python將GIF動圖分解成多張靜態圖片
- pytorch 數據加載性能對比分析
- Python 圖像處理 Pillow 庫詳情
- python對gif圖壓縮的完美解決方案