Parcela 2D Numpy Array

Supongamos que tenemos una imagen RGB que la hemos convertido en una matriz Numpy con el siguiente código:

import numpy as np from PIL import Image img = Image.open('Peppers.tif') arr = np.array(img) # 256x256x3 array 

Si estamos interesados ​​en visualizar solo el canal rojo, es decir, arr[:,:,0] , ¿cómo podemos trazar esta matriz Numpy 2D?

Puedes usar el imshow () de matplotlib:

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

Vea más ejemplos aquí , para interpolación, barras de colores, etc.

Por ejemplo, para cambiar el mapa de imgplot.set_cmap('hot') , puede hacer imgplot.set_cmap('hot') . También es útil establecer la interpolación en 'nearest' , si realmente no quiere interpolación: vea las diferencias

 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() 

resultados en introduzca la descripción de la imagen aquí

y

introduzca la descripción de la imagen aquí