如何使用Python快速生成gif圖
前言
gif圖就是動(dòng)態(tài)圖,它的原理和視頻有點(diǎn)類似,也是通過很多靜態(tài)圖片合成的.本篇文章主要介紹,如何利用Python快速合成gif圖,主要利用Python的第三方庫(kù)imageio
imageio介紹
imageio提供了很多方便讀寫圖片的接口、包括讀取網(wǎng)絡(luò)圖片、讀取視頻、生成gif圖等。imageio提供許多的接口,imageio API,和示例程序
imageio安裝
pip install imageio
合成gif圖
import imageio
def compose_gif():
img_paths = ["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg"
,"img/5.jpg","img/6.jpg"]
gif_images = []
for path in img_paths:
gif_images.append(imageio.imread(path))
imageio.mimsave("test.gif",gif_images,fps=1)

通過fps參數(shù)可以控制合成gif圖片播放圖片的速度和視頻的播放幀率是一樣的,fps參數(shù)越大播放的速率越大,fps越小播放的速度越慢.
讀取特殊url圖片
讀取imageio的示例圖片
import imageio
import matplotlib.pyplot as plt
def read_special_url_image():
img = imageio.imread("imageio:chelsea.png")
plt.imshow(img)
plt.show()
讀取url的網(wǎng)絡(luò)圖片
url = 'http://upload.wikimedia.org/wikipedia/
commons/d/de/Wikipedia_Logo_1.0.png'
img = imageio.imread(url)

再使用url讀取圖片的時(shí)候可能會(huì)報(bào)seek的錯(cuò)誤,這時(shí)候可以改成下面的形式
url = "https://timgsa.baidu.com/timg?image&quality=80&size=
b9999_10000&sec=1545324012100&di=77a4ba3d60cdfc60
d161bd6ed97c2319&imgtype=0&src=http%3A%2F%2Fwww.hxzyt
j.com%2Fthemes%2Ftheme_3%2Fpc%2Fimages%2Fpython%2Fimg_01.jpg"
img = imageio.imread(imageio.core.urlopen(url).read(), '.jpg')

截圖和讀取粘貼板的圖片
#截屏
img = imageio.imread("<screen>")
#讀取粘貼板的圖片
img = imageio.imread("<clipboard>")
讀取視頻
def get_video_per_frame():
reader = imageio.get_reader("test.mp4")
for i,im in enumerate(reader):
print("Mean of frame %i is %1.1f"%(i,im.mean()))

在使用imageio讀取視頻的時(shí)候可能會(huì)報(bào)上面的錯(cuò)誤,提示需要安裝ffmpeg,可以根據(jù)提示進(jìn)行安裝即可.除此之外,imageio還提供了許多方便的接口,有興趣的可以去了解一下.
總結(jié)
到此這篇關(guān)于如何使用Python快速生成gif圖的文章就介紹到這了,更多相關(guān)Python快速生成gif圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用實(shí)例說明python的*args和**kwargs用法
python的*args和**kwargs如何用,看了下面的例子你就清楚了。2013-11-11
Python代碼庫(kù)之Tuple如何append添加元素問題
這篇文章主要介紹了Python代碼庫(kù)之Tuple如何append添加元素問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
Django使用Profile擴(kuò)展User模塊方式
這篇文章主要介紹了Django使用Profile擴(kuò)展User模塊方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python如何使用Scapy實(shí)現(xiàn)端口探測(cè)
Scapy 是一款使用純Python編寫的跨平臺(tái)網(wǎng)絡(luò)數(shù)據(jù)包操控工具,它能夠處理和嗅探各種網(wǎng)絡(luò)數(shù)據(jù)包,本文主要介紹了Python如何使用使用Scapy實(shí)現(xiàn)端口探測(cè),有需要的可以參考下2023-10-10
Python2與Python3的區(qū)別實(shí)例分析
這篇文章主要介紹了Python2與Python3的區(qū)別,結(jié)合實(shí)例形式分析了Python2與Python3在輸出、編碼、函數(shù)、運(yùn)算等操作的常見區(qū)別與使用技巧,需要的朋友可以參考下2019-04-04

