【问题标题】:Line Segment Detector vs Probabalistic Hough Transform线段检测器与概率霍夫变换
【发布时间】:2017-08-20 09:03:10
【问题描述】:

在 OpenCV 中,有两种检测线的方法可以以端点向量的形式给出相似的结果 - Line Segments Detector (LSD)Probabilistic Hough Transform。 (扣除标准霍夫变换,因为给出的输出是方程,而不是线端点。)

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

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

【问题讨论】:

  • LSD 使用灰度图像作为输入白色 PHough 使用二进制(黑白)图像。所以他们是完全不同的。我喜欢 LSD,因为它非常无参数,更像是边缘检测,而 PHough 可以找到单个更长的线。
  • @Micka 您本可以将其作为答案提及。我想这就足够了。还是谢谢!!!!
  • @Micka 同意,如果您想将其详细说明为答案,那就太好了! (否则我想我会在某个时候将我所知道的内容纳入答案,并将这些点归功于您。)
  • atm 没有时间写一个好的答案,我的评论有点基于意见(除了二进制输入与灰度输入的差异)。随意自己开始回答并保持最新。我对不同的意见和提示感兴趣 :)
  • Line Segment Detector 因许可证冲突已被移除,建议大家给这个问题点个赞! “恢复 LineSegmentDetector LSD 并避免许可证冲突”:github.com/opencv/opencv_contrib/issues/2524#issue-615242133

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


【解决方案1】:

线段检测器 (LSD)

(渐进式)概率霍夫变换

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

其他算法

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-26
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多