欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種車牌字符分割方法

文檔序號(hào):6440384閱讀:1301來源:國(guó)知局
專利名稱:一種車牌字符分割方法
技術(shù)領(lǐng)域
本發(fā)明屬于智能交通方面的車牌識(shí)別技術(shù)領(lǐng)域,具體地說,是涉及一種車牌字符分割方法。
背景技術(shù)
隨著各國(guó)公路建設(shè)的迅速發(fā)展和汽車數(shù)量的不斷增加,交通管理的任務(wù)日趨繁重,利用計(jì)算機(jī)汽車車牌識(shí)別技術(shù),自動(dòng)檢測(cè)與識(shí)別汽車車牌號(hào)在現(xiàn)代交通監(jiān)控中具有非常重要的作用。車牌檢測(cè)與識(shí)別技術(shù)是數(shù)字圖像處理與模式識(shí)別技術(shù)在智能交通 (Intelligent Transportation System, ITS)領(lǐng)域中的重要研究課題之一,其對(duì)智能交通系統(tǒng)的發(fā)展和交通業(yè)的發(fā)展起著重要的推動(dòng)作用,更具有廣闊的市場(chǎng)前景。如圖1所示,車牌檢測(cè)與識(shí)別技術(shù)分為四個(gè)步驟車牌定位、車牌校正、字符分割和字符識(shí)別。車牌字符分割是車牌檢測(cè)與識(shí)別技術(shù)中的重要組成部分,只有有效地完成分割才能進(jìn)一步提取出目標(biāo)字符特征并進(jìn)行識(shí)別。目前常用的車牌字符分割方法有投影法、連通域法和聚類分析法等。其中,投影法是目前最常用的車牌字符分割方法,其思想是根據(jù)字符的特點(diǎn),把二值化后的車牌圖像進(jìn)行垂直方向的投影。因?yàn)樽址南袼攸c(diǎn)多而集中,且每個(gè)車牌字符之間有一定的空隙隔開。 這樣投影下來得到的投影圖像應(yīng)該有七個(gè)相對(duì)集中的投影峰值群,然后根據(jù)峰值間的最低點(diǎn)進(jìn)行分割就可得到車牌的字符。由于字符塊在豎直方向上的投影不僅在字符間取得局部最小值,而且在字符內(nèi)的間隙也能取得局部最小值,因此傳統(tǒng)的投影分割方法很容易把漢字分割成兩部分或者三部分,導(dǎo)致分割錯(cuò)誤。另外,車牌左右邊框和二三字符間的間隔點(diǎn)也都會(huì)干擾到投影分割,導(dǎo)致分割錯(cuò)誤;且對(duì)不同光照條件下所拍攝圖像中字符分割效果差, 抗干擾能力差。連通域法是將圖像水平線上的目標(biāo)像素作為起始點(diǎn),通過區(qū)域生長(zhǎng)提取出圖像中包含這些初始點(diǎn)的全部連通域。由于車牌中的字母和數(shù)字都是一筆寫成的,即只包括一個(gè)連通分支,因此每個(gè)連通域即為一個(gè)字符,圖像中剩余部分(區(qū)域生長(zhǎng)過程中沒有訪問過的部分)將作為噪聲去除。該方法對(duì)于去除噪聲干擾要求很高,因?yàn)樽址蛙嚺七吘壵尺B的現(xiàn)象十分普遍(特別是通過第二和第六字符處的鉚釘),這將導(dǎo)致把多個(gè)字符作為一個(gè)字符提取,導(dǎo)致分割錯(cuò)誤。另外,許多漢字在二值化后包括多個(gè)連通域,而數(shù)字和字母在二值化后會(huì)出現(xiàn)筆劃斷裂的現(xiàn)象,因此用此方法會(huì)丟失部分字符信息,字符分割很容易發(fā)生錯(cuò)誤。聚類分析法是利用模式識(shí)別中聚類分析算法來實(shí)現(xiàn)車牌字符分割。它能較好地解決漢字不連通的問題,較好地解決了車牌字符分割中存在的噪聲干擾,車牌磨損造成字符粘連等問題。另外,其通過改變預(yù)設(shè)類心的坐標(biāo),可以較好地處理一些新式車牌。但是該方法的程序邏輯設(shè)計(jì)復(fù)雜,循環(huán)嵌套較多,實(shí)時(shí)處理時(shí)間過長(zhǎng)。同時(shí)為了提高預(yù)設(shè)類心的精度,對(duì)車牌的寬度有一定的限制。可見現(xiàn)有技術(shù)車牌字符分割方法存在諸多缺陷傳統(tǒng)投影法和連通域法受車牌背景的影響較大,當(dāng)車牌字符受到污染時(shí)其分割錯(cuò)誤率很高,從而直接影響到后面的車牌字符識(shí)別;而聚類分析法則雖能克服一些稍復(fù)雜的背景,但是其計(jì)算量大,對(duì)計(jì)算機(jī)的速度要求比較高;執(zhí)行時(shí)間長(zhǎng),比較耗時(shí),且對(duì)于寬邊距車牌圖像,容易將邊距分割成字符,造成誤判。故,實(shí)有必要進(jìn)行研究,提供一種具有良好的實(shí)時(shí)性,計(jì)算復(fù)雜度低,能從復(fù)雜車牌背景中準(zhǔn)確分割出字符的技術(shù)方案。

