Como mostrar imagens armazenadas em uma matriz numpy com exemplo (funciona no notebook Jupyter)
Eu sei que existem respostas mais simples, mas esta lhe dará uma compreensão de como as imagens são realmente afogadas de um array numpy.
Carregar exemplo
from sklearn.datasets import load_digits
digits = load_digits()
digits.images.shape #this will give you (1797, 8, 8). 1797 images, each 8 x 8 in size
Exibir matriz de uma imagem
digits.images[0]
array([[ 0., 0., 5., 13., 9., 1., 0., 0.],
[ 0., 0., 13., 15., 10., 15., 5., 0.],
[ 0., 3., 15., 2., 0., 11., 8., 0.],
[ 0., 4., 12., 0., 0., 8., 8., 0.],
[ 0., 5., 8., 0., 0., 9., 8., 0.],
[ 0., 4., 11., 0., 1., 12., 7., 0.],
[ 0., 2., 14., 5., 10., 12., 0., 0.],
[ 0., 0., 6., 13., 10., 0., 0., 0.]])
Crie sub-plotagens 10 x 10 vazias para visualizar 100 imagens
import matplotlib.pyplot as plt
fig, axes = plt.subplots(10,10, figsize=(8,8))
Plotar 100 imagens
for i,ax in enumerate(axes.flat):
ax.imshow(digits.images[i])
Resultado:
O que axes.flat
faz?
Ele cria um enumerador numpy para que você possa iterar sobre o eixo, a fim de desenhar objetos neles.
Exemplo:
import numpy as np
x = np.arange(6).reshape(2,3)
x.flat
for item in (x.flat):
print (item, end=' ')