Reduzieren von Werten / Mittelwerte bilden

... komplette Frage anzeigen

1 Antwort

da gibts ein verfahren namens k-means-clustering.

  1. du berechnest die grauwertverteilung des bildes

  2. du legt die finale anzahl der graustufen, z.b. 10 fest ,ich nenne die mal cluster

  3. du weist jedem cluster einen zufälligen grauwert zu

  4. du ordnest alle pixel dem nächstegelegenen cluster zu

  5. du bildest bei jedem cluster den mittelwert der zugeordneten werte und setzt diesen als neuen wert.

  6. du wiederholst 4 und 5, bis sich nichts/fast nicht mehr ändert.

  7. fertig

hinweis: du kannst verschiedene anzahlen von clustern versuchen um das optimale ergebnis zu finden.

Antwort bewerten Vielen Dank für Deine Bewertung

max4711 07.07.2011, 17:14

Danke.

Allerdings liefert dieser Algorithmus nicht zwangsläufig ein optimales Ergebnis, sondern eben nur ein - zugegebenermaßen - gutes Resultat.

Die Anzahl der finalen Cluster steht übrigens fest.

Gibt es auch ein Verfahren, das tatsächlich ein optimales Ergebnis liefert?

0
sk1982 09.07.2011, 13:03
@max4711

stimmt schon, dass man hier auch in ein lokales maximum laufen kann. abhilfe wäre mit verschiedenen abfangsverteilungen laufen lassen und dann das beste der ergenisse nehmen..so wäre man wohl etwas besser.

der optimum wirst du vermutlich nur mit unverhältnismäßig hohem rechenaufwand finden. (wobei ich mir da bei nem reinen graustufenbild nicht sicher bin obs evtl doch was effizientes gibt).

um nahe ans optimum zu kommen, könntest du nen genetischen algorithmus versuchen, oder das obige verfahren mehrfach laufen lassen und das beste ergebnis nehmen oder versuchen am obigen ergebnis noch etwas zu "wackeln" indem du die cluster im ergebnis etwas hin und her bewegst vom grauwert und schaust, ob du ne verbesserung im sinne der minimalen summe der farbänderungen bekommst.

andere frage: warum brauchst du das optimale und nicht einfach nur was in der nähe?

0
max4711 11.07.2011, 13:25
@sk1982

Ich möchte ein möglichst optimales Ergebnis, um z.B. farbliche Ausreißer nicht zu verlieren, wie es bei einem nur "guten" Algorithmus wie k-Means mit ungünstigen Anfangswerten wahrscheinlich passieren kann. Aber wenn es dafür keinen Algorithmus gibt - außer alles der Reihe nach auszuprobieren - dann muss ich wohl mit einer "guten" Lösung leben...

0

Was möchtest Du wissen?