Frage

Ich möchte einen Algorithmus finden, die gestrichelten Linien oder Formen in einem Bitmap finden. mit nur zwei Farben, in denen eine Situation, die ich ein Bitmap haben, zurück und weiß (Bilder verwendet in Färbung Bücher), gibt es einige Kurven und Linien, die miteinander verbunden werden sollen, aber aufgrund einiger Scanfehler, sitzen weiß Bits statt von schwarzen. Wie soll ich sie erkennen? (Nach dieser Arbeit möchte ich Bitmaps in Vektordatei konvertieren. I mit potrace Algorithmus arbeiten will).

Wenn Sie eine Idee haben, lassen Sie es mich wissen.

War es hilfreich?

Lösung

Hier ist ein einfacher Algorithmus, um kleine Lücken zu heilen:

Verwenden Sie zunächst einen Filter, der ein schwarzes Pixel erzeugt, wenn eines seiner acht Nachbarn schwarz ist. Dies wird Ihre allgemeine Übersicht wachsen.

Als nächstes verwenden Sie einen Ausdünnungsfilter, der die zusätzliche Kontur entfernt läßt aber die gefüllten Lücken allein.

Lesen Sie diesen Artikel für einige Filter und Parameter: Image Processing Lab in C #

Andere Tipps

Der einfachste Ansatz ist eine morphologische Technik zu verwenden, genannt Schließen . Dies funktioniert nur, wenn die Lücken in den Linien sind recht klein in Bezug auf, wie nahe die verschiedenen Linien zueinander sind.

Wie Sie die Strukturierung elemt wählen die Schließung ausführen kann auch die Leistung besser oder schlechter ist.

Der Wikipedia-Artikel ist sehr theoretisch (oder mathematische), so dass Sie vielleicht zu Google oder einem Buch über Bildverarbeitung machen wollen eine bessere Erklärung zu bekommen, wie es gemacht wird.

Vielleicht Hough-Transformation Ihnen helfen können. Bonus: Sie erhalten die Zeilen Parameter für Ihre Vektor-Datei

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top