matplotlib.pyplot畫圖 圖片的二進制流的獲取方法
更新時間:2018年05月24日 09:10:25 作者:daxiaofan
今天小編就為大家分享一篇matplotlib.pyplot畫圖 圖片的二進制流的獲取方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
有些時候,我們需要畫圖后的二進制數據流,matplotlib沒有提供相關的api,通過源碼查看與百度,得到下面此方法
import matplotlib.pyplot as plt import numpy as np import io x=np.arange(10) y=x #plt.plot(x,y) #canvas = plt.get_current_fig_manager().canvas #canvas.draw() fig=plt.figure() plt.plot(x,y) canvas=fig.canvas #上面這段代碼和上面注釋掉的代碼效果一樣 #方法1 buffer = io.BytesIO() canvas.print_png(buffer) data=buffer.getvalue() buffer.close() #方法2 buf, size = canvas.print_to_buffer() image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1) buffer=io.BytesIO() image.save(buffer,'PNG') data=buffer.getvalue() buffer.close() with open('hhh.png',mode='wb') as f: f.write(data) #f=open('hh.png',mode='wb') #f.write(data) #f.close()
如果我們想把二進制的圖片轉成數組也是可以的,
buffer=io.BytesIO() buffer.write(data) img=Image.open(buffer) img = np.asarray(img)
以上這篇matplotlib.pyplot畫圖 圖片的二進制流的獲取方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
BeautifulSoup中find和find_all的使用詳解
這篇文章主要介紹了BeautifulSoup中find和find_all的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12python爬蟲開發(fā)之Beautiful Soup模塊從安裝到詳細使用方法與實例
這篇文章主要介紹了python爬蟲開發(fā)之Beautiful Soup模塊詳細使用方法與實例,需要的朋友可以參考下2020-03-03