2017-03-27 112 views
1

在OpenCV中,有兩種檢測線的方法,它們以端點向量的形式給出相似的結果 - Line Segments Detector (LSD)Probabilistic Hough Transform。 (對標準Hough變換進行折扣,因爲輸出的結果是以方程而不是線端點)。Line Segment Detector vs Probabalistic Hough Transform

我還沒有找到這兩種線檢測方法的比較和對比以及它們的優缺點。因此 - 這兩個函數有什麼區別?使用一種方法而不是另一種方法有什麼特別的好處?

此外,還有其他較少人知的在線檢測方法(如LSD)在某些使用情況下可能有優勢嗎?

+2

LSD採用灰度圖像作爲輸入白色PHough使用二進制(黑白)圖像。所以他們是完全不同的。我喜歡比較參數無更多樣的邊緣檢測和PHough找到一個更長的線LSD。 – Micka

+0

@Micka你可以提到它作爲答案。我想這足夠了。不管怎麼說,還是要謝謝你 !!!! –

+1

@Micka同意,如果你想將其解釋爲答案,那會很棒! (否則,我想我會把我知道的東西拉到某個答案的某個點上,並相信你的答案) – ELRG

回答

2

線段檢測器(LSD)

(逐行掃描)概率Hough變換

  • 注意到
  • 具有幾個調諧參數的二進制圖像作爲輸入;距離分辨率ρ,角度分辨率θ,累加器閾值參數(僅返回具有足夠票數的那些參數),最小線路長度和最大線路間隙
  • 時間性能取決於參數(但相對於標準霍夫變換得到改進)
  • 由於隨機性,多次運行可能會產生不同的結果
  • 用於更具體的線路查找;參數允許調諧,並且具有選項(經由最高線間隙參數),以結合片段以返回單個更長的線
  • 在OpenCV實現是Progressive Probabilistic Hough Transform(與由於Dr. D.'s answer on this question

其它算法

  • ​​:利用邊緣檢測器的線性時間線段檢測器。據我所知,沒有OpenCV的實施。

(與感謝您指出在輸入和潛在用途的差異Micka的評論)