最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)動態(tài)圖解析、合成與倒放

 更新時間:2018年01月18日 13:43:01   作者:冰不語  
這篇文章主要為大家詳細介紹了Python實現(xiàn)動態(tài)圖的解析、合成與倒放,具有一定的參考價值,感興趣的小伙伴們可以參考一下

動態(tài)圖現(xiàn)在已經(jīng)融入了我們的日常網(wǎng)絡(luò)生活,大大豐富了我們的表達方式和交流趣味性。常常是一言不合就扔動圖,我這里就不舉例子了,例子太多,平時大家也都接觸過。咱們直接開始本文的內(nèi)容。

用到的庫和模塊

今天用看看如何用Python寫個程序,進行動態(tài)圖的解析、合成與倒放。這里我們用到的庫有且只有PIL。而且只用到了PIL的兩個模塊Image和ImageSequence。顧名思義,就是圖像模塊和圖像序列模塊。動態(tài)圖正好可以看作是圖像序列。

簡單的原理和代碼

所謂動態(tài)圖的解析,就是把GIF格式的圖片轉(zhuǎn)化為圖片流的過程,而動態(tài)圖的合成就是把圖片流重新合成GIF圖片的過程。而所謂動態(tài)圖倒放,就是把圖片流反序之后再合成GIF了。

原理上沒啥難以理解的,我們還是直接看代碼。

from PIL import Image, ImageSequence 

# 讀取GIF
im = Image.open("5.gif")
# GIF圖片流的迭代器
iter = ImageSequence.Iterator(im)

index = 1
# 遍歷圖片流的每一幀
for frame in iter:
 print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))
 frame.save("./imgs/frame%d.png" % index)
 index += 1

# frame0 = frames[0]
# frame0.show()

# 把GIF拆分為圖片流
imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]
# 把圖片流重新成成GIF動圖
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:])

效果

以下是動圖原圖、效果圖。

倒放的動態(tài)圖

動態(tài)圖解析得到的圖片流:


補充說明

加上注釋之后的代碼完全沒啥可說的有木有?

其實還還是有些地方可說的,比如圖片為啥保存為PNG格式的,JPG行不行?比如第六行與第19行末尾的代碼是否重復(fù),第19行末尾能不能用iter代替?

這些問題知道的就算了,不知道的希望能夠自己跑一跑代碼,查一查資料,補充下這方面的小知識。

除此之外,還有哪些補充知識的方法呢?當(dāng)然是看書啦~

相關(guān)文章

  • Python中的支持向量機SVM的使用(附實例代碼)

    Python中的支持向量機SVM的使用(附實例代碼)

    這篇文章主要介紹了Python中的支持向量機SVM的使用(附實例代碼),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 如何實現(xiàn)更換Jupyter Notebook內(nèi)核Python版本

    如何實現(xiàn)更換Jupyter Notebook內(nèi)核Python版本

    這篇文章主要介紹了如何實現(xiàn)更換Jupyter Notebook內(nèi)核Python版本,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • pytest自動化測試數(shù)據(jù)驅(qū)動yaml/excel/csv/json

    pytest自動化測試數(shù)據(jù)驅(qū)動yaml/excel/csv/json

    這篇文章主要為大家介紹了pytest自動化測試數(shù)據(jù)驅(qū)動yaml/excel/csv/json的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 30分鐘搭建Python的Flask框架并在上面編寫第一個應(yīng)用

    30分鐘搭建Python的Flask框架并在上面編寫第一個應(yīng)用

    這篇文章主要介紹了如何搭建Python的Flask框架并在上面編寫一個簡單的登錄模版應(yīng)用,代碼數(shù)量少、充分體現(xiàn)了Flask框架的輕量與開發(fā)高效的特點,需要的朋友可以參考下
    2015-03-03
  • Python創(chuàng)建增量目錄的代碼實例

    Python創(chuàng)建增量目錄的代碼實例

    這篇文章主要給大家介紹了關(guān)于Python創(chuàng)建增量目錄的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-11-11
  • Python入門學(xué)習(xí)指南分享

    Python入門學(xué)習(xí)指南分享

    這篇文章主要為大家詳細介紹了Python入門的學(xué)習(xí)指南,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 基于Python實現(xiàn)一鍵找出磁盤里所有貓照

    基于Python實現(xiàn)一鍵找出磁盤里所有貓照

    最近在整理我磁盤上的照片,發(fā)現(xiàn)不少貓照,突然覺得若能把這些貓照都挑出來,觀察它們的成長軌跡也是一件不錯的事情。一張一張的找實在是太費勁了,能不能自動化地找出來呢?本文將詳細為大家講講,需要的可以參考一下
    2022-05-05
  • python判斷變量是否為int、字符串、列表、元組、字典的方法詳解

    python判斷變量是否為int、字符串、列表、元組、字典的方法詳解

    這篇文章主要介紹了python判斷變量是否為int、字符串、列表、元組、字典的方法詳解,需要的朋友可以參考下
    2020-02-02
  • 對python讀取CT醫(yī)學(xué)圖像的實例詳解

    對python讀取CT醫(yī)學(xué)圖像的實例詳解

    今天小編就為大家分享一篇對python讀取CT醫(yī)學(xué)圖像的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python pandas之多級索引取值詳解

    Python pandas之多級索引取值詳解

    這篇文章主要為大家介紹了Python pandas之多級索引取值,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評論

普格县| 昭觉县| 连云港市| 大新县| 深泽县| 无棣县| 台南县| 杭州市| 沈阳市| 隆尧县| 温泉县| 四子王旗| 长葛市| 修水县| 大冶市| 金山区| 大同市| 定日县| 万载县| 华池县| 饶平县| 体育| 武胜县| 巴林左旗| 定日县| 正镶白旗| 新龙县| 黎城县| 张家港市| 客服| 韶山市| 蒙自县| 老河口市| 通渭县| 石家庄市| 鲁甸县| 宕昌县| 仪陇县| 深水埗区| 邵武市| 东丰县|