图像中直线的检测

检测图像中的直线,在图像处理中一直非常有用,这篇博客将主要介绍博主接触过的几种检测直线的方法。主要包括最小二乘法拟合直线、Ransac拟合直线、LSD线段检测、Hough变换检测直线。

最小二乘法拟合直线

一系列点,可以通过最小二乘法来拟合直线。cv::fitLine

Ransac拟合直线

接着上面的问题,如果图像噪声比较大,局外点过多,那么最小二乘法就会不加区分的将大量局外点纳入拟合,给出荒谬的结果。所以我们通过一中随机采样,然后验证的方式来寻找直线,这就是Ransac算法。Ransac算法不光可以拟合直线,视拟合方程的不同,还可以做很多事情。

LSD线段检测

LSD线段检测,是通过梯度聚类的方式来查找直线段,比后面提到的Hough变换方法更快。LSD线段检测中,一个点只能属于一条直线,所以两条相交的直线可能会被分成四段。

Hough变换检测直线

Hough变换作为经典图像处理算法出现在课本中为大家熟知,Hough变换就是将点变换到参数空间,一个点对应参数空间中的一条线,求参数空间的极大值,就获得了直线的参数。

发表评论