霍夫变换-直线
霍夫直线变换 比较好理解,每一个点point(x,y)通过变换后对应n个二维bin(区间:θ1~θ2,r1~r2)[n根据设置的θ精度取值]。
变换公式: x*cosθ + y*sinθ = r,不同的(θ,r)分别代表不同的直线。
最后根据每个bin的投票数vote判断直线是否存在。
广义霍夫变换
具体原理: 这里
区别
霍夫直线:
变换方式:x*cosθ + y*sinθ = r,一个点变换后产出一条正弦曲线,
程序中体现为n个离散点(分落在n个bin中,
θr坐标系
)。
投票方式:统计(θ,r)。
广义霍夫:
变换方式:计算当前点(x,y)的grad,查找R-table,得到(dx,dy),进而得到几个reference point。[需要通过一个边缘模板构建出R-table,R-table包含了所有边缘点相对于reference point的(dx,dy,grad)。]
投票方式:统计reference point