1. 程式人生 > >霍夫變換在影象處理中的應用(尋找影象中的直線)

霍夫變換在影象處理中的應用(尋找影象中的直線)

一、原理

 參考霍夫變換,如果有課本的話參考岡薩雷斯的影象處理課本及matlab版本的課本最好,如果沒有就看下這節的原理描述。
直角座標系中對於直線方程有如下等式:

ρ=xcosθ+ysinθ(ρ0)
其中ρ為座標原點到直線的距離,θρ 與x軸正方向的夾角,x、y為直線上的點:
如圖
對於直線上任意一個已知的點(x0,y0)有:ρ=x0cosθ+y0sinθ,則該函式是關於ρθ的方程。

所以,對於影象上的任意一個畫素點都有上述方程成立,亦即對於影象上的任意一個點,在霍夫變換後的引數空間內(θ,ρ)都可以找到一條三角函式曲線與其對應。影象上的任意兩個點,即對應兩條曲線,那麼這兩條曲線必然會產生一個交點(

θ0,ρ0),這個交點再放到直線方程中,即可確定一條直線(也正是影象上這兩個點所確立的直線)。

由此推斷,影象上在同一條直線(影象上應該是一個線段)上的點所產生的曲線都會在引數空間相交於一個點(θ0,ρ0),直線的長度越長(點越多),那麼交於該點的曲線也越多。

所以,在影象上找直線可以演變成在霍夫變化後引數空間(霍夫影象)中找曲線相交次數最多的點。

程式碼

平臺:Ti的DSP系列
語言:C