Zaktualizuj '05/do_sprawdzenia/progowanie.py'

This commit is contained in:
Adrianna Hornicka 2021-04-14 01:00:17 +02:00
parent 7f904cec05
commit b28c1c50ee

View File

@ -1727,13 +1727,15 @@ class Ui_MainWindow(object):
#algorytm otsu #algorytm otsu
def otsu(self): def otsu(self):
hist = self.generateHistogram(-1, 'r')
hist = hist/np.sum(hist)
# przygotowuję sobie tablicę # przygotowuję sobie tablicę
potencjalne_progi = [0] * 256 potencjalne_progi = [0] * 256
for t in range(1,255): for t in range(1,255):
obiekt = self.sumka(0, t) obiekt = np.sum(hist[:t])
tlo = self.sumka(t+1, 256) tlo = np.sum(hist[t:])
wsrednia_obiektu = self.wartosc_srednia(0, t+1, obiekt, tlo) wsrednia_obiektu = self.wartosc_srednia(0, t+1, obiekt, tlo)
wsrednia_tla = self.wartosc_srednia(t+1, 256, obiekt, tlo) wsrednia_tla = self.wartosc_srednia(t+1, 256, obiekt, tlo)
@ -1744,17 +1746,12 @@ class Ui_MainWindow(object):
return potencjalne_progi.index(min(potencjalne_progi)) return potencjalne_progi.index(min(potencjalne_progi))
def sumka(self, start, end):
for k in range(start,end+1):
k += k
return k
def wartosc_srednia(self, start, end, obiekt, tlo): def wartosc_srednia(self, start, end, obiekt, tlo):
histogram = self.generateHistogram(-1, 'r') hist = self.generateHistogram(-1, 'r')
hist = hist/np.sum(hist)
for k in range(start, end): for k in range(start, end):
k += k * (histogram[k]/tlo) k += k * (hist[k]/tlo)
return k return k
def progowanie(self, option): def progowanie(self, option):