Python簡(jiǎn)單實(shí)現(xiàn)gif動(dòng)圖倒放示例
最近是有點(diǎn)忙,感覺(jué)好久沒(méi)寫(xiě)博客了。但是最近看到一個(gè)有趣的就是gif動(dòng)圖的倒放,因?yàn)檫@個(gè)原理也并不是很難,而且用到的庫(kù)以前也略微的看過(guò)一點(diǎn)點(diǎn),所以要新學(xué)的東西不是很多。
開(kāi)發(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高手之路python處理excel文件(方法匯總)
用python來(lái)自動(dòng)生成excel數(shù)據(jù)文件。python處理excel文件主要是第三方模塊庫(kù)xlrd、xlwt、xluntils和pyExcelerator,除此之外,python處理excel還可以用win32com和openpyxl模塊2016-01-01
解決win7操作系統(tǒng)Python3.7.1安裝后啟動(dòng)提示缺少.dll文件問(wèn)題
這篇文章主要介紹了解決win7操作系統(tǒng)Python3.7.1安裝后啟動(dòng)提示缺少.dll文件問(wèn)題,本文給大家提供兩種解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
詳解在Python中創(chuàng)建條形圖追趕動(dòng)畫(huà)
動(dòng)畫(huà)是使可視化更具吸引力和用戶吸引力的好方法。它幫助我們以有意義的方式展示數(shù)據(jù)可視化。Matplotlib是一個(gè)非常流行的數(shù)據(jù)可視化庫(kù),通常用于數(shù)據(jù)的圖形表示以及使用內(nèi)置函數(shù)的動(dòng)畫(huà)。本文將用Matplotlib繪制條形圖追趕動(dòng)畫(huà),需要的可以參考一下2022-03-03
淺析python 中大括號(hào)中括號(hào)小括號(hào)的區(qū)分
python語(yǔ)言最常見(jiàn)的括號(hào)有三種,分別是:小括號(hào)( )、中括號(hào)[ ]和大括號(hào)也叫做花括號(hào){ }。這篇文章主要介紹了python 中大括號(hào)中括號(hào)小括號(hào)的區(qū)分,需要的朋友可以參考下2019-07-07
Python使用Tkinter庫(kù)如何設(shè)置tkinter ttk框架背景顏色
本文介紹了在Python的Tkinter庫(kù)中,如何使用style.configure方法為ttk框架設(shè)置背景顏色及其他樣式屬性,以定制美觀的GUI界面2024-09-09
Python操作MySQL數(shù)據(jù)庫(kù)的入門(mén)指南
MySQL是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),廣泛應(yīng)用于各種應(yīng)用程序和網(wǎng)站,在本篇技術(shù)博客中,我們將探討如何使用Python操作MySQL數(shù)據(jù)庫(kù),需要的可以收藏一下2023-06-06
完美解決keras保存好的model不能成功加載問(wèn)題
這篇文章主要介紹了完美解決keras保存好的model不能成功加載問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06

