MinTree is, indeed, a MaxTree

This commit is contained in:
Florent Guiotte 2017-10-11 11:29:14 +02:00
parent a621cca388
commit 1e385711ad

View File

@ -18,23 +18,28 @@ class MinTree(ComponentTree):
def construct(self, value=0):
if self.component is None:
# Then self is groot
self.component = img != None
# Then self is groot, set filter to true
self.component = self.data != None
filter = img * self> value
# Donc, tout le monde à le même pointeur sur data. Ensuite il faut
# utiliser component (agit comme un filtre) sur cette data pour
# obtenir le réel CC. Donc appliquer le test de treshold sur cette
# donnée, labéliser les cluster et créer des enfants itérativement
filter = self.data * self.component > value
labels_array, num_features = label(filter)
for i in range(num_features):
child = MinTree(self, self.data)
child.component = labels_array == i + 1
child.construct(img, self.value + 1)
child.construct(value + 1)
self.children.append(child)
def main():
img = cv2.imread('./img/lena.ppm', 0)
t = MinTree(data=img)
t.construct()
print("Done")
if __name__ == "__main__":
main()