Ich versuche, einen Ordner mit Bildern in ein numpy Array zu analysieren. Ich möchte ein Array erhalten, die wie folgt aussieht:Parse Ordner mit Bildern in (m, n) geformt numpy Array
import numpy as np
from sklearn.datasets import fetch_mldata
#load 70,000 MNIST images (28 X 28 pixels)
mnist = fetch_mldata("MNIST original")
X = mnist.data
print X.shape
gewünschte Ausgabe:
(70000L, 784L)
Das ist, was ich versucht:
from PIL import Image
import numpy
import matplotlib.pyplot as plt
import glob
#I have two colour images, each 64 X 64 pixels, in the folder
imageFolderPath = 'C:\\Users\\apples\\Desktop\\t-sne\\pics'
imagePath = glob.glob(imageFolderPath+'/*.JPEG')
im_array = numpy.array([numpy.array(Image.open(imagePath[i])) for i in range(len(imagePath))])
print im_array.shape
Aber es erzeugt die folgende Ausgabe:
(2L, 64L, 64L, 3L)
Wie kann ich ein Array mit den folgenden Abmessungen:
(m, n)
Vielen Dank, das hat funktioniert wie ein Charme! Kann ich fragen, in welcher Reihenfolge die Bilder im Ordner bearbeitet werden? Ich muss ein anderes Array mit Beschriftungen erstellen, die jedem Bild entsprechen, z. '(0,1 ... n)', deshalb muss ich sicherstellen, dass die Labels mit dem richtigen Bild übereinstimmen. –
@ Äpfel-Orangen - 'glob.glob' verwendet' os.listdir', das Pfade in beliebiger Reihenfolge gibt. Natürlich können Sie es in einen Aufruf von 'sortierte' umbrechen, um die Bestellung zu reparieren. Oder Sie könnten die Dateinamen analysieren. –
Okay, danke! –