线段检测器与Probabalistic Hough变换

ELR*_*LRG 8 opencv image-processing computer-vision hough-transform

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

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

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

ELR*_*LRG 10

线段检测器(LSD)

(渐进式)概率Hough变换

  • 采用二进制图像作为输入
  • 有几个调整参数; 距离分辨率(rho),角度分辨率(θ),累加器阈值参数(仅返回具有足够票数的参数),最小线长和最大线间隙
  • 时间性能取决于参数(但比标准Hough变换有所改进)
  • 由于随机性,几次运行可能产生不同的结果
  • 有助于更具体的寻线; 参数允许调整,并且可以选择组合段(通过最大线间隙参数)以返回单个较长的行
  • OpenCV实现是渐进式概率霍夫变换(感谢D.博士对此问题的回答)

其他算法

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

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