Bildanalyse - Fasererkennung

11

Ich bin völlig neu in der Bildanalyse. Wissen Sie, wie Sie dieses Bild so binärisieren, dass nur die Fasern erhalten werden?

Geben Sie hier die Bildbeschreibung ein

Eine Schritt-für-Schritt-Anleitung wäre fantastisch, aber auch jeder Hinweis ist willkommen. Ich kann Matlab, .NET verwenden und bin offen für jedes andere Tool.

PS: Unter dieser Adresse finden Sie die gleiche Frage

Oldrich Svec
quelle

Antworten:

9

Hough Transformation ist dein Freund. Grundsätzlich handelt es sich um gerade Linien (und fast alle Fasern in Ihrem Beispiel sind gerade). Sie finden die Open Source-Implementierung in OpenCV ( hier ein Beispiel für doc + result ).

Darüber hinaus gibt es einige Verallgemeinerungen, die benutzerdefinierte Formen erkennen können.
PS Da Sie C # verwenden, kann der OpenCV-Wrapper für Sie hilfreich sein.

OM Nom Nom
quelle
3

Nach meiner Erfahrung sind die Ergebnisse nicht gut, wenn Sie keinen geeigneten Tiefpassfilter verwenden, da Sie eindeutig angegeben haben, dass Sie kein Rauschen wünschen. Für die Verwendung in Hough Transform haben Sie außerdem viele Optionen zum Ändern, um zu erkennen. Länge des Liniensegments und Winkel der Liniensegmente können Sie anpassen, was Sie wollen. Hough Transform Ergebnis mit wenig Rauschen

Hephaistos
quelle
1

Ich stimme der Hough-Transformation zu, aber bevor es gut wäre, das Bild durch den Kantendetektor zu leiten ( Canny ist vorzuziehen und in OpenCV verfügbar).

mirror2image
quelle