Linienerkennung mit openCV
-
Hi alle Forenuser,
Ich wollte ein Programm schreiben, dass mir die Auswertung von Bildern etwas erleichtert. Im Wesentlichen wollte ich Punkte in einem Bild von allen Störfaktoren abtrennen. Das Schwarz/Weiß-Bild soll zeigen, was später aus den Rohbilden mal werden soll.
Was bisher getan wurde ist, dass die platten automatisch erkannt werden und der Rest vom Bild entfernt wird. allerdings fehlt noch eine Funktion um die Linien, die sich aus den Lichtreflexionen ergeben zu entfernen.
Weis jemand eine schlaue Methode um das zu bewerkstelligen? Ich bin mir nicht ganz sicher wie man Punkte die zu den Linien gehören vom Rest zu erkennen.Grüße :xmas1:
http://img6.imageshack.us/img6/9800/testcc.jpg
http://img28.imageshack.us/img28/8189/unbenanntof.th.jpg
-
hough transformation für kreise anwenden und nur für große radien laufen lassen. damit findest du die kreise um die schaale. nun kannst du mit einer gewissen tolleranz um diese(n) kreis(e) alle pixel entfernen und die schaale sollte verschwinden. ist nur etwas langsam. Aber da du ca den mittelpunkt der schaale kennst und den radius eingrenzen kannst, sollte sich das ganze optimieren lassen.
-
beispiel:
http://www.markschulze.net/java/hough/beschreibung:
http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/OWENS/LECT6/node3.html
-
normiere deine Bildaufnahmetechnik und wende dann eine Maske an.