婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用Python將GIF動圖分解成多張靜態圖片

用Python將GIF動圖分解成多張靜態圖片

熱門標簽:商家地圖標注海報 南陽打電話機器人 騰訊地圖標注沒法顯示 ai電銷機器人的優勢 打電話機器人營銷 孝感營銷電話機器人效果怎么樣 聊城語音外呼系統 地圖標注自己和別人標注區別 海外網吧地圖標注注冊

需求

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

實現

GIF 動態圖片是由多張靜態圖片組合而成,按照一定的順序和時間進行播放?;诖耍懿荒軐?GIF 圖片反向分解成一張張靜態圖呢?即 GIF 圖片有多少幀,就有多少張靜態圖片。答案是肯定的! 都有現成的工具,有免費的,有付費的,有在線版的;還有些專門處理 GIF 動態圖片的強大工具。

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

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

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

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

classPIL.ImageSequence.Iterator(im)

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

再接著,不廢話,直接上 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

最終效果如下圖所示,再調整優化,完善完善即可:

參考

pillow庫的基礎使用教程

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

Pillow : ImageSequence Module

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

您可能感興趣的文章:
  • Python 實現圖片轉字符畫的示例(靜態圖片,gif皆可)
  • python GUI庫圖形界面開發之PyQt5不規則窗口實現與顯示GIF動畫的詳細方法與實例
  • python下載衛星云圖合成gif的方法示例
  • Python將視頻或者動態圖gif逐幀保存為圖片的方法
  • 利用Python如何制作好玩的GIF動圖詳解
  • 教你怎么用Python實現GIF動圖的提取及合成

標簽:南寧 牡丹江 揚州 撫州 迪慶 楊凌 聊城 六盤水

巨人網絡通訊聲明:本文標題《用Python將GIF動圖分解成多張靜態圖片》,本文關鍵詞  用,Python,將,GIF,動圖,分解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用Python將GIF動圖分解成多張靜態圖片》相關的同類信息!
  • 本頁收集關于用Python將GIF動圖分解成多張靜態圖片的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 大同县| 射洪县| 远安县| 海林市| 丹巴县| 苍南县| 天祝| 巴里| 舞钢市| 甘谷县| 东平县| 木里| 克拉玛依市| 芦山县| 崇左市| 溆浦县| 大化| 万盛区| 尉犁县| 永州市| 遂溪县| 克拉玛依市| 额敏县| 左权县| 吴忠市| 文山县| 宣威市| 宣城市| 尼勒克县| 涞源县| 潢川县| 双鸭山市| 奎屯市| 西丰县| 天等县| 静海县| 唐海县| 盘山县| 安乡县| 漳浦县| 开江县|