2017-03-24 12 views
-2

Wie kann ich eine Menge von Punkten konvertieren, (wir können davon ausgehen) Linie aus Segmenten (Top Image) zu Vektorlinie (Bottom image) erstellen?Algorithmus zum Konvertieren von Punkten in Vektorlinien. (Raster zu Vektor)

Gibt es dafür einen Algorithmus? Vorzugsweise wird C++ aber auch Pseudocode in Ordnung sein.

enter image description here

+0

Sie denken, dass Sie an Kantenerkennungstechniken interessiert sind. –

+0

Bin ich? Ich denke, dass die Kantenerkennung Kontur (Outline) und keine Linie erzeugt. – zupazt3

+1

Um zu verdeutlichen, haben Sie Zugriff auf die genaue Menge von Punkten und ihre x, y-Positionen? – crezefire

Antwort

1

Hier ist, wie ich es Ansatz wäre:

  • erstellen Kontur/Umriss Rasterbild

  • Verwenden Sie diese Punkte als Vektor Kontur/outline

  • Split Die Punkte werden in zwei Hälften geteilt. Sie haben also eine Linie, die die obere Kante beschreibt, und eine Linie, die die untere Kante von Original Umriss

  • Nehmen Sie die untere Zeile (oder obere Linie) und eine Linie Vereinfachung Algorithmus (wie Reumann-Witkam oder Douglas-Peucker) verwenden, um eine vereinfachte Vektorlinie

  • Work out zu bekommen, wie viel die zum Ausgleich Linie, so dass es in etwa zwischen den ursprünglichen zwei Konturhälften zentriert ist.

Dies sollte Ihnen vernünftige Ergebnisse ohne viel Rechenkomplexität geben.

+0

Warum der Downvote? – Nyashes

Verwandte Themen