首先放上結果:
新能源車牌識別結果:
藍色車牌識別結果:
正文開始:
1、在進行影像處理任務之前,首先要明確處理物件和處理流程
處理物件: 新能源車牌和藍色車牌
處理流程:

2、由于要對藍色和新能源車牌進行識別,而且新能源車牌是漸變色,所以直接通過設定閾值的方法去識別兩種車牌并沒有單獨識別藍色車牌的可靠性高,這里,我根據車牌字符的特征進行車牌位置定位:
i.根據字符特征初步找出車牌位置
可以看到,到這里已經找出了車牌的大致區域,但是還存在許許多多的干擾區域,
(這里使用了caimouse的方法,以下是原文鏈接)
https://blog.csdn.net/caimouse/article/details/104731023?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160706323119195265195568%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160706323119195265195568&biz_id=0&spm=1018.2118.3001.4449
ii.根據車牌長寬比進行初步篩選
我們可以用最小外接矩形演算法框出上一步已選出的區域,然后根據車牌長寬比設定閾值,將滿足閾值的矩形篩選出來,當然但還是會存在一部分干擾區域,
(matlab實作最小外接矩形演算法的鏈接如下)
https://blog.csdn.net/qq_31963169/article/details/110728827
iii.對矩形內像素進行顏色統計
到這里我們即可準確找出車牌位置,與此同時車牌的型別(新能源或藍牌)也可以在這里判斷出來
3、傾斜校正
這一步是為后面垂直投影法分割字符和模板匹配做準備
簡單來講,使用霍夫線演算法檢測車牌上下邊框所在直線,計算這條直線傾斜角度,之后對車牌進行旋轉即可,當然復雜點的方法可以具體看我的源程式,具體效果如下圖:

4、二值化、形態學處理、字符識別
i.二值化和形態學處理這里就不在贅述,很多博客已經講的非常清晰
ii.字符分割
在這里需要對字符進行準確的分割,在分割之前還是可能會有干擾,需要再次分割出車牌字符的準確位置,這里我的方法是:先向左投影,設定閾值,切割出上下邊界,同理在切割出左右邊界,但是這只適用于車牌邊框明顯的情況下,所以我不建議你使用這個方法,慎用!!!
到這里就可以使用垂直投影法進行字符分割,這里需要注意的是新能源車牌有八位,藍牌有七位
分割結果如下圖所示:

iii.字符識別
這里使用模板匹配,因為新能源車牌字符和藍牌字符不一致,所以要制作兩套字符模板,另外需要注意的是,根據《中華人民共和國機動車號牌》序號編碼規則,26個英文字符中“I“、”O“不能使用,所以不存在"1"和"I"、"0"和"O"字符混淆的問題
5、最后將結果輸出即可
6、結尾
其實看到這里可以發現,這套處理流程對黃色車牌(卡車)的處理同樣有效,但是對應的一些引數需要調整,
字符模板(新能源、藍牌、黃牌)資源如下
https://download.csdn.net/download/qq_31963169/13697488
程式原始碼如下
https://download.csdn.net/download/qq_31963169/13986382
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243288.html
標籤:其他
