2016-04-21 11 views
0

Ich habe vorbestückt und erstellt Skelettbild von einem Eingabebild. Aber ich habe keine perfekte Lösung gefunden, um Ecken zu finden. Ich habe versucht, Hough-Transformation zu verwenden, um die Linien zu finden und dann Kreuzung zu berechnen. aber es funktioniert nicht gut mit gegebenem Bild, da die Linien keine perfekten geraden Linien sind.Wie finde ich die Ecken in einem Skelettbild mit Matlab?

Anregungen bitte

skeleton image

+0

Haben Sie versucht, ['detectHarrisFeatures'] (http://www.mathworks.com/help/vision/ref/detectharrisfeatures.html)? – Suever

+0

Es hat funktioniert, danke –

Antwort

0

Einige einfache Lösung:

Sie jeden Punkt der Kurve für Ecke Kandidaten überprüfen:
1. Sammeln Sie alle Punkte, die ziemlich nah an diese sind (in einer Umgebung des getesteten Punkts)
2. Massenmittelpunkt für diese Punkte finden
3. Überprüfen Sie den Abstand vom getesteten Punkt zum Mittelpunkt von mas s - Wenn die Entfernung groß ist, ist der Punkt ein Kandidat für die Ecke

Für jede verbundene Gruppe von Kandidaten wählen Sie einen und es wird die Ecke sein.

Wenn die Form deines Skeletts nicht sehr komplex ist, bekommst du deine Ecken.

Wenn Sie ein genaueres Ergebnis benötigen, können Sie jede Umgebung von Punkten mithilfe der Polyfit-Funktion mit einer Linie angleichen und dann die maximale Abweichung der Punkte von dieser Linie berechnen. Wenn die Abweichung groß ist - es ist eine Ecke.