《matlab車牌識(shí)別系統(tǒng)算法源碼論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《matlab車牌識(shí)別系統(tǒng)算法源碼論文(3頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、matlab車牌識(shí)別系統(tǒng)算法源碼-論文matlab車牌識(shí)別系統(tǒng)算法源碼待處理的圖像如下所示。圖像整體比較清晰干凈,車牌方向端正,字體清楚,與周圍顏色的反差較大。要定位汽車牌照并識(shí)別其中的字符,我們采用Matlab平臺(tái)提供的一些圖像處理函數(shù),以傅立葉變換通過字符模板與待處理的圖像匹配為核心思想?;痉椒ㄈ缦拢?、讀取待處理的圖像,將其轉(zhuǎn)化為二值圖像。經(jīng)試驗(yàn),采用門限值為0.2附近時(shí)車牌字符最為清楚,雜點(diǎn)最少(如下左圖)。I = imread(car.jpg); I2 = rgb2gray(I);I4 = im2bw(I2, 0.2);2、去除圖像中面積過小的,可以肯定不是車牌的區(qū)域。bw = b
2、wareaopen(I4, 500);3、為定位車牌,將白色區(qū)域膨脹,腐蝕去無關(guān)的小物件,包括車牌字符(如下右圖)。se = strel(disk,15);bw = imclose(bw,se); 4、此時(shí)車牌所在白色連通域已清晰可見,但在黑色區(qū)域以外,是一個(gè)更大的白色連通域,將車牌所在連通域包圍了。有必要將其填充。bw = imfill(bw,1 1);5、查找連通域邊界。同時(shí)保留此圖形,以備后面在它上面做標(biāo)記。B,L = bwboundaries(bw,4);imshow(label2rgb(L, jet, .5 .5 .5)hold onfor k = 1:length(B)bounda
3、ry = Bk;plot(boundary(:,2),boundary(:,1),w,LineWidth,2)end6、找出所有連通域中最可能是車牌的那一個(gè)。判斷的標(biāo)準(zhǔn)是:測(cè)得該車牌的長(zhǎng)寬比約為4.5:1,其面積和周長(zhǎng)存在關(guān)系:(4.5LL)/(2(4.51)L)21/27,以此為特征,取metric=27*area/perimeter2作為連通域的匹配度,它越接近1,說明對(duì)應(yīng)的連通域越有可能是4.5:1的矩形。% 找到每個(gè)連通域的質(zhì)心stats = regionprops(L,Area,Centroid);% 循環(huán)歷遍每個(gè)連通域的邊界for k = 1:length(B) % 獲取一條邊界上
4、的所有點(diǎn) boundary = Bk; % 計(jì)算邊界周長(zhǎng) delta_sq = diff(boundary).2; perimeter = sum(sqrt(sum(delta_sq,2); % 獲取邊界所圍面積 area = stats(k).Area; % 計(jì)算匹配度 metric = 27*area/perimeter2; % 要顯示的匹配度字串 metric_string = sprintf(%2.2f,metric); % 標(biāo)記出匹配度接近1的連通域 if metric = 0.9 & metric thresh); 對(duì)照左右兩圖,可以說明字符“P”被識(shí)別和定位了。同樣的方法,可以識(shí)
5、別和定位其它字符。這種方法總體上比較容易理解,Matlab的函數(shù)隱藏了傅立葉變換等復(fù)雜的計(jì)算。缺點(diǎn):在定位車牌方面,程序?qū)iT按本題給定圖像的特點(diǎn)設(shè)計(jì),沒有普適性。字符識(shí)別方面,僅能識(shí)別與給定模板基本一致的字符。車牌大小、角度、光線、完整性、清晰度發(fā)生變化后,就無法識(shí)別了。同時(shí)對(duì)于“8”與“B”這樣相似的字符,識(shí)別時(shí)常?;煜?。* 參考文獻(xiàn):1、Applications of the Fourier Transform, Matlab 7.0 Help Documents, The MathWorks.2、Identifying Round Objects, Matlab 7.0 Demos, The MathWorks.1024 101000?