plt图像转为图像数组

def figure_to_array(fig=None):
    # 引入 FigureCanvasAgg
    from matplotlib.backends.backend_agg import FigureCanvasAgg
    # 创建一个FigureCanvas对象,将Figure对象连接到canvas
    fig = fig if fig else plt.gcf()
    canvas = FigureCanvasAgg(fig)
    canvas.draw()

    # 获取绘图区域的宽度和高度
    width, height = fig.get_size_inches() * fig.get_dpi()

    # 将绘制的图形转换为图像数组
    image_array = np.fromstring(canvas.tostring_rgb(), dtype='uint8')
    image_array = image_array.reshape(int(height), int(width), 3)
    return image_array

你可能感兴趣的:(matplotlib)