計算機視覺面試考點(1)霍夫變換

計算機視覺工程師在面試過程中主要考察三個內容:圖像處理、機器學習、深度學習。然而,各類資料紛繁複雜,或是簡單的知識點羅列,或是有着詳細數學推導令人望而生畏的大部頭。爲了督促自己學習,也爲了方便後人,決心將常考必會的知識點以通俗易懂的方式設立專欄進行講解,努力做到長期更新。此專欄不求甚解,只追求應付一般面試。希望該專欄羽翼漸豐之日,可以爲大家免去尋找資料的勞累。每篇介紹一個知識點,沒有先後順序。想了解什麼知識點可以私信或者評論,如果重要而且恰巧我也能學會,會盡快更新。最後,每一個知識點我會參考很多資料。考慮到簡潔性,就不引用了。如有冒犯之處,聯繫我進行刪除或者補加引用。在此先提前致歉了!

原理

y=kx+b可以表達直線。
如果(k,b)確定,那麼這條直線就具有了唯一性。
所以,在(k,b)座標系中的一個點可以對應(x,y)座標系中的一條直線。
反過來,(x,y)座標系上的一個點也會對應(k,b)座標系中的一條線。
(x,y)座標系中一條直線上的n個點可以對應(k,b)座標系中的n條直線。
(k,b)座標系中,這n條直線的交點滿足了(x,y)座標系中n個點的特徵。
換句話說,(k,b)座標系中的這個點就代表了(x,y)座標系中的那條直線。

細節

當(x,y)座標系中的直線豎直的時候,k無窮大,在(k,b)座標系中無法表示。
所以使用極座標系(ρ,θ)進行表示,即ρ=xcosθ+ysinθ
推導:將下面的兩個公式相加就是ρ=xcosθ+ysinθ
(圖中有誤,第四行應該是y1sinθ)
在這裏插入圖片描述
實際中被檢測的直線往往有很多噪音。
即,在(ρ,θ)座標系中的線並不會嚴格交於一點。
處理方法是在(ρ,θ)座標系中建立網格,如下所示。
如果有點落在網格內,該網格計數加一。
比如最後,計數比較多的網格的計數分別爲:30,25,15,8,6
我們設立一個閾值,比如小於20的網格被過濾掉。
那麼我們最後就會留下30,25
這兩個格子就對應了(x,y)座標系中的兩條直線。
在這裏插入圖片描述

拓展

霍夫變換的本質是(x,y)座標系和參數座標系的一個對應。
直線有兩個參數,那麼參數空間是二維的。
圓有座標x,y和半徑r共三個參數,所以參數空間是三維的。
那麼三維空間的交點就對應了我們想要檢測的圓。
所以依據這個思想,我們還可以檢測橢圓等形狀。只不過橢圓對應了五維的參數空間。


歡迎討論 歡迎吐槽

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章