Ich habe verschiedene Dinge ausprobiert, wie das Laden und Bearbeiten von Bildern in keras.preprocessing.image.
Sie können das Bild mit der Funktion load_img laden. Da das Bild im PIL-Format gelesen wird, muss es in den Numpy-Array-Typ konvertiert werden, wenn es für NN-Training, Vorhersage usw. verwendet wird.
python
import keras
keras.preprocessing.image.load_img(
path, grayscale=False, color_mode="rgb", target_size=None, interpolation="nearest"
)
Streit | Erläuterung | Wie zu spezifizieren |
---|---|---|
path | Bildpfad(Absolut oder relativ) | Pfadzeichenfolge |
grayscale | Graustufeneinstellung, aber offiziell veraltet, Farbe_Sollte im Modus angegeben werden | True or False |
color_mode | Sie können das Format des geladenen Bildes angeben.'grayscale','rgb','rgba'Es gibtStandardIst'rgb' | 'grayscale'Oder'rgb'Oder'rgba' |
target_size | Geben Sie die Größe des zu lesenden Bildes mit einem int taple an | ( width , height ) |
interpolation | Wie man das Bild ergänzt. Originalbild und Ziel_Ergänzen Sie das Bild, wenn es einen Größenunterschied gibt."nearest", "bilinear", "bicubic", "lanczos", "box", "hamming"Arten von Komplementationsmethoden werden unterstützt.StandardDann"nearest" | "nearest"Oder"bilinear"Oder"bicubic"Oder"lanczos"Oder"box"Oder"hamming" |
Bilder laden
from keras.preprocessing.image import load_img
import matplotlib.pyplot as plt
#Grundsätzlich Pfad,color_code,target_Stellen Sie einfach die Größe ein
#Das Laden selbst ist erst hier abgeschlossen!
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 bei Verwendung in einem neuronalen Netzwerk mit mnist
print("Format des Arrays:",array.shape)
print("gray_Format des Arrays:",gray_array.shape)
#Anzeigen von Bildern mit Matplot
for i in range(2):
plt.subplot(1,5,i+1)
plt.imshow(imglist[i],'gray')
plt.show
Wenn Sie dies tun, erhalten Sie: Das erste Bild ist das mit ** img = load_img ("taiju.jpg ", color_mode = 'rgb', target_size = (700.700)) ** gelesene Bild und wird mit der Originalbildgröße von 700 Pixel in Vollfarbe gelesen. Weil es so ist, wird es klar angezeigt. Das zweite Bild ist das mit ** grey_img = load_img ("taiju.jpg ", color_mode = 'graustufen', target_size = (28,28)) ** gelesene Bild, das in Graustufen konvertiert und vertikal und horizontal auf 28 Pixel reduziert wurde. Wird angezeigt. Daher sieht das Bild unklar und rau aus. Darüber hinaus kann es mithilfe der Funktion ** img_to_array ** in einen Numpy-Array-Typ konvertiert und zur Vorhersage durch ein von einem neuronalen Netzwerk erstelltes Modell verwendet werden.
Recommended Posts