J'ai essayé diverses choses telles que le chargement et la manipulation d'images dans keras.preprocessing.image.
Vous pouvez charger l'image à l'aide de la fonction load_img. Étant donné que l'image est lue au format PIL, il est nécessaire de la convertir en type de tableau numpy lors de son utilisation pour l'apprentissage NN, la prédiction, etc.
python
import keras
keras.preprocessing.image.load_img(
path, grayscale=False, color_mode="rgb", target_size=None, interpolation="nearest"
)
argument | La description | Comment spécifier |
---|---|---|
path | Chemin de l'image(Absolu ou relatif) | Chaîne de chemin |
grayscale | Réglage de l'échelle de gris mais officiellement obsolète, couleur_Doit être spécifié en mode | True or False |
color_mode | Vous pouvez spécifier le format de l'image chargée.'grayscale','rgb','rgba'Il y aDéfautEst'rgb' | 'grayscale'Ou'rgb'Ou'rgba' |
target_size | Spécifiez la taille de l'image à lire avec une touche int | ( width , height ) |
interpolation | Comment compléter l'image. Image d'origine et cible_Complétez l'image lorsqu'il y a une différence de taille."nearest", "bilinear", "bicubic", "lanczos", "box", "hamming"Les types de méthodes de complémentation sont pris en charge.DéfautPuis"nearest" | "nearest"Ou"bilinear"Ou"bicubic"Ou"lanczos"Ou"box"Ou"hamming" |
Chargement des images
from keras.preprocessing.image import load_img
import matplotlib.pyplot as plt
#Fondamentalement chemin,color_code,target_Il suffit de définir la taille
#Le chargement lui-même n'est terminé qu'ici!
img = load_img("taiju.jpg ", color_mode='rgb', target_size=(700,700))
array = img_to_array(img)
gray_img = load_img("taiju.jpg ", color_mode='grayscale', target_size=(28,28))
gray_array = img_to_array(gray_img)
testlist=[]
testlist.append(array)
testlist.append(gray_array)
imglist=[]
imglist.append(img)
imglist.append(gray_img)
#Format lorsqu'il est utilisé dans un réseau neuronal à l'aide de mnist
print("format de tableau:",array.shape)
print("gray_format de tableau:",gray_array.shape)
#Affichage d'images à l'aide de matplot
for i in range(2):
plt.subplot(1,5,i+1)
plt.imshow(imglist[i],'gray')
plt.show
Lorsque vous faites cela, vous obtenez: La première image est l'image lue avec ** img = load_img ("taiju.jpg ", color_mode = 'rgb', target_size = (700,700)) **, et est lue avec la taille d'image d'origine de 700 pixels en couleur. Parce que c'est, il est affiché clairement. La deuxième image est l'image lue avec ** gray_img = load_img ("taiju.jpg ", color_mode = 'grayscale', target_size = (28,28)) **, convertie en échelle de gris et réduite à 28 pixels verticalement et horizontalement. Est affiché. Par conséquent, l'image semble floue et rugueuse. De plus, il peut être converti en type de tableau numpy en utilisant la fonction ** img_to_array **, et peut être utilisé pour la prédiction par un modèle créé par un réseau de neurones.
Recommended Posts