霍夫變換 檢測直線

2022-03-19 09:07:17 字數 850 閱讀 7333

將笛卡爾座標系的直線用統計展示

座標系a中的點=座標系b中的線

座標系a中的線=座標系b中的點

a中多點的連線=b中多曲線的交點

先理解這樣乙個思維

那麼x-y座標系中,點a對應k-b座標系的綠直線,點b對應k-b座標系的紅直線,連線a-b兩點的直線對應,紅綠直線的交點(這裡呼應了上一部分第4點)。

直角座標系和極座標系的轉換

如果你理解了上面的點→直線和直線→點的思維,現在來用同樣的思維看直角座標系和極座標系

預備知識:

對於笛卡爾系的點(x,y),我們可以用極座標系的點(r,θ)來表示,點點轉換關係:

x=rcosθ

y=rsinθ

x²+y²=r²

現在推導點線關係

先給出結論:

r=xcosθ+ysinθ

直線(x1,y1)(x2,y2)的斜率有兩種表達,可以藉此建立等式

推導過程如下:

**定義式求斜率**:

k=tan(θ+90°)=-cosθ/sinθ (1)

設橙色點極座標(r,θ),該點直角座標點是(rcosθ,rsinθ),故**兩點式求斜率**:

k=(y1-rsinθ)/(x1-rcosθ) (2)

由式(1)(2)得:

r=x1cosθ+y1sinθ

通用:r=xcosθ+ysinθ

由上方推導,當有點(x1,y1)時,會有很多個點(r,θ)符合,他們連線起來就是一條曲線,得到結論:

同理:同理:

實際應用需要離散化

霍夫變換檢測直線

對於結構化道路的檢測,常用的方法是採用霍夫變換檢測道路中的直線段。一條直線可以看做是影象上的若干個畫素點組成,也可以用一條直線方程來表示,如 y kx b,那麼霍夫變換檢測直線段其實是將影象畫素點空間變換到引數空間,對於直線來說就是引數 k,b 也可以用來檢測其他形狀如圓和橢圓,只是引數空間表示不一...

霍夫變換檢測直線

對於線性目標提取時,霍夫變換是個很好的手段,博主在這裡做了 實驗,在乙個影象中畫上圓和矩形,通過霍夫變換提取矩形的邊緣。編譯環境為matlab2014a,如下。霍夫變換,找到矩形影象的邊界,用彩色表示出來,矩形和圓不重疊 clc clear all close all i zeros 256,256...

4 霍夫變換直線檢測

定義 霍夫變換 hough transform 是影象處理中的一種特徵提取技術,可以識別影象中的幾何形狀。它將影象空間中的特徵點對映到引數空間進行投票,通過檢測累計結果的區域性極值點得到乙個符合某特定形狀的點的集合。經典霍夫變換用來檢測影象中的直線,後來霍夫變換擴充套件到任意形狀物體的識別,多為圓和...