hough
Hough 变换
说明
示例
输入参数
输出参数
算法
标准 Hough 变换 (SHT) 使用线条的参数化表示:
rho = x*cos(theta) + y*sin(theta)
假设坐标系的原点位于左上角像素的中心。
变量 rho 是从原点到直线的垂直距离。
变量 theta 是从原点到线条的垂直投影相对于正 x 轴顺时针测量的角度(以度为单位)。theta 的范围是 –90° ≤ θ < 90°。线条本身的角度是 θ + 90°,也是相对于正 x 轴顺时针测量的。
SHT 是参数空间矩阵,其行和列分别对应于 rho 和 theta 值。SHT 中的元素表示累加器元胞。最初,每个元胞中的值为零。然后,对于图像中的每个非背景点,为每个 theta 计算 rho。rho 舍入到 SHT 中最近的允许行。该累加器元胞递增。在此过程结束时,SHT(r,c) 中的 Q 值表示 xy 平面中的 Q 个点位于 theta(c) 和 rho(r) 指定的线条上。SHT 中的峰值表示输入图像中可能存在的线条。
Hough 变换矩阵 H
大小为 nrho×ntheta,其中:
nrho = 2*(ceil(D/RhoResolution)) + 1
,且
D = sqrt((numRowsInBW - 1)^2 + (numColsInBW - 1)^2)
。
rho
的值在 -diagonal
到 diagonal
范围内,其中
diagonal = RhoResolution*ceil(D/RhoResolution)
。
ntheta = length(theta)