發(fā)明內(nèi)容
為解決上述問題,本發(fā)明的目的在于提供一種具有良好的實(shí)時(shí)性,計(jì)算復(fù)雜度低, 能從復(fù)雜車牌背景中準(zhǔn)確分割出字符的車牌字符分割方法。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為一種車牌字符分割方法,包括如下步驟S10:車牌傾斜校正;Sll 車牌上下邊框去除;S12 車牌字符分割;S13:字符大小歸一化。進(jìn)一步地,所述步驟SlO包括有如下步驟SlOO 對(duì)已經(jīng)定位得到的原始灰度車牌圖像進(jìn)行Carmy邊緣檢測(cè);SlOl 對(duì)已完成Carmy邊緣檢測(cè)的車牌圖像使用概率Hough變換檢測(cè)直線,并計(jì)算出車牌的傾斜角度;S102 根據(jù)步驟SlOl所得到的車牌傾斜角度對(duì)原始灰度車牌圖像進(jìn)行相應(yīng)角度的旋轉(zhuǎn),以得到水平灰度車牌圖像。進(jìn)一步地,所述步驟Sll包括有如下步驟SllO 對(duì)步驟S102中得到的水平灰度車牌圖像使用Otsu閾值法進(jìn)行二值化,得到
二值車牌圖像;Slll 利用灰度跳變法去除二值車牌圖像的車牌上下邊框。進(jìn)一步地,所述步驟S12包括有如下步驟S120 對(duì)去除車牌上下邊框后的二值車牌圖像進(jìn)行垂直投影后再進(jìn)行粗分割;S121 利用字符中心間距和車牌先驗(yàn)知識(shí)對(duì)粗分割后的車牌圖像進(jìn)行細(xì)分割。本發(fā)明車牌字符分割方法克服了已有車牌字符分割方法受車牌背景影響大、分割錯(cuò)誤率高、計(jì)算量大、執(zhí)行時(shí)間長(zhǎng)的不足,其基于垂直投影和字符中心間距的車牌字符分害I],先利用垂直投影法實(shí)現(xiàn)車牌字符的粗分割,然后根據(jù)車牌的字符中心間距、車牌字符寬度以及車牌先驗(yàn)知識(shí)找到車牌的第一個(gè)或者第二個(gè)字符分割區(qū)域,實(shí)現(xiàn)漢字字符的合并和數(shù)字和英文字符的細(xì)分割。本發(fā)明車牌字符分割方法計(jì)算復(fù)雜度低,抗干擾能力強(qiáng),能夠從復(fù)雜背景中分割出字符,具有很高的可靠性。


