Ich habe einen Satz von 1000 Graustufenbildern (28x28), ich möchte sie in 4D numpy array (Anzahl der Bilder, 1 , img_dim1, img_dim2). Das Folgende ist mein Code, aber es funktioniert nicht richtig. Irgendeine Idee, wie ich das Problem im Code beheben kann?Lesen von Bildern in 4D Numpy Array mit Dimension (num_img, channel, dim1, dim2)
from PIL import Image
import numpy as np
import os
mypath=os.path.dirname('path/to/directory/')
def load_dataset() :
data =np.zeros((1000,1,28,28), dtype=np.float64)
for fname in os.listdir(mypath):
pathname = os.path.join(mypath, fname)
img = Image.open(pathname)
data = np.dstack((data, img))
return data
data=load_dataset()
print(data.shape)
Was ist es, das ist nicht wahr? Bitte teilen Sie uns das Problem mit oder welchen Fehler Sie bekommen. – Praveen
Warum die zusätzliche Dimension? Sie könnten Ihre Pfade "aufzählen" und in "data [i] = img" einfügen, da die Daten bereits vorbelegt sind. Mit dstack werden Sie im Grunde gebeten, 'omg' an das Ende von' data' anzuhängen, das bereits in der richtigen Größe zugewiesen ist, anstatt einzufügen. Nicht klar bei der Verwendung von 'return' außerhalb einer Funktion. – Benjamin