如何使用Python快速生成gif圖
前言
gif圖就是動態圖,它的原理和視頻有點類似,也是通過很多靜態圖片合成的.本篇文章主要介紹,如何利用Python快速合成gif圖,主要利用Python的第三方庫imageio
imageio介紹
imageio提供瞭很多方便讀寫圖片的接口、包括讀取網絡圖片、讀取視頻、生成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參數可以控制合成gif圖片播放圖片的速度和視頻的播放幀率是一樣的,fps參數越大播放的速率越大,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的網絡圖片
url = 'http://upload.wikimedia.org/wikipedia/ commons/d/de/Wikipedia_Logo_1.0.png' img = imageio.imread(url)
再使用url讀取圖片的時候可能會報seek的錯誤,這時候可以改成下面的形式
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讀取視頻的時候可能會報上面的錯誤,提示需要安裝ffmpeg,可以根據提示進行安裝即可.除此之外,imageio還提供瞭許多方便的接口,有興趣的可以去瞭解一下.
總結
到此這篇關於如何使用Python快速生成gif圖的文章就介紹到這瞭,更多相關Python快速生成gif圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 基於Python實現合並多張圖片轉成mp4視頻
- 基於PyQt5制作一個gif動態圖片生成器
- 基於Python實現傻瓜式GIF制作工具
- Python中的imread()函數用法說明
- python對gif圖壓縮的完美解決方案