web-dev-qa-db-fra.com

Comment charger une image et la montrer en utilisant des keras?

%matplotlib inline
from keras.preprocessing import image

import matplotlib.pyplot as plt
import numpy as np
img = np.random.Rand(224,224,3)
plt.imshow(img)
plt.show()

img_path = "image.jpeg"
img = image.load_img(img_path, target_size=(224, 224))
print(type(img))

x = image.img_to_array(img)
print(type(x))
print(x.shape)
plt.imshow(x)

J'ai un code comme celui-ci qui devrait imprimer l'image. Mais il montre l'image dans de mauvais canaux. Qu'est-ce que j'oublie ici?

14
user1159517

Il s'agit d'un problème de mise à l'échelle de l'image. L'entrée de l'imshow () s'attend à ce qu'il soit dans la plage 0-1, tandis que vous lui passez une entrée de plage [0-255]. Essayez de le voir comme:

plt.imshow(x/255.)
10
vijay m