基於HOUGH變換的矩形的檢測

2021-08-31 17:22:24 字數 2089 閱讀 6145

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

基於hough

變換的矩形的檢測

在影象中查詢直線、圓、橢圓的方法很多,網上也有很多類似的源**。但是介紹矩形(正方形,長方形)查詢的方法很少,本文介紹基於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、平面空間

注:p1

,p2,p3

,p4為矩形的四點,a

,b為矩形的長寬,α1

,α0分別為長寬與座標系原點的角度。

ht空間:

(注: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。

給我老師的人工智慧教程打call!

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變換檢測圓

原理 我們要從一副影象中檢測出半徑以知的圓形來。這個問題比前乙個還要直觀。我們可以取和影象平面一樣的引數平面,以影象上每乙個前景點為圓心,以已知的半徑在引數平面上畫圓,並把結果進行累加。最後找出引數平面上的峰值點,這個位置就對應了影象上的圓心。在這個問題裡,影象平面上的每一點對應到引數平面上的乙個圓...