2017-10-07 5 views
0

lors de l'extraction du jeu de données cifar10 im confronté par des tableaux avec la dimension de 32x32x3.3D tableau numpy à l'image en niveaux de gris

Je peux tracer l'image en couleur avec par ex. plt.imshow (fiche_données [2]); Quel est un moyen commun de transformer le tableau à la dimension 32x32 avec des valeurs de niveaux de gris?

train_data, train_labels, test_data, test_labels = 
load_cifar10_data(data_dir) 

print(train_data.shape) 
print(train_labels.shape) 

sortie:

(50000, 32, 32, 3) (50000,)

Pendant ce temps, je sauve tout simplement les images et de les lire à nouveau, mais je suppose qu'il ya un moyen de loin plus élégant pour stocker directement les images en niveaux de gris.

+0

double possible de [Comment puis-je convertir une image RVB en niveaux de gris en Python?] (Https://stackoverflow.com/questions/12201577/how-can-i-convert-an-rgb-image- into-grayscale-in-python) – DJK

Répondre

0

Vous pouvez utiliser votre tableau 3D actuel pour tracer une image en niveaux de gris en utilisant imshow de matplotlib comme décrit here.

import matplotlib.pyplot as plt 
plt.imshow(train_data , cmap = "gray") 
+0

J'ai déjà essayé, divers paramètres cmap/interpolation, il le trace simplement en couleur; Je ne sais vraiment pas pourquoi: plt.imshow (train_data [2], cmap = "gray") plt.show() –