Matplotlib:将矩阵转换为栅格图像¶
日期 | 2009-02-26(最后修改),2006-07-10(创建) |
---|
Scipy 提供了一个命令(imsave)来从二维数组创建栅格(png、jpg...)图像,每个像素对应数组中的一个值。但是图像为黑白。
以下是如何使用 Matplotlib 完成此操作,并使用颜色映射为图像着色的方法。
In [1]
from matplotlib.pyplot import *
from scipy import mgrid
def imsave(filename, X, **kwargs):
""" Homebrewed imsave to have nice colors... """
figsize=(array(X.shape)/100.0)[::-1]
rcParams.update({'figure.figsize':figsize})
fig = figure(figsize=figsize)
axes([0,0,1,1]) # Make the plot occupy the whole canvas
axis('off')
fig.set_size_inches(figsize)
imshow(X,origin='lower', **kwargs)
savefig(filename, facecolor='black', edgecolor='black', dpi=100)
close(fig)
X,Y=mgrid[-5:5:0.1,-5:5:0.1]
Z=sin(X**2+Y**2+1e-4)/(X**2+Y**2+1e-4) # Create the data to be plotted
imsave('imsave.png', Z, cmap=cm.hot )
In [2]
imshow(imread('imsave.png'))
Out[2]
章节作者:GaelVaroquaux,Unknown[123],Unknown[124]
附件