线段检测器与Probabalistic Hough变换

时间:2017-03-27 15:08:24

标签: opencv image-processing computer-vision hough-transform

在OpenCV中,有两种检测线的方法,它们以端点矢量的形式给出类似的结果 - Line Segments Detector (LSD)Probabilistic Hough Transform。 (折扣标准霍夫变换作为给定的输出是根据方程而不是线端点。)

我还没有找到这两种线检测方法及其优缺点的比较和对比。因此 - 这两个功能有什么区别?使用一种方法而不是另一种方法有什么特别的好处吗?

此外,还有其他一些鲜为人知的线路检测方法(如LSD)在某些用例中可能有用吗?

1 个答案:

答案 0 :(得分:8)

线段检测器(LSD)

(渐进式)概率Hough变换

  • 将二进制图像作为输入
  • 有几个调整参数;距离分辨率(rho),角度分辨率(θ),累加器阈值参数(仅返回具有足够票数的参数),最小线长和最大线间距
  • 时间性能取决于参数(但比标准Hough变换有所改进)
  • 由于随机性,多次运行可能会产生不同的结果
  • 对更具体的寻线有用;参数允许调整,并且可以选择组合段(通过最大线间隙参数)返回单个较长的行
  • OpenCV实施是Progressive Probabilistic Hough Transform(感谢Dr. D.'s answer on this question

其他算法

  • EDLines:利用边缘检测器的线性时间线段检测器。据我所知,没有OpenCV实现。

(感谢Micka的评论指出了输入和潜在用途的差异)