Python簡單實現(xiàn)gif動圖倒放示例
最近是有點忙,感覺好久沒寫博客了。但是最近看到一個有趣的就是gif動圖的倒放,因為這個原理也并不是很難,而且用到的庫以前也略微的看過一點點,所以要新學的東西不是很多。
開發(fā)環(huán)境 :pycharm + win10下python環(huán)境
主題思路就是將gif動圖的每一幀都截取下來,將整張動圖拆分成圖片流,然后將圖片流反序,最后將反序后的圖片流重新合成成一張gif動圖,下面貼上代碼 :
# python下的圖像處理庫
from PIL import Image, ImageSequence
# 系統(tǒng)模塊
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))
# 若保存的路徑不存在,則創(chuàng)建文件夾
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:])然后下面是拆分的圖片流:

最后是效果圖對比,下面是原圖:

之后就是倒放的動圖:

哇,貌似看起來不是很明顯,但是單獨看兩張動圖就好一點了,原圖是從背到正,轉(zhuǎn)換后是從正臉轉(zhuǎn)身
以上就是Python實現(xiàn)gif動圖倒放示例的詳細內(nèi)容,更多關(guān)于Python實現(xiàn)gif動圖倒放的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python使用Selenium執(zhí)行JavaScript代碼的步驟詳解
Selenium是一個用于自動化瀏覽器操作的工具,可以模擬人工操作,執(zhí)行各種瀏覽器操作,而JavaScript是一種常用的腳本語言,本文將介紹如何在Python中使用Selenium執(zhí)行JavaScript代碼,并給出一些常見的應用示例2023-11-11
Python劃分數(shù)組為連續(xù)數(shù)字集合的練習
這篇文章主要給大家分享的是Python劃分數(shù)組為連續(xù)數(shù)字集合的練習,下面文章首先對問題進行詳細描述,在根據(jù)問題提出解決方案,內(nèi)容詳細,需要的朋友可以參考一下,希望對你有所幫助2021-11-11

