天天看點

python 動圖處理_python圖像處理-gif動圖

python 動圖處理_python圖像處理-gif動圖

前言

本系列課程是針對無基礎的,争取用簡單明了的語言來講解,學習前需要具備基本的電腦操作能力,準備一個已安裝python環境的電腦。如果覺得好可以分享轉發,有問題的地方也歡迎指出,在此先行謝過。

相信很多人都有看過動圖,玩過一些小遊戲或者看過定格動畫,可能你很好奇,它們都是怎麼做出來的,其中的原理主要還是利用人的人眼暫留效應,簡單點來說,就是人看過一張圖檔後,你把圖檔拿走後,眼睛裡還是會短暫的保留一段時間,在這個期間内你在看另外一張圖檔,你會覺得是同一張圖檔的不同形态。利用這個原理隻要控制好時間,就能夠将一系列圖檔組合在一起形成動圖了,更長的可以形成動畫等等。

比如下面的圖檔,每一張我們稱為一幀,我們看到的動态效果,其實就好像在不斷翻圖檔給你看。

python 動圖處理_python圖像處理-gif動圖
python 動圖處理_python圖像處理-gif動圖

圖檔合成動圖

導入os庫,利用listdir方法将lion檔案夾中的圖檔全部讀取出來,循環打開每一張圖檔,接着将圖檔對象添加到frames清單中,最後利用save方法,儲存為一張動圖。

python 動圖處理_python圖像處理-gif動圖
python 動圖處理_python圖像處理-gif動圖
python 動圖處理_python圖像處理-gif動圖

動圖分解成一張張圖檔

先使用open方法打開動圖,接着使用ImageSequence将打開的圖檔對象轉換成可疊代的圖檔序列,通過for循環将圖檔一張張儲存到本地,名字可以自定義。

python 動圖處理_python圖像處理-gif動圖
python 動圖處理_python圖像處理-gif動圖
python 動圖處理_python圖像處理-gif動圖

想法延伸

動圖的内容還有很多可豐富的地方,也還有很多可優化的地方。比如你是以把一些尺寸不同的圖檔合成動圖時,需要先将所有圖檔統一尺寸,需要使用resize方法;或者你想在動圖上加上文字,可以結合之前處理單張圖檔添加文字的方法,處理完之後在統一合成;或者你還想調整動圖的速率等等,具體更多内容可以留言問我。

(全文完)

歡迎轉載,轉載請注明出處!

歡迎關注公衆微信号:葉子陪你玩程式設計 分享自己的python學習之路

長按二維碼,

加關注!

葉子陪你玩

python 動圖處理_python圖像處理-gif動圖