第四章 車牌定位
4.5 歪斜車牌校正
4.5.1 霍夫轉換(Hough Transform)
霍夫轉換是一種在數位影像處理中用來分析圖形特徵的方法,它的運作方式 是將影像轉換成直線方程式
f x
ax
b
的參數空間,進行一個 “投票” 的動 作,影像中越長的直線,其參數 a 和b的得票數越高。假設我們在影像座標
x, y
上有一個點,那麼通過這個點的直線,其參數 a, b
的可能性有無限多個,如圖 4.15 所示。
25
圖 4.15 坐標軸上一個點,會有無限多的線段通過
若將通過該點的線段方程式的參數畫到參數空間座標上的話,就會形成一條 直線,如圖 4.16 所示。
圖 4.16 通過座標
5,20
的直線,其參數空間分布情形。我們可以看成在影像座標上的一個點,對參數空間座標中的每一個參數 a 及 相對應的參數b都累加 1。
在影像座標平面上有多少個點,就會有多少條直線出現在參數空間座標上,
當影像座標平面上的點出現在同一條直線方程式上時,在參數空間座標上的直線 就會相交於一點,也就是每個影像座標平面上的點都對相交於參數空間座標上的 這個點投下一票,而這個相交的座標
a, b
就是我們要找的通過這些影像座標平 面上的點的直線方程式參數 a 和b。27
圖 4.17 影像座標平面上有多個點落在同一條直線方程式上。
圖 4.17 即為一張簡單的示意圖,在影像平面座標上總共有五個點,這五個 點分別是
1,0 、
2,5
、
3,10
、
4,15
和
5,20
,都坐落在f x
x1
-5 的直線方程式上,其參數為
1,-5
。圖 4.18 在影像平面空間中同一條直線上的點,其參數空間座標上的直線會相交 於一點。
圖 4.18 即為圖 4.17 影像座標平面中的五個點在參數空間座標上產生的五條 直線,這五條直線都經過
1,-5
這個點,我們可以看成在參數空間座標上的
1,-5
這個點得到最高的五票得票數,而
1,-5
就是影像座標平面上那條直線方程式的參 數。實作霍夫轉換時,我們可以使用一個累加器(Accumulator)來記錄每一組 a, b
的得票數。
但是這種霍夫轉換有個問題,那就是當影像座標平面上的直線越接近垂直的 角度時,那麼該直線的斜率,也就是參數 a 會越大,當直線為垂直時, a 就會 是無限大而無法納入有限的累加器中。
所以,一般實作的霍夫轉換都是採用極座標
,r
來取代 a, b
,以極座標來表現的直線方程式為
x
cos
ysin
r
。29
但是,為了簡化程式的運作,我們仍然是採用
f x
ax
b
的座標平面方式來進行,因為影像中車牌的歪斜程度不可能到接近垂直這麼離譜,甚至歪斜角度 要超過 45° 都有困難,因此我們不必顧慮斜率會接近無限大的問題。
首先,我們要找出車牌影像中垂直方向的高頻訊號。由於車牌區域影像尺寸 不大,使用小波轉換的方法得到的高頻訊號數量太少,因此無法有效用來尋找直 線,所以本研究改用另外一種替代的方法來尋找高頻。
我們先對車牌影像作一次二值化的處理,如圖 4.19 所示。
圖 4.19 對車牌影像進行二值化處理。
然後作垂直方向的掃描,只要是二值化影像中有像素由白變黑,或是由黑變 白的情形,就將它視為一個高頻訊號,如圖 4.20 所示。
圖 4.20 從二值化後的車牌影像中尋找垂直方向高頻訊號。
之後對這些高頻影像進行霍夫轉換的運算,找出其中最長的直線。如圖 4.21 所示。
圖 4.21 經由霍夫轉換找出車牌垂直方向高頻訊號中擁有最多白點的直線。
而垂直方向也是用同樣的方法去尋找擁有最多白點的直線,為了避開斜率趨 近於無限的問題,我們在尋找垂直方向直線時,要將座標軸旋轉 90°來進行演算,
同樣的將我們要尋找的直線的斜率控制在 1 以下,如圖 4.22 所示。
31
圖 4.22 進行垂直方向霍夫轉換時將座標旋轉 90° 以避免斜率無限大的問題。