Python簡(jiǎn)單實(shí)現(xiàn)gif動(dòng)圖倒放示例
最近是有點(diǎn)忙,感覺(jué)好久沒(méi)寫博客了。但是最近看到一個(gè)有趣的就是gif動(dòng)圖的倒放,因?yàn)檫@個(gè)原理也并不是很難,而且用到的庫(kù)以前也略微的看過(guò)一點(diǎn)點(diǎn),所以要新學(xué)的東西不是很多。
開發(fā)環(huán)境 :pycharm + win10下python環(huán)境
主題思路就是將gif動(dòng)圖的每一幀都截取下來(lái),將整張動(dòng)圖拆分成圖片流,然后將圖片流反序,最后將反序后的圖片流重新合成成一張gif動(dòng)圖,下面貼上代碼 :
# python下的圖像處理庫(kù) from PIL import Image, ImageSequence # 系統(tǒng)模塊 import os # 用于讀取gif動(dòng)圖 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:])
然后下面是拆分的圖片流:
最后是效果圖對(duì)比,下面是原圖:
之后就是倒放的動(dòng)圖:
哇,貌似看起來(lái)不是很明顯,但是單獨(dú)看兩張動(dòng)圖就好一點(diǎn)了,原圖是從背到正,轉(zhuǎn)換后是從正臉轉(zhuǎn)身
以上就是Python實(shí)現(xiàn)gif動(dòng)圖倒放示例的詳細(xì)內(nèi)容,更多關(guān)于Python實(shí)現(xiàn)gif動(dòng)圖倒放的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python使用Selenium執(zhí)行JavaScript代碼的步驟詳解
Selenium是一個(gè)用于自動(dòng)化瀏覽器操作的工具,可以模擬人工操作,執(zhí)行各種瀏覽器操作,而JavaScript是一種常用的腳本語(yǔ)言,本文將介紹如何在Python中使用Selenium執(zhí)行JavaScript代碼,并給出一些常見的應(yīng)用示例2023-11-11基于Python實(shí)現(xiàn)簡(jiǎn)單的定時(shí)器詳解
所謂定時(shí)器,是指間隔特定時(shí)間執(zhí)行特定任務(wù)的機(jī)制。幾乎所有的編程語(yǔ)言,都有定時(shí)器的實(shí)現(xiàn)。這篇文章主要介紹的是通過(guò)Python實(shí)現(xiàn)的定時(shí)器,感興趣的可以跟隨小編學(xué)習(xí)一下2021-12-12Python命令啟動(dòng)Web服務(wù)器實(shí)例詳解
這篇文章主要介紹了Python命令啟動(dòng)Web服務(wù)器實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02Python劃分?jǐn)?shù)組為連續(xù)數(shù)字集合的練習(xí)
這篇文章主要給大家分享的是Python劃分?jǐn)?shù)組為連續(xù)數(shù)字集合的練習(xí),下面文章首先對(duì)問(wèn)題進(jìn)行詳細(xì)描述,在根據(jù)問(wèn)題提出解決方案,內(nèi)容詳細(xì),需要的朋友可以參考一下,希望對(duì)你有所幫助2021-11-11在Python web中實(shí)現(xiàn)驗(yàn)證碼圖片代碼分享
這篇文章主要介紹了在Python web中實(shí)現(xiàn)驗(yàn)證碼圖片代碼分享,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11python之Socket網(wǎng)絡(luò)編程詳解
這篇文章主要為大家詳細(xì)介紹了python之Socket網(wǎng)絡(luò)編程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09