From b28c1c50ee2b3f8819f43718c5df2e77f8a597c8 Mon Sep 17 00:00:00 2001 From: Adrianna Hornicka Date: Wed, 14 Apr 2021 01:00:17 +0200 Subject: [PATCH] Zaktualizuj '05/do_sprawdzenia/progowanie.py' --- 05/do_sprawdzenia/progowanie.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/05/do_sprawdzenia/progowanie.py b/05/do_sprawdzenia/progowanie.py index 605cc15..572d920 100644 --- a/05/do_sprawdzenia/progowanie.py +++ b/05/do_sprawdzenia/progowanie.py @@ -1727,13 +1727,15 @@ class Ui_MainWindow(object): #algorytm otsu def otsu(self): + hist = self.generateHistogram(-1, 'r') + hist = hist/np.sum(hist) # przygotowuję sobie tablicę potencjalne_progi = [0] * 256 for t in range(1,255): - obiekt = self.sumka(0, t) - tlo = self.sumka(t+1, 256) + obiekt = np.sum(hist[:t]) + tlo = np.sum(hist[t:]) wsrednia_obiektu = self.wartosc_srednia(0, t+1, 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)) - def sumka(self, start, end): - for k in range(start,end+1): - k += k - return k - - 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): - k += k * (histogram[k]/tlo) + k += k * (hist[k]/tlo) return k def progowanie(self, option):