hough
Transformada de Hough
Descripción
[
calcula la transformada de Hough estándar (SHT) de la imagen binaria H
,theta
,rho
] = hough(BW
)BW
. La función hough
está diseñada para detectar rectas. La función utiliza la representación paramétrica de una recta: rho = x*cos(theta) + y*sin(theta)
. La función devuelve rho
, la distancia desde el origen hasta la recta a lo largo de un vector perpendicular a la recta, y theta
, el ángulo en grados entre el eje x y este vector. La función también devuelve la SHT, H
, que es una matriz del espacio de parámetros cuyas filas y columnas corresponden a los valores rho y theta respectivamente. Para obtener más información, consulte Algoritmos.
Ejemplos
Argumentos de entrada
Argumentos de salida
Algoritmos
La transformada de Hough estándar (SHT) utiliza la representación paramétrica de una recta:
rho = x*cos(theta) + y*sin(theta)
El origen del sistema de coordenadas se supone que está en el centro del píxel de la esquina superior izquierda.
La variable rho es la distancia perpendicular desde el origen hasta la recta.
La variable theta es el ángulo de la proyección perpendicular desde el origen hasta la recta medido en grados en el sentido de las agujas del reloj desde el eje positivo x. El intervalo de theta es –90° ≤ θ < 90°. El ángulo de la propia recta es θ + 90°, también medido en el sentido de las agujas del reloj con respecto al eje positivo x.
La SHT es una matriz del espacio de parámetros cuyas filas y columnas corresponden a los valores rho y theta respectivamente. Los elementos de la SHT representan las celdas del acumulador. Inicialmente, el valor de cada celda es cero. Después, para cada punto que no es el fondo de la imagen, rho se calcula para cada theta. rho se redondea a la fila más cercana permitida en la SHT. Esa celda del acumulador se incrementa. Al final de este procedimiento, un valor de Q de SHT(r,c) significa que los puntos Q del plano xy se encuentran en la recta que especifican theta(c) y rho(r). Los valores máximos de la SHT representan rectas potenciales de la imagen de entrada.
La matriz de la transformada de Hough, H
, es nrho por ntheta, en la que:
nrho = 2*(ceil(D/RhoResolution)) + 1
, y
D = sqrt((numRowsInBW - 1)^2 + (numColsInBW - 1)^2)
. Los valores
rho
van de -diagonal
a diagonal
, donde
diagonal = RhoResolution*ceil(D/RhoResolution)
.
ntheta = length(theta)