hough變換的操作物件是存在邊緣特徵的二值影象,其實質是兩個座標系之間的對映關係,在進行hough操作時,將笛卡爾座標系下的直線表示方法斜率,截距(k,b)轉化到極座標系下的極徑,極角(λ,θ),由下圖可知:
在極座標系下,任意一條直線的(λ,θ)為定值,所以可以唯一表示直線,其直線表示式為:
y=-(cosθ/sinθ)x + λ/sinθ ;
化簡可得:
λ=xcosθ +ysinθ ;
既有結論:對於給定點(x0, y0),通過它的一簇直線可以表示為:
λ'=x0(cosθ') +y0(sinθ');
hough變換的opencv庫函式為:
void houghlines(inputarray image, output lines, double rho, double theta, int threshold, double srn=0, double stn=0)
通過檢測平面點集對映的(λ,θ)值的個數,來找出共線點的個數,當其大於閾值的時候,則判定為一條直線並將結果儲存在lines中,所以合適的閾值是非常關鍵的。
下圖為除錯中選定乙個閾值畫出的直線:
Hough 變換檢測直線
hough 變換檢測直線的基本原理是 對x y 座標系下的每一點 x,y 對應極座標下為 rho x cos theta y sin theta 1 因此,對x y平面內的每一點,對應到極座標系則為一條直線,如果直角座標系下的點共線,則在極座標的直線會相交於一點。因此,求得極座標下相交最多的點,rh...
Hough變換檢測直線
1 基本原理 hough變換是影象處理中從影象中識別幾何形狀的基本方法之一,即它可以檢測已知形狀的目標,而且受雜訊和曲線間斷的影響小。hough變換的基本思想是利用點 線的對偶性。如下圖1所示 從圖1中可看出,x y座標和k b座標有點 線的對偶性。x y座標中的點p1 p2對應於k b座標中的l1...
通過hough變換檢測直線
函式功能 通過hough變換檢測直線 引數說明 imgbinaryin,表示二值圖象 width,表示圖象寬 height,表示圖象高 houghbuf,表示hough變換需要的緩衝區指標 houghwidth,表示hough變換需要的緩衝區的寬 houghheight,表示hough變換需要的緩衝...