aktualizacja tworzenia pliku z danymi h5

This commit is contained in:
Adam Osiowy 2020-05-12 12:21:31 +02:00
parent 57381d630a
commit fa6c551783
3 changed files with 17 additions and 19 deletions

Binary file not shown.

Binary file not shown.

View File

@ -30,41 +30,39 @@ def histogram(zdj, mask=None):
return hist.flatten()
klasy = os.listdir(sciezka_do_zdj)
klasy = os.listdir(sciezka_do_zdj) # glass metal paper plastic
klasy.sort()
dane = []
wszystkie_typy_zdj = []
dane = [] # parametry kazdego zdjecia
etykiety_zdj = [] # typ kazdego zdjecia
for klasa in klasy:
katalog = os.path.join(sciezka_do_zdj, klasa)
biezaca_klasa = klasa
for plik in os.listdir(katalog):
zdj = cv2.imread(os.path.join(katalog, plik))
zdj = cv2.resize(zdj, rozmiar_zdj)
zdj = cv2.imread(os.path.join(katalog, plik)) # odczyt zdjecia
zdj = cv2.resize(zdj, rozmiar_zdj) # zmiana rozmiaru
# wyznaczanie parametrow zdjecia
fv_hu_moments = hu_moments(zdj)
fv_haralick = haralick(zdj)
fv_histogram = histogram(zdj)
wiersz = np.hstack([fv_hu_moments, fv_histogram, fv_haralick])
wszystkie_typy_zdj.append(biezaca_klasa)
wiersz = np.hstack([fv_hu_moments, fv_histogram, fv_haralick]) # ustaw poziomo, jeden za drugim
etykiety_zdj.append(klasa)
dane.append(wiersz)
print(len(wszystkie_typy_zdj))
targetNames = np.unique(wszystkie_typy_zdj)
print(targetNames,targetNames.shape)
# ilosc wszystkich etykiet to 1987 - tyle ile wszystkich zdj
le = LabelEncoder()
target = le.fit_transform(wszystkie_typy_zdj)
print(target.shape)
znormalizowane_etykiety = le.fit_transform(etykiety_zdj) # normalizacja do 0-glass 1-metal itp.
h5f_data = h5py.File(h5_dane, 'w')
h5f_data.create_dataset('dataset_1', data=np.array(dane))
h5f_dane = h5py.File(h5_dane, 'w')
h5f_dane.create_dataset('dataset_1', data=np.array(dane))
h5f_label = h5py.File(h5_etykiety, 'w')
h5f_label.create_dataset('dataset_1', data=np.array(target))
h5f_etykiety = h5py.File(h5_etykiety, 'w')
h5f_etykiety.create_dataset('dataset_1', data=np.array(znormalizowane_etykiety))
h5f_data.close()
h5f_label.close()
h5f_dane.close()
h5f_etykiety.close()