您當前的位置:首頁 > 娛樂

基於HOUGH變換的矩形的檢測

作者:由 浮生 發表于 娛樂時間:2016-12-14

在影象中查詢直線、圓、橢圓的方法很多,網上也有很多類似的原始碼。但是介紹矩形(正方形,長方形)查詢的方法很少,本文介紹基於HOUGH變換的矩形的檢測。

1、 首先介紹以下直線的極座標方程。

ρ = x * cos θ + y * sin θ

轉換k = (- cos θ1)/(sin θ1)

y = k*x + b

b = ρ1/(sin θ1) + oy - ox *k

注:(ox,oy)為中心座標。

用C(ρ,θ)表示累積值陣列。

2、 平面空間

基於HOUGH變換的矩形的檢測

基於HOUGH變換的矩形的檢測

注:P1,P2,P3,P4為矩形的四點,a,b為矩形的長寬,α1,α0分別為長寬與座標系原點的角度。

HT空間:

基於HOUGH變換的矩形的檢測

基於HOUGH變換的矩形的檢測

(注:H1=(ρ1,θ1),H2=(ρ2,θ2),H3=(ρ3,θ3),H4=(ρ4,θ4))

四個頂點的一般關係:

1) 當θ= α1時,形成了H1,H2,即有H1,H2點。

當θ= α0時,形成了H3,H4,即有H3,H4點。

2) 判斷是否與θ對稱,若以θ軸為對稱軸,則有:

ρ1 +ρ2 = 0和ρ3 +ρ4 = 0

3) 直線垂直時

△ θ = 90度(|α1 –α0| = 90)

4) 線段的長度

C(ρ1,θ1)= C(ρ2,θ2)= b

C(ρ3,θ3)= C(ρ4,θ4)= a

5) 點或直線的距離

ρ1 -ρ2 = a

ρ3 -ρ4 = b

大部分情況下,滿足條件1),2),3)。

3.演算法:

1) 找到一個點,在距離[Dmin,Dmax]之間搜尋。

2) 增強C(ρ,θ)模型(略)

3) 檢測矩形型別

若在增強之後的C(ρ,θ)中有H1=(ρ1,θ1),H2=(ρ2,θ2)…Hm=(ρm,θm)。

根據 △θ = |θi –θj | < Tθ ,注:Tθ表示域值。

△ρ = |ρi +ρj | < Tρ

| C(ρi,θi–C(ρj,θj | 〈 TL * (C(ρi,θi)+C(ρj,θj))/2

判斷直線i,j是否有關聯。

若滿足上面的關係表示式,就說明有關聯。令Pk = (+/- Уk,αk),條件:

αk = 1/2 *(θi +θj)

Уk = 1/2 *(ρi -ρj)

下一步:判斷直角線,垂直線

△α = | |αk -αl | — 90’ | < Tα (域值)

則直線Pk,Pl是垂直的。

最後:可以檢測到矩形的中心點。

方向為αk。

兩邊的長度為2Уk與2Уl。

歡迎關注我們的機器視覺二維碼,一起學習交流。

二維碼如下:

http://

ww2。sinaimg。cn/mw690/a1

4eb5b5gw1fa4ut8oviaj20fk09et9s。jpg

歡迎轉載機器視覺助手的文章,我們也希望能夠讓更多的對機器視覺感興趣的人看到我們的文章,不過在轉載之前請獲得我們的授權或嚴格按照要求進行轉載

標簽: 矩形  H1  H2  直線  sin