Kreis mit Hough-Transformation erkennen

8

Ich versuche Kreise mit der Hough-Transformation zu erkennen.

Mit meinem aktuellen Code kann ich den unter

erkennen

Aber ich möchte ein schwarzes Loch in dem Kreis finden, den ich entdeckt habe. aber die Änderung der Parameter der Houghcircle-Methode ist mir nicht geholfen. Tatsächlich hat es Kreise gefunden, die nicht existieren.

Ich habe auch versucht, den Kreis, den ich gefunden habe, zu beschneiden und eine weitere Transformation zu machen, aber es hat mir auch nicht geholfen.

hier ist mein Code

%Vor%

Update : da hough clean verwendet, kann ich manuell verwenden, um zu sehen, ob es den Kreis findet oder nicht.

hier canny Ergebnisse mit     Canny (src, src, 100, 200,3);

danke

    
Anar Bayramov 03.03.2015, 08:03
quelle

1 Antwort

1

Sie setzen einen der HoughCircles -Parameter minDist = src.rows/8 , der ziemlich groß ist. Die Dokumentation erklärt:

  

minDist - Mindestabstand zwischen den Zentren der erkannten Kreise. Wenn der Parameter zu klein ist, können mehrere Nachbarkreise zusätzlich zu einem echten falsch erkannt werden. Wenn es zu groß ist, können einige Kreise übersehen werden.

Die Methode kann nicht sowohl den gefundenen Kreis als auch den gewünschten Kreis zurückgeben, da sie fast denselben Mittelpunkt (in src.rows/8 ) haben, nur unterschiedliche Größen. Wenn Sie maxRadius auf einen Wert um 30 setzen, um den größeren Kreis auszuschließen, erhalten Sie den gewünschten kleineren Kreis?

    
Chris Culter 03.03.2015, 09:28
quelle