2016-09-30 5 views
1

Ich versuche, ROI für ein festes sich wiederholendes Muster in einem Bild unter Verwendung opencv C++ zu ermitteln.ROI für ein periodisches sich wiederholendes Streifenmuster ermitteln

Der ROI, die ich zu finden bin versucht - mit roter Grenze gezeigt, wie im Bild gezeigt:

enter image description here

ich nach Verwischung Canny-Algorithmus versucht, aber es erkennt Rand des vertikal/horizontal schwarz und weiße Linien. Das versuche ich nicht zu entdecken.

Was ist der beste Ansatz für mein Problem?

+2

Hier können Sie die Box unter den bbox aller Nicht-Null-Pixel finden (erster eine Erosion kann helfen, kleine Geräusche zu entfernen) – Miki

+0

sind sie immer ausgerichtet Achse wie in dein Bild? ändert sich die Größe (im Bild)? – Micka

+0

sieht ein bisschen wie Haar Muster Histogramm könnte ein guter Klassifikator sein. Aber Sie müssten zuerst die Roi-Kandidaten finden. Vielleicht könnte es attraktiv sein, das schwarze Kreuz in der Mitte des Musters zu erkennen. – Micka

Antwort

0

Da Sie mit einem binären Bild beginnen könnten Sie

findContours() 

die Konturen für die einzelnen Streifen zu erhalten. Da gibt es ein paar einsame Pixel von Lärm sind, sollten Sie dann für Größe filtern

contourArea(contour) 

verwenden und die Punkte aller Konturen verschmelzen, welche den Größenkriterien in eine kombinierte Kontur. Dann erhalten Sie den Begrenzungsrahmen für die kombinierte Kontur:

boundingRect(combinedContour) 
Verwandte Themen