摘要 Hough变换相比于其他的拟合方法,它可以检测多个图形(当然RANSAC采用TOPK也可以实现多图形检测)。具体来说,Hough变换是将图像空间的像素点向参数空间投影并投票,通过投票最大值得到最优参数。 直线拟合 二维空间的直线有两个参数$m,b$。那么Hough变换投影的参数空间也是二维。 对于图像中的一条线,对应参数空间中的一个点,该点的票数加一。 对于图像中的一个点,对应参数空间中的一条线,线上的票数加一。 那么对于图像中的多个点,如果这些点有较好的线性关系,那么参数空间投票时,会有一个点票数最高,而这个点则是拟合直线的参数。 上述参数空间有个问题,就是$m,b$的范围无法确定,如果直线垂直x轴,m会趋于无限大,参数空间也趋于无限大。因此需要换一种参数表示,这里使用极坐标表示直线。 更换坐标系后,投票策略转换为下图。对于图像上的每个点(这里说图像一般是指边缘图像,可以是canny算法得到的结果),根据已知$x,y$,遍历$\theta$值,得到对应$\rho$,参数空间中的网格加一票。最后选择票数最高的作为拟合结果。 直线拟合效果如下,右侧为参数空间,亮度代表票
Axuanz
Updating as per fate.