matplotlib从2D数组直接映射到图像RGB数据

时间:2019-07-31 20:55:52

标签: python matplotlib

我正在寻找直接将我的2D数组转换为matplotlib的matshow()方法的RGB数据的方法。我从源代码中确认的是,它使用imshow()方法,该方法设置一些超参数,然后调用add_image(),其中基于https://github.com/matplotlib/matplotlib/blob/1722bfd6ae4fac707811c8e8dca171138cb5d2a6/lib/matplotlib/axes/_base.py的方法调用append(image)。我对此深感困惑。

那么,有什么方法可以通过matshow()方法(集成了颜色映射)将原始2D数组直接映射到图像RGB数组,而无需调用绘图?

编辑:如果我的上述解释难以理解,我可以使用2D矩阵(而不是灰度图像阵列)。我将使用带有特定色彩图的matshow()以及vmin和vmax值来绘制它。我可以使用here中的fig.canvas.show()和np.fromstring()将图像像素值提取为3D数组。但是,我的应用程序具有非常严格的时间限制,即绘制数据会花费太多时间(而且非常不稳定)。因此,我不想绘制(依次调用fig(),subplot(),matshow()...),而是想直接(通过某种映射)从原始2D矩阵中获取3D图像数据。我相信,如果我了解pyplot如何映射数据是有可能的,但是很遗憾,我还没有在其源代码中找到解决方案。

0 个答案:

没有答案