分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
基於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變換檢測圓
原理 我們要從一副影象中檢測出半徑以知的圓形來。這個問題比前乙個還要直觀。我們可以取和影象平面一樣的引數平面,以影象上每乙個前景點為圓心,以已知的半徑在引數平面上畫圓,並把結果進行累加。最後找出引數平面上的峰值點,這個位置就對應了影象上的圓心。在這個問題裡,影象平面上的每一點對應到引數平面上的乙個圓...