圖1為現(xiàn)有技術(shù)中車牌檢測(cè)與識(shí)別流程圖。圖2為本發(fā)明字符分割流程圖。
圖3為本發(fā)明以7位字符為例的原始灰度車牌圖像。圖4為圖3Carmy邊緣檢測(cè)之后的車牌圖像。
圖5為圖3概率Hough變換檢測(cè)到的直線。圖6為圖3傾斜校正之后的車牌圖像。圖7為圖30tsu法二值化后的車牌圖像。圖8為圖3去除上下邊框之后的車牌圖像。圖9為圖3字符分割后的車牌圖像。圖10為圖3分割出來并歸一化后的車牌字符圖示。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。請(qǐng)參照?qǐng)D2所示,本發(fā)明車牌字符分割方法包括以下步驟SlO 車牌傾斜校正;Sll 車牌上下邊框去除;Sl2 :車牌字符分割;S13 字符大小歸一化。其中,步驟SlO車牌傾斜校正包括有如下步驟SlOO 對(duì)已經(jīng)定位得到的原始灰度車牌圖像進(jìn)行Carmy邊緣檢測(cè);SlOl 對(duì)已完成Carmy邊緣檢測(cè)的車牌圖像使用概率Hough變換檢測(cè)直線,并計(jì)算出車牌的傾斜角度;S102 根據(jù)步驟SlOl所得到的車牌傾斜角度對(duì)原始灰度車牌圖像進(jìn)行相應(yīng)角度的旋轉(zhuǎn),以得到水平灰度車牌圖像。步驟Sll車牌上下邊框去除包括有如下步驟SllO 對(duì)步驟S102中得到的水平灰度車牌圖像使用Otsu閾值法進(jìn)行二值化,得到
二值車牌圖像;Slll 利用灰度跳變法去除二值車牌圖像的車牌上下邊框。步驟S12車牌字符分割包括有如下步驟S120 對(duì)去除車牌上下邊框后的二值車牌圖像進(jìn)行垂直投影后再進(jìn)行粗分割;S121 利用字符中心間距、車牌字符寬度和車牌先驗(yàn)知識(shí)對(duì)粗分割后的車牌圖像進(jìn)行細(xì)分割。其中,車牌先驗(yàn)知識(shí)主要包括實(shí)際車牌字符的寬高比和車牌第一、二個(gè)字符不包括字符“1”。請(qǐng)參照?qǐng)D3至圖10所示,本發(fā)明實(shí)施例以車牌京LR8251為例進(jìn)行說明。SlO 車牌傾斜校正在理想情況下,車牌圖像應(yīng)該是一個(gè)矩形,但是由于拍攝時(shí)受到鏡頭與牌照角度, 車輛運(yùn)動(dòng),路面狀況等的影響,車牌照經(jīng)常會(huì)出現(xiàn)一定程度的傾斜,也有可能產(chǎn)生變形。傾斜的車牌會(huì)接著影響到車牌的垂直投影,進(jìn)而間接造成字符分割錯(cuò)誤。因此,有必要對(duì)傾斜的車牌圖像進(jìn)行校正。車牌傾斜校正體具體如下SlOO 對(duì)已經(jīng)定位得到的原始灰度車牌圖像進(jìn)行Carmy邊緣檢測(cè)。車牌的傾斜角度是根據(jù)車牌上下邊框的傾斜度來計(jì)算的,所以此處使用Carmy邊緣檢測(cè)法突出原始灰度車牌圖像的邊緣,以便于下一步檢測(cè)邊框直線。本實(shí)施例中使用了 htel公司的開源計(jì)算機(jī)視覺庫OpenCV,Canny邊緣檢測(cè)的函數(shù)原型如下void cvCanny(const CvArr氺image, CvArr氺edges, double thresholdl, double threshold2, int aperture_size = 3);其中image代表輸入圖像,edges代表輸出圖像,thresholdl和threshold當(dāng)中的小閾值用來控制邊緣鏈接,大的閾值用來控制邊緣的初始分割,aperture_SiZe為Sobel算子內(nèi)核大小。本實(shí)施例中采用的函數(shù)及參數(shù)如下cvCanny(image, edges,50,200,3);完成Carmy邊緣檢測(cè)之后車牌圖像的效果如圖4所示。SlOl 對(duì)完成Carmy邊緣檢測(cè)的車牌圖像使用概率Hough變換檢測(cè)直線,并計(jì)算出車牌的傾斜角度。直線檢測(cè)通常是利用傳統(tǒng)的Hough變換算法,但是這種算法需要對(duì)整幅圖像的每個(gè)像素進(jìn)行掃描計(jì)算,計(jì)算量大,處理時(shí)間長(zhǎng);本發(fā)明中采用了概率Hough變換來檢測(cè)圖像中的直線,以減少計(jì)算時(shí)間。概率Hough變換在OpenCV中的函數(shù)原型如下CvSeq*cvHoughLines2(CvArr^image, void*line_storage, int method, double rho, double theta, int threshold, double paraml = 0,double param2 = 0);其中,image為輸入圖像,line_storage為檢測(cè)到的線段存儲(chǔ)倉,method是Hough 變換變量,rho為與像素相關(guān)單位的距離精度,theta為弧度測(cè)量的角度精度,threshold為閾值參數(shù),paraml為最小線段長(zhǎng)度,param2表示在同一條直線上進(jìn)行碎線段連接的最大間隔。本實(shí)施例中采用的函數(shù)及參數(shù)如下cvHoughLines2 (image, lines_storage, CV_H0UGH_PR0BABILISTIC, 1,CV_PI/180, 80,30,10);在采用該函數(shù)檢測(cè)到線段之后,計(jì)算出各個(gè)線段的斜率和傾斜角度,并從小于30 度的傾斜角度中選擇最大的角度作為車牌的傾斜角度。概率Hough變換檢測(cè)到的線段如圖 5所示。S102:根據(jù)檢測(cè)到的傾斜角度對(duì)原始灰度車牌圖像,進(jìn)行相應(yīng)角度的旋轉(zhuǎn),得到水平灰度車牌圖像。本實(shí)施例中采用雙線性插值算法對(duì)原始灰度車牌圖像進(jìn)行旋轉(zhuǎn),能夠保留旋轉(zhuǎn)圖像中的細(xì)節(jié),其旋轉(zhuǎn)后的效果如圖6,可見旋轉(zhuǎn)后車牌字符沒有發(fā)生變形。Sll 車牌上下邊框去除車牌經(jīng)過傾斜校正后還會(huì)存在上下邊框的干擾,如果不去除,將會(huì)對(duì)字符切割和識(shí)別帶來不利影響。車牌上下邊框的去除具體如下SllO 對(duì)得到的水平灰度車牌圖像使用Otsu閾值法進(jìn)行二值化,得到二值車牌圖像。本實(shí)施例中,按圖像的灰度特性,將圖像分成背景和前景兩部分。Otsu閾值法通過計(jì)算最大類間方差而獲得分割門限,在較為理想的“雙峰條件下”,用Otsu閾值法能夠得到較好的分割效果。OpenCV中的二值化函數(shù)原型如下void cvThreshold(const CvArr^src,CvArr^dst,double threshold,doublemax_ value, int threshold_type);
其中,src為原始數(shù)組,dst為輸出數(shù)組,threshold為閾值,maxjalue為使用CV_ THRESH_BINARY 和 CV_THRESH_BINARY_INV 的最大值,threshold_type 為閾值類型。本實(shí)施例中使用的函數(shù)及參數(shù)如下cvThreshold(src, dst, 100,255,CV_THRESH_0TSU);如圖7所示,其為利用Otsu閾值法對(duì)經(jīng)過校正的灰度車牌圖像進(jìn)行二值化后得到
的二值圖像。Slll 利用灰度跳變法去除二值車牌圖像的車牌上下邊框。根據(jù)車牌先驗(yàn)知識(shí),經(jīng)過二值化后的車牌上有7個(gè)字符,每個(gè)字符的跳變點(diǎn)數(shù)至少為2,在字符區(qū)域,其水平黑白跳變點(diǎn)總數(shù)大于14,而非字符區(qū)域則不滿足這個(gè)特征。所以可以利用黑白跳變法來去除車牌上下邊框,其包括如下步驟SlllO 從二值圖像的二分之一處開始向上掃描,統(tǒng)計(jì)每一行的黑白跳變數(shù),如果其值小于14,則說明該行已經(jīng)不是字符區(qū)域,把它作為字符區(qū)域的首行;Sllll 從二值圖像的二分之一處開始向下掃描,統(tǒng)計(jì)每一行的黑白跳變數(shù),如果其值小于14,則說明該行已經(jīng)不是字符區(qū)域,把它作為字符區(qū)域的末行;S1112:首行和末行之間的區(qū)域即為字符區(qū)域,這樣就去除了上下邊框的影響。如圖8所示,其示出了去除邊框運(yùn)算后車牌圖像的效果圖。S12 車牌字符分割S120 對(duì)去除車牌上下邊框后的二值車牌圖像進(jìn)行垂直投影后再進(jìn)行粗分割。其中,具體步驟如下S1200 從去除車牌上下邊框后的二值車牌圖像的左邊開始列掃描,當(dāng)黑色像素?cái)?shù)小于一定閾值T (本實(shí)施例中取2),則記錄下這個(gè)列號(hào)a,放入數(shù)組ColNo [2i];S1201 如果黑色像素?cái)?shù)大于一定閾值(本實(shí)施例中取2),則記錄下這個(gè)列號(hào)b,放入數(shù)組ColNo [2i+l];結(jié)合步驟S1200得到的a,就可以確定第一個(gè)分割區(qū)域,a和b分別為分割區(qū)域的左、右邊界;S1202 按照上述步驟S1200、步驟S1201繼續(xù)掃描下去,直到掃描完所有列后,數(shù)組ColNo[i]中的偶數(shù)位置存放的是分割區(qū)域的左邊界,奇數(shù)位置存放的是分割區(qū)域的右邊界。S121 利用字符中心間距和車牌先驗(yàn)知識(shí)對(duì)粗分割后的車牌圖像進(jìn)行細(xì)分割。以國(guó)內(nèi)普通小轎車的實(shí)際車牌高度為例,國(guó)內(nèi)普通小轎車的實(shí)際車牌高度為140mm,寬度為 440mm ;實(shí)際字符高度為90mm,除“ 1”以外,其他單個(gè)字符的實(shí)際寬度為45mm ;實(shí)際字符中心間距為57mm( 二三字符中心間距為79mm)。因此實(shí)際字符寬高的比例為1 2,實(shí)際字符中心間距與車牌字符高度的比例為57 90和79 90 ( 二三字符中心間距與車牌字符高度的比例)。所以在知道車牌字符高度的情況下,就可根據(jù)實(shí)際車牌寬高比和字符中心間距與車牌字符高度的比例確定字符的寬度范圍和字符中心間距的范圍。利用以上的字符中心間距與車牌先驗(yàn)知識(shí)就可以實(shí)現(xiàn)車牌字符的細(xì)分割,其具體包括如下步驟S1210 檢查粗分割出來的區(qū)域數(shù)量。如果數(shù)量少于7則進(jìn)入后續(xù)步驟S1211 ;如果數(shù)量大于15則分割失敗,退出程序;而如果在7和15中間則進(jìn)入后續(xù)步驟S1212。S1211 增大閾值后再進(jìn)行一次粗分割,并檢查區(qū)域數(shù)量。如果數(shù)量少于7或者大于15則分割失敗,退出程序。
S1212 檢查各個(gè)分割區(qū)域的寬度,與設(shè)定閾值MaxThresholdWidth(該閾值可以根據(jù)定位到的車牌高度(height)來確定,本實(shí)施例中取為height/2^eight/10+2.5)比較。如果大于這個(gè)閾值則再次增加閾值后對(duì)圖像再進(jìn)行一次粗分割;如果沒有進(jìn)行粗分割, 則直接進(jìn)入后續(xù)步驟S1214。S1213 檢查分割出來的區(qū)域數(shù)量。如果大于15,則分割失敗,退出程序。S1214 :檢查各個(gè)分割區(qū)域的寬度。如果還存在有區(qū)域的寬度大于 MaxThresholdWidth,則分割失敗,退出程序。S1215 統(tǒng)計(jì)各個(gè)分割區(qū)域內(nèi)的白色像素點(diǎn)數(shù)量。如果分割區(qū)域數(shù)量少于7個(gè),則分割失敗,退出程序;如果分割區(qū)域內(nèi)的白色像素點(diǎn)數(shù)量小于某一閾值ThresholdNo (本實(shí)施例中取為heights),則放棄該區(qū)域。從而可以過濾掉一些小的干擾點(diǎn)以及第二和第三字符之間的那個(gè)分隔點(diǎn)。S1216:檢查每個(gè)分割區(qū)域的寬度。如果其寬度小于某一閾值(這里設(shè)為 height/10-0. 5),則把它去除。此操作可以去掉一些干擾分割區(qū)域,但保證不會(huì)把字符“1”去除。S1217 檢查分割區(qū)域數(shù)量如果少于7個(gè),則分割失敗,退出程序。S1218 :搜索下一個(gè)區(qū)域?qū)挾葷M足一定范圍(這里取為 (height/2-height/10-l. 5,height/2+height/10+l. 5))的分割區(qū)域 Ω,如果搜索不到,則分割失敗,退出程序。S1219:檢查分割區(qū)域Ω的中心位置與下一個(gè)分割區(qū)域中心位置的水平距離,檢查其是否等于Tl =車牌高度*57/90或者等于Τ2 =車牌高度*79/90。如果等于Tl,則把分割區(qū)域Ω作為第一個(gè)車牌字符區(qū)域,并進(jìn)入步驟S1220 ;如果等于Τ2,則把分割區(qū)域Ω 作為車牌第二個(gè)字符區(qū)域,進(jìn)入步驟S1221 ;如果與Tl和Τ2都不符合,則搜索下一個(gè)區(qū)域?qū)挾葷M足一定范圍的分割區(qū)域Ω,重復(fù)執(zhí)行步驟S1219。S1220 找到的分割區(qū)域Ω為第一個(gè)車牌字符區(qū)域(漢字區(qū)域),判斷其后面的分割區(qū)域數(shù)量,如果數(shù)量大于等于6,則順序讀取后面六個(gè)區(qū)域即組成了車牌字符區(qū)域,分割結(jié)束,退出程序;如果數(shù)量小于6,則分割失敗,退出程序。S1221 找到的分割區(qū)域Ω為第二個(gè)字符區(qū)域,說明漢字可能是由兩部分或者三部分組成,則檢查后面的分割區(qū)域數(shù)量,如果少于5個(gè),則分割失敗,退出程序。S1222 檢查區(qū)域Ω前面的分割區(qū)域數(shù)量。如果小于2,則分割失敗,退出程序;如果等于2,進(jìn)入步驟S1223 ;如果大于等于3,進(jìn)入步驟S1224。S1223 合并區(qū)域Ω前面兩個(gè)區(qū)域,并檢查合并后的區(qū)域?qū)挾取H绻鋵挾葷M足一定范圍(本實(shí)施例中取為(height/2-height/10-l. 5,height/2+height/10+l. 5)),且合并區(qū)域與區(qū)域Ω的中心水平距離大致為車牌高度*57/90,則認(rèn)為合并后的區(qū)域即為漢字區(qū)域。接著順序讀取區(qū)域Ω后面的五個(gè)區(qū)域,組成車牌字符區(qū)域,分割結(jié)束,退出程序;如果不滿足上面其中一個(gè)要求,則分割失敗,退出程序。S1224 先合并區(qū)域Ω前面兩個(gè)區(qū)域,并檢查合并后的區(qū)域?qū)挾?。如果其寬度滿足一定范圍(本實(shí)施例中取為(height/2-height/10-l. 5,height/2+height/10+l. 5)),且合并區(qū)域與區(qū)域Ω的中心水平距離大致為車牌高度*57/90,則認(rèn)為合并后的區(qū)域即為漢字區(qū)域。接著順序讀取區(qū)域Ω后面的五個(gè)區(qū)域,組成車牌字符區(qū)域,分割結(jié)束,退出程序;如果合并后的寬度大于(height/2^eight/10+1.5),則分割失敗,退出程序;如果合并后的寬度小于(height/2-height/10-l. 5),則進(jìn)入步驟 S1225。S1225 合并區(qū)域Ω前面三個(gè)區(qū)域,并檢查合并后的區(qū)域?qū)挾?。如果其寬度滿足一定范圍(本實(shí)施例中取為(height/2-height/10-l. 5,height/2+height/10+l. 5)),且合并區(qū)域與區(qū)域Ω的中心水平距離大致為車牌高度*57/90,則認(rèn)為合并后的區(qū)域即為漢字區(qū)域。接著順序讀取區(qū)域Ω后面的五個(gè)區(qū)域,組成車牌字符區(qū)域,分割結(jié)束,退出程序;如果不滿足上面其中一個(gè)要求,則分割失敗,退出程序。如圖9所示,其示出了字符分割后的車牌圖像。S13 字符大小歸一化車牌圖像的大小不一往往導(dǎo)致分割出來的字符也大小不一,為了有助于后續(xù)的字符識(shí)別,還需要對(duì)切割下來的字符大小進(jìn)行歸一化。本實(shí)施例中把字符歸一化到36x20大小。在OpenCV中,改變圖像大小的函數(shù)原型如下Void cvResize(const CvArr^src, CvArr^dst, int interpolation = CV_INTER_ LINEAR);src為輸入圖像,dst為輸出圖像,interpolation為插值方法。本實(shí)施例中使用的函數(shù)及參數(shù)如下cvResize (src, dst, CV_INTER_NN)。如圖10所示,其示出了分割出來并歸一化后的車牌字符圖示。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種車牌字符分割方法,其特征在于,包括如下步驟510車牌傾斜校正;511車牌上下邊框去除;512車牌字符分割;513字符大小歸一化。
2.如權(quán)利要求1所述的車牌字符分割方法,其特征在于所述步驟SlO包括有如下步驟5100對(duì)已經(jīng)定位得到的原始灰度車牌圖像進(jìn)行Carmy邊緣檢測(cè);5101對(duì)已完成Carmy邊緣檢測(cè)的車牌圖像使用概率Hough變換檢測(cè)直線,并計(jì)算出車牌的傾斜角度;5102根據(jù)步驟SlOl所得到的車牌傾斜角度對(duì)原始灰度車牌圖像進(jìn)行相應(yīng)角度的旋轉(zhuǎn),以得到水平灰度車牌圖像。
3.如權(quán)利要求2所述的車牌字符分割方法,其特征在于所述步驟Sll包括有如下步驟5110對(duì)步驟S102中得到的水平灰度車牌圖像使用Otsu閾值法進(jìn)行二值化,得到二值車牌圖像;5111利用灰度跳變法去除二值車牌圖像的車牌上下邊框。
4.如權(quán)利要求3所述的車牌字符分割方法,其特征在于所述步驟S12包括有如下步驟5120對(duì)去除車牌上下邊框后的二值車牌圖像進(jìn)行垂直投影后再進(jìn)行粗分割;5121利用字符中心間距和車牌先驗(yàn)知識(shí)對(duì)粗分割后的車牌圖像進(jìn)行細(xì)分割。
5.如權(quán)利要求4所述的車牌字符分割方法,其特征在于在所述步驟S102中,采用雙線性插值算法對(duì)原始灰度車牌圖像進(jìn)行旋轉(zhuǎn)。
6.如權(quán)利要求5所述的車牌字符分割方法,其特征在于在所述步驟SllO中,按圖像的灰度特性,使用Otsu算法將圖像分成背景和前景兩部分。
7.如權(quán)利要求6所述的車牌字符分割方法,其特征在于所述步驟Slll包括如下步驟51110從二值圖像的二分之一處開始向上掃描,統(tǒng)計(jì)每一行的黑白跳變數(shù),如果其值小于14,則說明該行已經(jīng)不是字符區(qū)域,把它作為字符區(qū)域的首行;51111從二值圖像的二分之一處開始向下掃描,統(tǒng)計(jì)每一行的黑白跳變數(shù),如果其值小于14,則說明該行已經(jīng)不是字符區(qū)域,把它作為字符區(qū)域的末行;51112首行和末行之間的區(qū)域即為字符區(qū)域,這樣就去除了上下邊框的影響。
8.如權(quán)利要求7所述的車牌字符分割方法,其特征在于所述步驟S120包括如下步驟51200從去除車牌上下邊框后的二值車牌圖像的左邊開始列掃描,當(dāng)黑色像素?cái)?shù)小于一定閾值τ時(shí),則記錄下這個(gè)列號(hào)a,放入數(shù)組ColNo [2i];51201如果黑色像素?cái)?shù)大于一定閾值,則記錄下這個(gè)列號(hào)b,放入數(shù)組ColNo [2i+l]; 結(jié)合步驟S1200得到的a,就可以確定第一個(gè)分割區(qū)域,a和b分別為分割區(qū)域的左、右邊界;S1202 按照上述步驟S1200、步驟S1201繼續(xù)掃描下去,直到掃描完所有列后,數(shù)組 ColNoti]中的偶數(shù)位置存放的是分割區(qū)域的左邊界,奇數(shù)位置存放的是分割區(qū)域的右邊界。
9.如權(quán)利要求8所述的車牌字符分割方法,其特征在于所述步驟S121包括如下步驟51210檢查粗分割出來的區(qū)域數(shù)量,如果數(shù)量少于7則進(jìn)入后續(xù)步驟S1211 ;如果數(shù)量大于15則分割失敗,退出程序;而如果在7和15中間則進(jìn)入后續(xù)步驟S1212 ;51211增大閾值后再進(jìn)行一次粗分割,并檢查區(qū)域數(shù)量,如果數(shù)量少于7或者大于15 則分割失敗,退出程序;51212檢查各個(gè)分割區(qū)域的寬度,與設(shè)定閾值MaxThresholdWidth比較,如果大于這個(gè)閾值則再次增加閾值后對(duì)圖像再進(jìn)行一次粗分割;如果沒有進(jìn)行粗分割,則直接進(jìn)入后續(xù)步驟S1214。51213檢查分割出來的區(qū)域數(shù)量,如果大于15,則分割失敗,退出程序;51214檢查各個(gè)分割區(qū)域的寬度,如果還存在有區(qū)域的寬度大于 MaxThresholdWidth,則分割失敗,退出程序;S1215:統(tǒng)計(jì)各個(gè)分割區(qū)域內(nèi)的白色像素點(diǎn)數(shù)量,如果分割區(qū)域內(nèi)的白色像素點(diǎn)數(shù)量小于某一閾值ThresholdNo,則放棄該區(qū)域,從而可以過濾掉一些小的干擾點(diǎn)以及第二和第三字符之間的那個(gè)分隔點(diǎn);51216檢查每個(gè)分割區(qū)域的寬度,如果其寬度小于某一閾值,則把它去除,此操作可以去掉一些干擾分割區(qū)域,但保證不會(huì)把字符“ 1”去除;51217檢查分割區(qū)域數(shù)量如果少于7個(gè),則分割失敗,退出程序;51218搜索下一個(gè)區(qū)域?qū)挾仍?height/2-height/10-l. 5 和 height/2+height/10+l. 5 之間的分割區(qū)域Ω,如果搜索不到,則分割失敗,退出程序;S1219:檢查分割區(qū)域Ω的中心位置與下一個(gè)分割區(qū)域中心位置的水平距離,檢查其是否等于Tl =車牌高度*57/90或者等于Τ2 =車牌高度*79/90 ;如果等于Tl,則把分割區(qū)域Ω作為第一個(gè)車牌字符區(qū)域,并進(jìn)入步驟S1220;如果等于Τ2,則把分割區(qū)域Ω作為車牌第二個(gè)字符區(qū)域,進(jìn)入步驟S1221 ;如果與Tl和Τ2都不符合,則搜索下一個(gè)區(qū)域?qū)挾葷M足一定范圍的分割區(qū)域Ω,重復(fù)執(zhí)行步驟S1219 ;S1220:找到的分割區(qū)域Ω為第一個(gè)車牌字符區(qū)域,判斷其后面的分割區(qū)域數(shù)量,如果數(shù)量大于等于6,則順序讀取后面六個(gè)區(qū)域即組成了車牌字符區(qū)域,分割結(jié)束,退出程序; 如果數(shù)量小于6,則分割失敗,退出程序;S1221 找到的分割區(qū)域Ω為第二個(gè)字符區(qū)域,說明漢字可能是由兩部分或者三部分組成,則檢查后面的分割區(qū)域數(shù)量,如果少于5個(gè),則分割失敗,退出程序;S1222:檢查區(qū)域Ω前面的分割區(qū)域數(shù)量,如果小于2,則分割失敗,退出程序;如果等于2,進(jìn)入步驟S1223 ;如果大于等于3,進(jìn)入步驟S1224 ;S1223:合并區(qū)域Ω前面兩個(gè)區(qū)域,并檢查合并后的區(qū)域?qū)挾?,如果其寬度?height/2-height/10-l. 5 和 height/2+height/10+l. 5 之間,且合并區(qū)域與區(qū)域 Ω 的中心水平距離大致為車牌高度*57/90,則認(rèn)為合并后的區(qū)域即為漢字區(qū)域,接著順序讀取區(qū)域 Ω后面的五個(gè)區(qū)域,組成車牌字符區(qū)域,分割結(jié)束,退出程序;如果不滿足上面其中一個(gè)要求,則分割失敗,退出程序;S1224:先合并區(qū)域Ω前面兩個(gè)區(qū)域,并檢查合并后的區(qū)域?qū)挾?,如果其寬度?height/2-height/10-l. 5 和 height/2+height/10+l. 5 之間,且合并區(qū)域與區(qū)域 Ω 的中心水平距離大致為車牌高度*57/90,則認(rèn)為合并后的區(qū)域即為漢字區(qū)域,接著順序讀取區(qū)域Ω后面的五個(gè)區(qū)域,組成車牌字符區(qū)域,分割結(jié)束,退出程序;如果合并后的寬度大于height/2^eight/10+l. 5,則分割失敗,退出程序;如果合并后的寬度小于 height/2-height/10-l. 5,則進(jìn)入步驟 S1225 ;S1225:合并區(qū)域Ω前面三個(gè)區(qū)域,并檢查合并后的區(qū)域?qū)挾龋蝗绻鋵挾仍?height/2-height/10-l. 5 和 height/2+height/10+l. 5 之間,且合并區(qū)域與區(qū)域 Ω 的中心水平距離大致為車牌高度*57/90,則認(rèn)為合并后的區(qū)域即為漢字區(qū)域;接著順序讀取區(qū)域 Ω后面的五個(gè)區(qū)域,組成車牌字符區(qū)域,分割結(jié)束,退出程序;如果不滿足上面其中一個(gè)要求,則分割失敗,退出程序。
全文摘要
本發(fā)明公開了一種車牌字符分割方法,包括如下步驟S10車牌傾斜校正;S11車牌上下邊框去除;S12車牌字符分割;S13字符大小歸一化。本發(fā)明車牌字符分割方法克服了已有車牌字符分割方法受車牌背景影響大、分割錯(cuò)誤率高、計(jì)算量大、執(zhí)行時(shí)間長(zhǎng)的不足,其基于垂直投影和字符中心間距的車牌字符分割,先利用垂直投影法實(shí)現(xiàn)車牌字符的粗分割,然后根據(jù)車牌的字符中心間距、車牌字符寬度以及車牌先驗(yàn)知識(shí)找到車牌的第一個(gè)或者第二個(gè)字符分割區(qū)域,實(shí)現(xiàn)漢字字符的合并和數(shù)字和英文字符的細(xì)分割。本發(fā)明車牌字符分割方法計(jì)算復(fù)雜度低,抗干擾能力強(qiáng),能夠從復(fù)雜背景中分割出字符,具有很高的可靠性。
文檔編號(hào)G06K9/34GK102496019SQ20111040522
公開日2012年6月13日 申請(qǐng)日期2011年12月8日 優(yōu)先權(quán)日2011年12月8日
發(fā)明者俞勝鋒, 吳越, 孟利民, 張標(biāo)標(biāo), 徐志江, 杜克林, 王毅, 王輝 申請(qǐng)人:杭州銀江智慧交通技術(shù)有限公司, 浙江銀江交通技術(shù)有限公司, 銀江股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
滕州市| 敦化市| 凤庆县| 仙桃市| 红河县| 甘谷县| 台中县| 永泰县| 邻水| 镇康县| 远安县| 渑池县| 扬州市| 泗阳县| 八宿县| 江源县| 阳谷县| 马公市| 耿马| 乌海市| 福建省| 谷城县| 晋城| 峨边| 清涧县| 乌兰县| 望谟县| 罗田县| 聂荣县| 上杭县| 涪陵区| 张家川| 黄骅市| 阿坝县| 鄂托克旗| 芜湖县| 枝江市| 通道| 沾益县| 分宜县| 广安市|