Ich versuche die kaskadierte Hough-Transformation zu implementieren (ich habe bereits die 'normale' Version implementiert), aber ich habe Probleme, Folgendes zu verstehen:
Nachdem HT auf ein Bild angewendet wurde, bleiben gerade Linien im Raum übrig. Die kaskadierte Version der HT erfordert, dass ich den Hough-Raum in 3 Unterräume unterteile, damit das Problem der unbegrenzten Werte gelöst wird.
Wie kann ich das machen?
Hier ist ein Bild, wie der Hough-Raum geteilt wird:
Um die Beschränktheit des Parameterraums wiederherzustellen, während die symmetrische Raumdualität erhalten bleibt, teilen wir den (a, b) -Raum in drei beschränkte Unterräume auf, wie in der folgenden Abbildung gezeigt. Der erste Unterraum hat auch die Koordinaten a und b, aber nur für | a | & lt; = 1 und | b | & lt; = 1. Wenn | a | & gt; 1 und | b | & lt; = | a | , der Punkt (a, b) erscheint im zweiten Teilraum mit den Koordinaten 1 / a und b / a. Wenn schließlich | b | & gt; 1 und | a | & lt; | b | verwenden wir einen dritten Unterraum mit den Koordinaten 1 / b und a / b.
Hier werde ich ernsthaft verwirrt, angenommen, ich habe eine Linie im Raum. Wie wird es aufgeteilt, wenn es verletzt | a | & lt; = 1 und | b | & lt; = 1?
Gehe ich einfach durch alle Pixel in der Zeile und wenn das betreffende Pixel Koordinaten größer als | hat a | & lt; = 1 und | b | & lt; = 1, zeichne ich es im 2. Unterraum?
Ich entschuldige mich, wenn diese Art von Frage auf Stack Overlow nicht willkommen ist - gibt es eine andere Seite, auf der ich Fragen zu Algorithmen stellen kann?
Angenommen, Sie haben einen Punkt (x, y)
. Unter der Hough-Transformation wie dargestellt geht es zur Zeile
Dies entspricht einer anderen Zeile in jedem Ihrer Subraumplots:
%Vor% Zum Beispiel mit dem Punkt (2, 1)
erhalten Sie die drei Zeilen:
Oder in y = m x + c
form eingeben:
Tags und Links algorithm image-processing hough-transform