欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用Python將GIF動圖分解成多張靜態(tài)圖片

 更新時間:2021年06月11日 14:33:37   作者:Bill Chan  
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著如何用Python將GIF動圖分解成多張靜態(tài)圖片展開,文中有非常詳細的介紹,需要的朋友可以參考下

需求

有時候你看到一張動態(tài)圖片,其中的一個畫面你覺得很不錯,想從中提取出來。例如以下這張由多個漂亮小姐姐組成的 GIF 動態(tài)圖:

GIF 動態(tài)圖片

實現(xiàn)

GIF 動態(tài)圖片是由多張靜態(tài)圖片組合而成,按照一定的順序和時間進行播放。基于此,能不能將 GIF 圖片反向分解成一張張靜態(tài)圖呢?即 GIF 圖片有多少幀,就有多少張靜態(tài)圖片。答案是肯定的! 都有現(xiàn)成的工具,有免費的,有付費的,有在線版的;還有些專門處理 GIF 動態(tài)圖片的強大工具。

不過,作為 IT 人,不試試自己實現(xiàn)嗎?初學編程,可以練練手;高手可 DIY 可擴展,不受限制,“無拘無束”!

那么,如何用代碼實現(xiàn)這個需求呢?有人說,“Python 除了不會生孩子,什么都會?!边@件區(qū)區(qū)小事,Python 實現(xiàn)也當然不在話下了!這是一個圖像處理問題,Python Imaging Library 這不是 PIL 庫嗎? PIL 已經(jīng)是 Python 平臺事實上的圖像處理標準庫了。PIL 功能非常強大,但 API 卻非常簡單易用。不過,

由于 PIL 僅支持到 Python 2.7,加上年久失修,于是一群志愿者在 PIL 的基礎上創(chuàng)建了兼容的版本,名字叫 Pillow,支持最新 Python 3.x,又加入了許多新特性,因此,我們可以直接安裝使用 Pillow。

在 Pillow 中,有一個模塊是專門實現(xiàn)動態(tài)圖片提取功能的,這就是 ImageSequence 模塊,這個模塊包含一個包裝器類,可以幫助用戶迭代圖像序列的幀。它可以遍歷動畫、 GIF 等 。 此類接受一個圖像對象作為參數(shù)。它實現(xiàn)了一個迭代器對象,用戶可以使用該對象在圖像序列上進行迭代。其語法為:

classPIL.ImageSequence.Iterator(im)

通過以上的了解,我們就可以小試牛刀了,如果你還沒安裝 Pillow,可以通過 pip 進行安裝: pip install pillow 。由于時間關(guān)系,我已經(jīng)安裝好了。另外,你還可以通過 pip list 命令列出安裝了的 Python 包,看是否已經(jīng)安裝了 Pillow。

Python 命令

再接著,不廢話,直接上 Demo 代碼:

from PIL import Image, ImageSequence

with Image.open("girls-min.gif") as im:
    index = 1
    for frame in ImageSequence.Iterator(im):
        frame.save(f"girl{index}.png")
        index += 1

最終效果如下圖所示,再調(diào)整優(yōu)化,完善完善即可:

GIF 動態(tài)圖片提取

參考

pillow庫的基礎使用教程

How-To Geek : What Is a GIF, and How Do You Use Them?

Pillow : ImageSequence Module

到此這篇關(guān)于用Python將GIF動圖分解成多張靜態(tài)圖片的文章就介紹到這了,更多相關(guān)Python分解圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python版學生管理系統(tǒng)

    python版學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python版學生管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python字典取鍵、值對的方法步驟

    Python字典取鍵、值對的方法步驟

    這篇文章主要介紹了Python字典取鍵、值對的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 聊聊python 邏輯運算及奇怪的返回值(not,and,or)問題

    聊聊python 邏輯運算及奇怪的返回值(not,and,or)問題

    在Python中,真值為假的對象,包括False,None,數(shù)字0,空字符串以及空的容器類型,除此以外的任何對象均為真,本文重點給大家介紹python 邏輯運算及奇怪的返回值(not,and,or)問題,感興趣的朋友一起看看吧
    2022-03-03
  • Python按行讀取文件的簡單實現(xiàn)方法

    Python按行讀取文件的簡單實現(xiàn)方法

    下面小編就為大家?guī)硪黄狿ython按行讀取文件的簡單實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Python裝飾器原理與用法分析

    Python裝飾器原理與用法分析

    這篇文章主要介紹了Python裝飾器原理與用法,結(jié)合實例形式分析了Python裝飾器的概念、原理、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-04-04
  • 在Linux命令行中運行Python腳本的流程步驟

    在Linux命令行中運行Python腳本的流程步驟

    Python是一種高級編程語言,被廣泛應用于數(shù)據(jù)科學、機器學習、Web 開發(fā)等領(lǐng)域,在Linux操作系統(tǒng)中,Python是一個默認安裝的解釋器,用戶可以通過命令行界面(CLI)來運行Python腳本,在本文中,我們將詳細介紹如何在Linux命令行中運行Python腳本,需要的朋友可以參考下
    2023-11-11
  • python實現(xiàn)控制電腦鼠標和鍵盤,登錄QQ的方法示例

    python實現(xiàn)控制電腦鼠標和鍵盤,登錄QQ的方法示例

    這篇文章主要介紹了python實現(xiàn)控制電腦鼠標和鍵盤,登錄QQ的方法,涉及Python基于Button,Controller,Key模塊針對鍵盤、鼠標的控制相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • python實現(xiàn)的分層隨機抽樣案例

    python實現(xiàn)的分層隨機抽樣案例

    這篇文章主要介紹了python實現(xiàn)的分層隨機抽樣案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python實現(xiàn)實時視頻流播放代碼實例

    python實現(xiàn)實時視頻流播放代碼實例

    這篇文章主要介紹了python實現(xiàn)實時視頻流播放代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python隊列的定義與使用方法示例

    Python隊列的定義與使用方法示例

    這篇文章主要介紹了Python隊列的定義與使用方法,結(jié)合具體實例形式分析了Python定義及使用隊列的具體操作技巧與注意事項,需要的朋友可以參考下
    2017-06-06

最新評論