第五章 字元切割與辨識
5.1 尋找字元區域上下邊緣
37
圖 5.2 十字濾波示意圖。
圖 5.3 為消除雜訊後的車牌影像。
圖 5.3 消除雜訊後的二值化車牌影像。
5.1.2 尋找車牌上下緣
接下來我們對過濾掉雜訊後的車牌做一次水平方向的掃描,並記錄 y 軸上 每一排的像素有多少個水平方向的高頻。
在台灣,除了少數車種以外,絕大部分車種都是由六個字元加上一個破折號 所組成,每個字元在水平方向至少會形成兩個高頻訊號(由白轉黑或由黑轉白),
所以,經過校正的車牌影像,字元區域水平方向至少會有十二個以上的高頻,但 是考慮到車牌影像並非只有包含高對比的車牌,加上環境光源的影響,可能會使 字元的一些部份在二值化後融入背景中,所以我們將掃描的高頻數量設定成八 個。利用這個特性,我們可以很快找出包含字元區域的部分。圖 5.4 即為掃描的
結果。
圖 5.4 二值化後的車牌在水平方向黑白轉換的數量較多的位置。
我們用紅色線條代表水平方向有高於八個高頻訊號的位置,從圖可以看到看 到,字元區域及字元上方含有台灣省、台北市或高雄市的區域已經涵蓋在我們所 找到的紅色線條裡面,我們再進一步尋找影像中所涵蓋的最大寬度的紅色線條,
此線條的上緣和下緣就是我們要尋找的字元區域的上緣和下緣位置。
圖 5.5 即為一個找出字元區域上緣和下緣的車牌影像示意圖,其中,紅色線 代表車牌上緣,藍色線代表字元區域下緣。
圖 5.5 決定車牌上下緣位置。
圖 5.6 為切割上下緣之後的字元區域影像。
39
圖 5.6 切割字元區域上下緣之後的影像。
5.1.2 字元切割
尋找完上下緣之後,我們要再將車牌左右緣找出來,但是尋找字元左右側 時,不能像尋找上下緣一樣從高頻的多寡去判斷,因為高頻數量有限,而且不同 字元在垂直方向所產生的高頻數量也不同,像是 1 與 8,1 在垂直方向只會有兩 個高頻,但是 8 在垂直方向就有六個高頻,如圖 5.7 所示。
圖 5.7 不同字元,垂直方向高頻數量也不同。
所以我們不能以高頻數量為依據來尋找字元區域左右緣。我們要使用其他規 則來進行剩下的字元切割的工作。
首先,我們計算每個 y 軸方向上的每個點在 x 軸座標上的黑點數量。圖 5.8 是以投影的方式來表現的示意圖。
圖 5.8 切割完上下緣的車牌白點投影在 x 軸上的情形。
我們由圖可以發現,在字元之間的黑點數量是最少的。我們在黑點數量只有 字元區域高度 10%的部分畫上紅線,如圖 5.9 所示。
圖 5.9 y 軸方向黑點數量為 0 的地方為字元切割處。
圖 5.9 中紅線的部分就是我們要尋找的字元間的間隔。找出這些位置以後,
我們再從各個紅線區域中去尋找黑點數量最少的位置,那些位置就是我們要尋找 的各個字元間的間隔位置。圖 5.10 即為字元分割的結果。
圖 5.10 完成字元切割的結果。
但是,圖 5.10 是以車牌影像為理想狀態的情形下所得到的結果,有的時候
41
會出現破折號在二值化與過濾雜訊的過程被過濾掉,或是破折號投影到 x 軸上的 數量太少,以至於無法正確切割的情形,如圖 5.11。針對這種情況,我們有必要 加以修正結果。
圖 5.11 破折號無法被正確切割的情形。
由於破折號只會出現在第二個和第三個字元之間,或是第四個和第五個字元 之間,所以我們比較初步分割時第二到第五個字元的寬度,擁有最大的寬度的字 元,就是有可能包含破折號的字元。
如果寬度最大的字元是第二個,那麼破折號就在第二個字元的右端,如果寬 度最大的字元是第三個,那麼破折號就在第三個字元的左端,如果寬度最大的字 元是第四個,那麼破折號就在第四個字元的右端,如果寬度最大的字元是第五 個,那麼破折號就在第五個字元的左端。我們可以根據字元區域的高度,給定一 個適當的補償大小。圖 5.12 即為破折號消失修正後的字元切割結果。
圖 5.12 破折號消失修正後的字元切割結果。