Ich verwende. H5-Datei, um viele Bilddaten zu speichern. Ändern Sie dann das Bild und speichern Sie es darin.Laden von Bilddaten aus. H5-Datei mit ungewöhnlichen Farben in Python 3.5 und h5py
Erstellen von Daten-Set für Bild: t1=hdf5_file.create_dataset("train_img", train_shape, np.int8)
Schleife über Bildadresse sie, um die Größe und speichert:
for i in range(len(train_addrs)):
addr = train_addrs[i]
img = cv2.imread(addr)
img = cv2.resize(img, (128, 128), interpolation=cv2.INTER_CUBIC)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#save
hdf5_file["train_img"][i, ...] = img[None]
hdf5_file.close()
Wenn ich versuche, um zu überprüfen, wie das Bild mit dem folgenden Code aussieht:
hdf5_path = 'dataset.hdf5'
train_dataset = h5py.File(hdf5_path, "r")
train_set_x_orig = np.array(train_dataset["train_img"][:])
plt.imshow(train_set_x_orig[5]) #see 5th image
plt.show()
Ich bekomme dieses ungewöhnliche Bild. Die erste aus der .h5-Datei, die untere ist das Originalbild. Ich habe die Form von allem überprüft, es geht ihnen gut. resize
Code in cv2
ist auch in Ordnung. Jede Art von Hilfe wird geschätzt.
Was die dtype (n) ist? 'img' vor dem Speichern der Anzeigen ok? Ist das '[i, ...]' innerhalb oder außerhalb der 'i' Schleife gespeichert? – hpaulj
Es scheint, .h5-Datei verwendet standardmäßig 7-Bit-Darstellung. –
Der in 'create_datset' verwendete Typ ist' np.int8'. Ich habe den 'resize' Teil einzeln überprüft. Dieser Teil ist in Ordnung. '[i, ...]' innerhalb der 'i'-Schleife. änderte das. Irgendeine Idee, wie man es richtig macht? @hpaulj – sayem48