Ok, also habe ich ein Histogramm (dargestellt durch ein Array von Ints), und ich suche nach dem besten Weg, lokale Maxima und Minima zu finden. Jedes Histogramm sollte 3 Spitzen haben, von denen einer (der erste) wahrscheinlich viel höher ist als der andere.Finden der lokalen Maxima/Peaks und Minima/Täler von Histogrammen
möchte ich einige Dinge tun:
Finden Sie das erste „Tal“ nach der ersten Spitze (in der Reihenfolge des ersten Peaks insgesamt in das Bild, um loszuwerden)
Finden Sie die optimaler "Tal" -Wert zwischen den verbleibenden zwei Peaks, um das Bild zu trennen
Ich weiß bereits, wie man Schritt 2 durch die Implementierung einer Variante von Otsu macht. Aber ich kämpfe mit Schritt 1
Falls das Tal zwischen den beiden verbleibenden Spitzen nicht niedrig genug ist, möchte ich eine Warnung geben.
Auch ist das Bild recht sauber mit wenig Rauschen zu berücksichtigen
Was die Brute-Force-Algorithmen würden die Schritte 1 und 3 zu tun? Ich könnte einen Weg finden, Otsu zu implementieren, aber die brutale Kraft entkommt mir mathematisch. Wie sich herausstellt, gibt es mehr Dokumentation über Methoden wie Otsu und weniger über das Auffinden von Gipfeln und Tälern. Ich suche nichts mehr als was immer die Arbeit erledigt (dh es ist eine temporäre Lösung, muss nur in einem vernünftigen Zeitrahmen implementierbar sein, bis ich mehr Zeit darauf verbringen kann)
Ich mache das alles in C#
Irgendwelche Hilfe, auf denen Schritte zu nehmen sind, würde geschätzt werden! Vielen Dank!
EDIT: einige weitere Daten:
meisten Histogramme sind wahrscheinlich wie die erste sein, mit dem ersten Peak darstellt Hintergrund.
Könnten Sie einige Beispieldaten geben Sie bitte? – ose
Sieht das Gebiet um die Gipfel wie normal verteilt aus? Sie könnten z.B. passen Sie drei unabhängige Normalverteilungen an Ihre Daten an. Dann können Sie die Standardabweichung verwenden, um Schnittpunkte zu bestimmen, um Ihre Spitzen und Täler zu identifizieren. – Andreas
Wie wäre es mit einem k-Mittel Algortihm mit k = 3, um 3 verschiedene Cluster zu erhalten? Jeder Schwerpunkt sollte einem der Spitzen entsprechen, wenn die Dinge gut laufen. – Reinhard