Es más común pensar en una línea en coordenadas rectangulares, es decir, y = mx + b. Como dice el artículo de Wikipedia, una línea también se puede expresar en forma polar. La transformación Hough explota este cambio de representación (para líneas, de todos modos. La discusión también se puede aplicar a círculos, elipses, etc.).
El primer paso en la transformación Hough es reducir la imagen a un conjunto de bordes. El detector de bordes Canny es una elección frecuente. La imagen de borde resultante sirve como entrada para el proceso Hough.
Para resumir, los píxeles "Lit" la imagen de bordes en se convierten a la forma polar, es decir, su posición se representa usando una dirección theta y una distancia r - en lugar de x y y. (El centro de la imagen se usa comúnmente como el punto de referencia para este cambio de coordenadas.)
La transformada de Hough es esencialmente un histograma. Se supone que la asignación de píxeles del borde al mismo theta y r define una línea en la imagen. Para calcular la frecuencia de ocurrencia, theta y r están discretizados (divididos en varios contenedores). Una vez que todos los píxeles de borde se han convertido a forma polar, los contenedores se analizan para determinar las líneas en la imagen original.
Es común para buscar los N parámetros más frecuentes - o el umbral de los parámetros, lo que cuenta más pequeña que algunos n son ignorados.
No estoy seguro de que esta respuesta sea mejor que las fuentes que presentó originalmente. ¿Hay algún punto en particular en el que se haya quedado atrapado?
Tu respuesta es buena. Asegura las cosas que he leído en otro lugar. La respuesta que Ray H proporcionó a continuación también me dijo algo que me costaba imaginar: se calculan todas las combinaciones posibles de los parámetros. Así que mi cabeza se está volviendo más clara simplemente escuchándola de diferentes maneras. – Haoest
Hay una buena herramienta de javascript para ver el espacio de votación en [http://gmarty.github.io/hough-transform-js/](http://gmarty.github.io/hough-transform-js/) – user1311069