2017-10-07 9 views
0

während des Extrahierens des cifar10-Datasets im konfrontiert von Arrays mit der Dimension 32x32x3.3d numpy array to Graustufenbild

Ich kann das Bild in Farbe z. plt.imshow (train_data [2]); Was ist ein gängiger Weg, um das Array mit Graustufenwerten in die Dimension 32x32 zu transformieren?

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

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

Ausgabe:

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

inzwischen bin ich nur die Bilder speichern und sie wieder lesen, aber ich denke, es gibt eine weitaus elegantere Möglichkeit, die Bilder direkt in Graustufen zu speichern.

+0

Mögliches Duplikat [Wie kann ich ein RGB-Bild in Graustufen in Python konvertieren?] (Https://stackoverflow.com/questions/12201577/how-can-i-convert-an-rgb-image- In-Grayscale-in-Python) – DJK

Antwort

0

Sie können Ihr aktuelles 3D-Array verwenden, um ein Graustufenbild mit imshow von Matplotlib wie beschrieben here zu zeichnen.

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

Ich habe bereits versucht, verschiedene cmap/interpolation-Einstellungen, es plottet es einfach in Farbe; ich weiß wirklich nicht warum: plt.imshow (train_data [2], cmap = "grau") plt.show() –