web-dev-qa-db-fra.com

chargement d'une image à partir du jeu de données cifar-10

J'utilise l'ensemble de données cifar-10 pour mon classifieur. J'ai téléchargé le jeu de données et essayé d'afficher une image à partir du jeu de données. J'ai utilisé le code suivant:

from six.moves import cPickle as pickle
from  PIL import Image
import numpy as np

f = open('/home/jayanth/udacity/cifar-10-batches-py/data_batch_1', 'rb')

tupled_data= pickle.load(f, encoding='bytes')

f.close()

img = tupled_data[b'data']

single_img = np.array(img[5])

single_img_reshaped = single_img.reshape(32,32,3)

plt.imshow(single_img_reshaped)

la description des données est la suivante: Chaque tableau stocke une image couleur 32x32. Les 1024 premières entrées contiennent les valeurs du canal rouge, les 1024 suivantes le vert et les 1024 dernières le bleu. L'image est stockée dans l'ordre des lignes principales, de sorte que les 32 premières entrées du tableau correspondent aux valeurs de canal rouge de la première ligne de l'image.

Ma mise en œuvre est-elle correcte?

le code ci-dessus m'a donné l'image suivante:  enter image description here

5
Jayanth

J'ai utilisé 

single_img_reshaped = np.transpose(np.reshape(single_img,(3, 32,32)), (1,2,0))

pour obtenir le format correct dans mon programme.

9
Thomas Pinetz
single_img_reshaped = single_img.reshape(3,32,32).transpose([1, 2, 0])
0
Ajay Vijayasarathy