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