Hough直線檢測和圓檢測

前言:計算機視覺是讓計算機理解圖像與視頻,本系列博客的目的在於加深自己在學習計算機視覺過程中對相關知識理解與回顧。其中很多內容參照:教材《Computer Vision: Algorithms and Applications》,教材Learning Image Processing with OpenCV》工具書《Learning OpenCV》,國外大學的課程《Computer Vision》和課程《Computer Vision》。

 

         Hough變換的核心思想爲把圖像空間(或者說笛卡爾座標系)中的點,變換到參數座標系空間中,然後採用投票的思想進行參數估計。對於直線檢測,參數座標系空間爲。對於圓檢測,參數座標系空間而。其基本思路爲:

1.        對參數進行離散化;

2.        利用圖像中的每一個點對參數進行投票;

3.        找到參數空間中的投票數量最大值或者值大於一定閾值所對應的參數,得到相應的直線和圓。

 

使用Hough變化的優點

1.        對outliers魯棒,因爲每一個點都是單獨對參數進行投票;

2.        效率高;

3.        能夠提供多個擬合結果(如能檢測多條之間和多個圓)。

 

相應的也有一些缺點

1.        對噪聲比較敏感;

2.        離散化的bin size選擇比較困難,選擇bin size的過程中需要權衡噪聲容忍度,準確率以及效率等各方面問題;

3.        不適合參數過多的模型,隨着參數的增加,模型複雜度呈現指數級別上升。



詳細案例解釋參見網址http://blog.163.com/yuyang_tech/blog/static/21605008320130233343990/

 

         在OpenCV中,可通過HoughLinesHoughCircles函數來進行圖像中直線和圓的檢測。


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