直線檢測算法 LSD 的相關介紹及其在 OpenCV 和 MATLAB 中的可視化

所謂 LSD ,即 Line Segment Detector ,它是一種用於快速檢測圖像中直線段的圖像處理方法,由 Rafael Grompone von Gioi 等人於 2012 年發表於論文《LSD:a Line Segment Detector》,由於 CSDN 網友 polly_yang 已對該算法進行過 詳細介紹 ,所以我這裏不再對算法的理論和具體步驟進行介紹,而着重於如何通過 OpenCV 和 MTLAB 對該算法的實際效果進行可視化表達。


LSD 算法的結果中,一條直線包含了 7 個信息, 分別爲 x1, y1, x2, y2, width, p, -log_nfa, 用前四個就可以得到圖像方程。因此,我利用 OpenCV 和 MATLAB 對該算法所得到的結果進行了封裝,使得可以直接可視化地顯示其實際效果。封裝後的代碼可以在 這裏 下載,編譯過程可以參考其中的 README.md 文件。


代碼中包括了測試的實例,對該實例在 OpenCV 和 MATLAB 中的可視化效果分別如下圖所示。對於檢測出的直線顯示於新圖像還是顯示於原圖像可通過自行修改示例代碼進行調整。


1. 測試原圖



2. OpenCV 可視化效果圖



3. MATLAB 可視化效果圖



使用過程中如果遇到問題,可直接在評論中回覆或者發送郵件至 [email protected] 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章