Hough變換原理

2022-11-27 05:07:38 字數 2439 閱讀 3910

hough變換原理

一、簡單介紹

hough

變換是影象處理中從影象中識別幾何形狀的基本方法之一。

hough

變換的基本原理在於利用點與線的對偶性,將原始影象空間的給定的曲線通過曲線表達形式變為引數空間的一個點。這樣就把原始影象中給定曲線的檢測問題轉化為尋找引數空間中的峰值問題。也即把檢測整體特性轉化為檢測區域性特性。比如直線、橢圓、圓、弧線等。

二、hough

變換的基本思想

設已知一黑白影象上畫了一條直線,要求出這條直線所在的位置。我們知道,直線的方程可以用

y=k*x+b

來表示,其中k和

b是引數,分別是斜率和截距。過某一點

(x0,y0)

的所有直線的引數都會滿足方程

y0=kx0+b

。即點(x0,y0)

確定了一族直線。方程

y0=kx0+b

在引數k--b

平面上是一條直線,

(你也可以是方程

b=-x0*k+y0

對應的直線

)。這樣,影象

x--y

平面上的一個前景畫素點就對應到引數平面上的一條直線。我們舉個例子說明解決前面那個問題的原理。設影象上的直線是

y=x,

我們先取上面的三個點:

a(0,0), b(1,1), c(22)

。可以求出,過

a點的直線的引數要滿足方程

b=0, 過b

點的直線的引數要滿足方程

1=k+b, 過c

點的直線的引數要滿足方程

2=2k+b,

這三個方程就對應著引數平面上的三條直線,而這三條直線會相交於一點

(k=1,b=0)

。 同理,原影象上直線

y=x上的其它點(如

(3,3),(4,4)等)

對應引數平面上的直線也會通過點

(k=1,b=0)

。這個性質就為我們解決問題提供了方法,就是把影象平面上的點對應到引數平面上的線,最後通過統計特性來解決問題。假如影象平面上有兩條直線,那麼最終在引數平面上就會看到兩個峰值點,依此類推。

簡而言之,

hough

變換思想為:在原始影象座標系下的一個點對應了引數座標系中的一條直線,同樣引數座標系的一條直線對應了原始座標系下的一個點,然後,原始座標系下呈現直線的所有點,它們的斜率和截距是相同的,所以它們在引數座標系下對應於同一個點。這樣在將原始座標系下的各個點投影到引數座標系下之後,看引數座標系下有沒有聚集點,這樣的聚集點就對應了原始座標系下的直線。

在實際應用中,

y=k*x+b

形式的直線方程沒有辦法表示

x=c形式的直線

(這時候,直線的斜率為無窮大

)。所以實際應用中,是採用引數方程

p=x*cos(theta)+y*sin(theta)

。這樣,影象平面上的一個點就對應到引數

p---theta

平面上的一條曲線上,其它的還是一樣。

三、hough

變換推廣

1、已知半徑的圓

其實hough

變換可以檢測任意的已知表達形式的曲線,關鍵是看其引數空間的選擇,引數空間的選擇可以根據它的表達形式而定。比如圓的表達形式為

,所以當檢測某一半徑的圓的時候,可以選擇與原影象空間同樣的空間作為引數空間。那麼圓影象空間中的一個圓對應了引數空間中的一個點,引數空間中的一個點對應了影象空間中的一個圓,圓影象空間中在同一個圓上的點,它們的引數相同即a,

b相同,那麼它們在引數空間中的對應的圓就會過同一個點(a,

b),所以,將原影象空間中的所有點變換到引數空間後,根據引數空間中點的聚集程度就可以判斷出影象空間中有沒有近似於圓的圖形。如果有的話,這個引數就是圓的引數。

2、未知半徑的圓

對於圓的半徑未知的情況下,可以看作是有三個引數的圓的檢測,中心和半徑。這個時候原理仍然相同,只是引數空間的維數升高,計算量增大。影象空間中的任意一個點都對應了引數空間中的一簇圓曲線。

,其實是一個圓錐型。引數空間中的任意一個點對應了影象空間中的一個圓。

3、橢圓

橢圓有5

個自由引數,所以它的引數空間是

5維的,因此他的計算量非常大,所以提出了許多的改進演算法。

四、總結

影象空間中的在同一個圓,直線,橢圓上的點,每一個點都對應了引數空間中的一個圖形,在影象空間中這些點都滿足它們的方程這一個條件,所以這些點,每個投影后得到的影象都會經過這個引數空間中的點。也就是在引數空間中它們會相交於一點。所以,當引數空間中的這個相交點的越大的話,那麼說明元影象空間中滿足這個引數的圖形越飽滿。越象我們要檢測的東西。

hough

變換能夠查詢任意的曲線,只要你給定它的方程。

hough

變換在檢驗已知形狀的目標方面具有受曲線間斷影響小和不受圖形旋轉的影響的優點,即使目標有稍許缺損或汙染也能被正確識別。

**:

Hough變換的基本思考

hough變換用於在影象中檢測特定性狀,如線,圓,矩形等,廣泛用於影象識別領域。一條直接的方程可表示為 y a x b 當a,b固定時直線固定,在影象中可任意取兩個不同的x,計算得到相應y則可繪製出這條直線。而直線檢測,則是上述過程的逆過程 已知一系列的點,求取a,b引數的過程。b x a y 這裡...

霍夫變換 Hough Transform

霍夫變換是影象處理中從影象中識別幾何形狀的基本方法之一,應用很廣泛,也有很多改進演算法。最基本的霍夫變換是從黑白影象中檢測直線 線段 我們先看這樣一個問題 設已知一黑白影象上畫了一條直線,要求出這條直線所在的位置。我們知道,直線的方程可以用y k x b 來表示,其中k和b是引數,分別是斜率和截距。...

hough變換檢測線和圓

參考 這篇介紹的基本思想。這篇總結的不錯,我借用一下 影象空間中的在同一個圓,直線,橢圓上的點,每一個點都對應了引數空間中的一個圖形,在影象空間中這些點都滿足它們的方程這一個條件,所以這些點,每個投影后得到的影象都會經過這個引數空間中的點。也就是在引數空間中它們會相交於一點。所以,當引數空間中的這個...