字元結構知識在車牌識別中的應用
摘要:提出了一種完全基於結構知識的字元識別方法。該方法以字元的結構特點和筆畫型別、資料及位置作為識別特片生成判定時,再利用判定樹對汽車牌照中的字母和數字進行分類識別。
車牌號碼 字元結構 判定樹 字元識別
汽車牌照識別是基於影象分割和影象識別理論,對含有汽車牌照的影象進行分析處理,從而確定汽車牌照在影象中的位置,並進一步提取和識別出文字字元。從不同車牌影象中分割出的字元影象各式各樣,尺寸變化範圍大,增加了識別的難度。儘管可以採用影象變換方法將分割出的所有字元影象歸一化為相同尺寸,但歸一化過程又不可避免地丟失有用的字元資訊,造成影象失真,無助於提高識別準確率,並且浪費時間,降低了識別速度。
本文通過分析汽車牌照的特點,提出了一種利用字元的筆畫特徵和結構知識對汽車牌照中的字母和數字進行識別的方法。試驗表明,該方法識別速度快、準確率高,不受字元影象大小影響,適應性強。
1 車牌字元結構和識別
中國大陸汽車牌照中使用的字元包括59個漢字、25個英文本母(字母i不用)和10個阿拉伯數字三種型別共94個,且都是印刷體,結構固定、筆畫規範。圖1是車牌號碼中使用的全部字母和數字的影象。這些字元的結構在水平方向有三種型別:左右對稱、左大右小、左小右大。在豎直方向同樣有三種結構,即上下對稱、上大下小、上小下大。如車牌號碼中使用的數字"8",就屬於左右對稱且上下對稱。
從圖1可以看出,全部字母和數字的筆畫共有兩大類:直筆畫和弧筆畫。直筆畫又可分為橫筆畫、豎筆畫、左斜筆畫(相當於漢字筆畫中的"撇")和右斜筆畫(相當於漢字筆畫中的"捺")。弧筆畫是一條曲線段,本文將其分為兩類:開弧筆畫和閉弧筆畫。所謂開弧筆畫,指該弧筆畫沒有形成封閉環,如字母"c"。而閉弧筆畫則形成乙個封閉的環,如數字"0"。
根據字元影象的這一特點,本文採用下述方法對字母和數字進行逐級分類,形成一棵識別判定樹,每個字元就是乙個葉子:
(1)首先在待識別的字元影象中搜尋封閉環的數量和位置。
(2)根據搜尋到封閉環的結果判斷字元所在的類封閉環字元類、雙封閉環字元類、無封閉環字元類。 (3)針對每一類分別進行處理。
(4)雙封閉環字元只有"8"和"b",因此只要抽取豎筆畫即可區分出這兩個字元。"b"的左半部分有一長豎,而"8"沒有。
(5)單封閉環的字元有"a"、"d"、"o"、"p"、"q"、"r"、"0"、"4"、"6"和"9"。根據封閉環的位置將這些字元分成三類:封閉環在上部;封閉環在下部和封閉環在中間,然後再根據結構特點和抽取的筆畫特徵進行識別。
.封閉環在上部的字元有"p"、"r"和"9"。如果待識別字元影象上半部分有乙個封閉環,則從左半部分抽取豎筆畫;若左側部分沒有豎筆畫,則該字元為"9";若在左半部分抽取到豎筆畫,繼續抽取右斜筆畫;抽取到右斜筆畫,該字元為"r";否則為"p"。
.封閉環在下部的字元有"a"、"4"和"6"。如果待識別字元影象下半部分有乙個封閉環,則從右半部分抽取豎筆畫;若右側部分有豎筆畫,則該字元為"4";若在右半部分沒有抽取到豎筆畫,繼續抽取橫筆畫;抽取到橫筆畫,該字元為"a";否則為"6"。
.封閉環在中間的字元有"d"、"o"、"q"和"0"。實際應用中,"o"和"0"的影象完全相同,可以作為同乙個字元處理。如果待識別字元影象中間有乙個封閉環,則首先利用上下對稱特點判斷是否為"q";若上下對稱,則為"0"("o")或"d";然後按照左右對稱特徵區分字元"0"和"d"。
(6)無封閉環的字元有"c"、"e"、"f"、"c"、"h"、"j"、"k"、"l"、"m"、"n"、"s"、"t"、"u"、"v"、"w"、"x"、
"y"、"z"、"l"、"2"、"3"、"5"和"7",通過抽取筆畫對這些字元進行識別,具體步驟如下:
· 抽取橫筆畫和豎筆畫。
· 若待識別字元影象沒有橫筆畫和豎筆畫,則該字元為"s"、"v"或"x"。
· 若待識別字元影象只有橫筆畫而沒有豎筆畫,則該字元為"2"、"3"、"7"或"z"。
· 若待識別字元影象只有豎筆畫而沒有橫筆畫,則該字元為"1"、"c"、"j"、"k"、"m"、"n"、"u"、"w''或"y"。
· 待識別字元影象既有橫筆畫又有豎筆畫的字元為"5"、"e"、"f"、"c"、"h"、"l"或"t"。
."s"、"v"和"x"的識別。抽取左斜筆畫和右斜筆畫,"s"沒有這兩種筆畫,從而可識別出"s"。"x"的兩條斜筆畫交點位於字元影象的中間位置,而"v"的兩條斜筆畫相交於字元影象的下部,以此識別"x"和"v"。
· 識別2"、"3"、"7"和"z"。這四個字元中只有"z"有兩條橫筆畫,從而可以此識別出"z"。"3"和"7"的橫筆畫都位於上部,而"2"的橫筆畫位於下部,這樣又可以識別出"2"。對於"3"和"7",利用左斜筆畫進行識別。"7"具有左斜筆畫,而"3"沒有。
·識別"1"、"c"、"j"、"k"、"m"、"n"、"u"、"w"和"y"。根據豎筆畫的數量將這些字元分為三類,"1"、 "c"、"j"、"k"和"y"都是一條豎筆畫、"m"、"n"和"u"是兩條豎筆畫,而"w"有三條豎筆畫,這樣就完成了"w"的識別。
對於一條豎筆畫的字元,判斷該筆畫的位置是在左邊("c"和"k")、中間("1"和"y")還是在右邊("j"),即可識別出"廠。根據有無右斜筆畫區分"c"和"k",按照中間豎筆畫的長短區分"1"和"y"。
.由於字元"n"有一右斜筆畫,以此將其從"m"和"u"中識別出來。對於"m"和"u",依靠結構特徵已無法識別,本文使用字元影象中前景畫素個數與背景畫素個數的比值來判斷。根據這兩個字元的特點,只計算字元上半部分即可。 · 識別"5"、"e"、"f"、"g"、"h"、"i"和"t"。這些字元中,只有"e"具有三條橫筆畫,"f"有兩條橫筆畫,其餘為一條橫筆畫。剩下的字元中,按照豎筆畫的數量分為兩組: "5"、"l"和"t"為一條豎筆畫,"g"和"h"為兩條豎筆畫。"h"的兩條豎筆畫長度相同,而"g"的兩條豎筆畫則一長一短,這是區分"g"和"h"的標誌。"t"的豎筆畫在中間,"5"和"l"的豎筆畫在左邊。"l"的豎筆畫長,"5"的豎筆畫短,這樣就完成了"5"、"t"和"l"的識別。
搜尋封閉環實際上就是在字元影象中搜尋連通域。在字元的二值影象中,假定字元畫素值"1",背景畫素值為"0",則:
(1)無封閉環的字元影象中只有兩個連通域,即字元連通域和背景連通域,圖2(a)中的b和f。
(2)只有乙個封閉環的字元影象中有三個連通域,即乙個字元連通域和兩個背景連通域,圖2(c)中的b1、b2和f。
(3)有兩個封閉環的字元影象中有四個連通域,即乙個字元連通域和三個背景連通域,圖2(b)中的b1she、b2、b3和f。
搜尋封閉環的演算法如下:
(1)讀入二值字元影象。
(2)找到乙個畫素值為"0"的背景畫素點b。
(3)搜尋b的連通域,並將該連通域內的畫素全部標記為背景1。
(4)遍歷影象中畫素值為"0"的畫素。
(5)若所有"0"畫素都已標記為背景1,則該影象內封閉環個數為0,跳轉到(11)。
(6)若存在沒有標記為背景1的"0"畫素點b1,則有封閉環。
(7)搜尋b1的連通域,並將該連通域內的畫素全部標記為背景2。
(8)遍歷影象中畫素值為"0"的畫素。
(9)若所有"0"畫素都已標記為背景1或背景2該影象內封閉環個數為1,跳轉到(11)。
(10)若存在沒有標記為背景1或背景2的"0"畫素,則該影象內封閉環個數為2。
(11)結束搜尋,返回封閉環個數。
字元的筆畫抽取可參見文獻[1]
2 識別測試
利用本識別方法,筆者對從車牌中分割出的字元進行了識別測試。所測試的字元包括了車牌中所使用的全部35個數字和字母共7000幅影象,其中圖幅最大的為l00xl00畫素,而最小的是20x20畫素。正確識別的有6946幅,正確率超過99%。其中識別錯誤的影象主要集中在字母"0"和"d"。通過對這些容易識別錯誤的字元進行二次識別,可以大大提高識別準確率
本文提出的字元識別方法的核心就是通過判定樹對字元群體層層分類,從樹幹開始逐步縮小識別範圍,直到最後只有一類字元,即識別成功。
該方法具有如下特點:
(1)不需要建立識別樣本庫,完全依據字元自身的結構特徵進行逼近識別。
(2)不需要將待識別字元與全部字元進行匹配識別,因而提高了識別速度和準確率。
字元結構知識在車牌識別中的應用
中國科學技術大學 宋建才 摘要 提出了一種完全基於結構知識的字元識別方法。該方法以字元的結構特點和筆畫型別 資料及位置作為識別特片生成判定時,再利用判定樹對汽車牌照中的字母和數字進行分類識別。汽車牌照識別是基於影象分割和影象識別理論,對含有汽車牌照的影象進行分析處理,從而確定汽車牌照在影象中的位置,...
車牌識別與車聯網的關係及車牌識別的應用!
車聯網概念引申自物聯網 internet of things 根據行業背景不同,對車聯網的定義也不盡相同。傳統的車聯網定義是指裝載在車輛上的電子標籤通過無線射頻等識別技術,實現在資訊網路平台上對所有車輛的屬性資訊和靜 動態資訊進行提取和有效利用,並根據不同的功能需求對所有車輛的執行狀態進行有效的監管...
基於OpenCV的車牌識別 2 車牌字元識別
3 車牌字元切割 a.閾值濾波,使用cv thresh binary引數通過把白色值變為黑色,黑色值變為白色來實現閾值輸出的反轉,因為需要獲取字元的輪廓,而輪廓的演算法尋找的是白色畫素 b.查詢輪廓 c.驗證輪廓是否為字元,去除那些規格太小的或者寬高比不正確的區域。字元是45 77的寬高比,允許0....