4
我想從一個Matplotlib圖中得到一個numpy數組圖像,並且我正在通過保存到一個文件然後再讀取該文件來做到這一點,但我覺得那裏必須是更好的方法。下面是我現在在做什麼:Matplotlib圖作爲一個numpy陣列的圖像
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.gca()
ax.text(0.0,0.0,"Test", fontsize=45)
ax.axis('off')
canvas.print_figure("output.png")
image = plt.imread("output.png")
我嘗試這樣做:
image = np.fromstring(canvas.tostring_rgb(), dtype='uint8')
從一個例子,我發現了,但它給了我一個錯誤說「FigureCanvasAgg」對象有沒有屬性「渲染」。
完美的作品。謝謝! –
我把img當成1d數組,你可以使用下面的代碼來修復: 'width,height = fig.get_size_inches()* fig.get_dpi()'和 'img = np.fromstring(canvas.to_string_rgb(),dtype ='uint8')。reshape(height,width,3) ' – MaxNoe