2016-08-13 2 views
1

Ich bin auf der Suche nach einer Methode, um jede Zeile in diesem Binärbild zu extrahieren.Überlappende Objekte in einem Binärbild extrahieren

Ich benutze opencv-Bibliotheken mit C++.

Die Methode, die ich versucht:

Step 1: Thinning - resulted in lines with sharp curves when they shouldn't 
Step 2: follow the line's path. However, some part of the sample image resulted in 
     thinning where it created intersections that curve to wrong direction. 
Step 3: Erode - all other objects outside the objects skeleton/thinning path. 

ich sicher, da bin diese viele robustere Verfahren zur Lösung. Bitte führen Sie mich.

Vielen Dank.

Sample Image:

enter image description here

Antwort

0

Sie könnten versuchen, die Distanz-Transformation zu verwenden. Kombiniere die drei Versionen (L1, L2, C) linear. Dann wenden Sie einen Gauss-Filter darüber an. Schließlich eine Schwellwertbildung durchführen.

Es funktioniert besser als die Ausdünnung.

+0

Danke für die Antwort. Ich bin neu in der Bildverarbeitung als Ganzes. Was bedeutet LInearly Combne? – DGMJ

+0

Es bedeutet, dass, wenn Sie die Ergebnisse in den Matrizen l1, l2, c haben, Sie sagen Mat Ergebnis = (l1 + l2 + c)/3. – ypnos

Verwandte Themen