绘制2D Numpy数组

时间:2015-09-01 20:26:42

标签: python numpy matplotlib plot python-imaging-library

假设我们有一个RGB图像,我们使用以下代码将其转换为Numpy数组:

import numpy as np
from PIL import Image

img = Image.open('Peppers.tif')
arr = np.array(img) # 256x256x3 array

如果我们只对可视化红色通道感兴趣,即arr[:,:,0],我们如何绘制这个2D Numpy数组?

1 个答案:

答案 0 :(得分:6)

您可以使用matplotlib的imshow():

import matplotlib.pyplot as plt
imgplot = plt.imshow(arr[:, :, 0])

查看更多示例here,插值,颜色栏等。

例如,要更改色彩映射,您可以执行imgplot.set_cmap('hot')。 将插值设置为'nearest'也很有用,如果你真的不想插值:看差异

t = np.array([[0, 1, 2], [1, 2, 3], [3, 2, 1]])
import matplotlib.pyplot as plt
plt.imshow(t)
plt.show()
plt.imshow(t, interpolation='nearest')
plt.show()

结果 enter image description here

enter image description here