資源描述:
《圖像分割識(shí)別》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實(shí)驗(yàn)報(bào)告課程名稱數(shù)字圖像處理題目汽車車牌定位與字符識(shí)別7汽車車牌定位與字符識(shí)別一、實(shí)驗(yàn)?zāi)康模?、鞏固理論課上所學(xué)的知識(shí)。2、鍛煉動(dòng)手能力、激發(fā)研究潛能,增強(qiáng)理論聯(lián)系實(shí)際的能力。二、設(shè)計(jì)原理與步驟:定位汽車車牌并識(shí)別其中的字符,采用Matlab平臺(tái)提供的一些圖像處理函數(shù),以傅立葉變換通過字符模板與待處理的圖像匹配為核心思想?;痉椒ㄈ缦拢?、讀取待處理的圖像,將其轉(zhuǎn)化為二值圖像。2、去除圖像中不是車牌的區(qū)域。3、為定位車牌,將白色區(qū)域膨脹,腐蝕去無關(guān)的小物件,包括車牌字符。4、此時(shí)車牌所在白色連通域已清晰可見,但一個(gè)更大的連通域?qū)④嚺扑谶B通域包圍了,需將其填充。5、查找連通域邊
2、界。同時(shí)保留此圖形,以備后面在它上面做標(biāo)記。6、找出所有連通域中最可能是車牌的那一個(gè)。判斷的標(biāo)準(zhǔn)是:測(cè)得該車牌的長寬比約為X:1,其面積和周長存在關(guān)系:(X×L×L)/(2×(X+1)×L)2≈1/Y,以此為特征,取metric=Y*area/perimeter^2作為連通域的匹配度,它越接近1,說明對(duì)應(yīng)的連通域越有可能是X:1的矩形。7、將車牌圖像反白處理,并擴(kuò)充為256×256的方陣,以便傅立葉變換中矩陣旋轉(zhuǎn)運(yùn)算的進(jìn)行。8、從文件讀取一個(gè)字符模板。對(duì)圖像計(jì)算傅立葉描述子,用預(yù)先定義好的決策函數(shù)對(duì)描述子進(jìn)行計(jì)算。變換后的圖像中,亮度的高低指示相應(yīng)區(qū)域與模板的匹配程度。9、確定
3、一個(gè)合適的門限,顯示亮度大于該門限的點(diǎn),也就是與模板的匹配程度最高的位置。10、對(duì)照?qǐng)D片,可以說明相應(yīng)字符被識(shí)別和定位了。三、實(shí)驗(yàn)記錄及分析:待處理的圖像如下所示。圖像整體比較清晰干凈,車牌方向端正,字體清楚,與周圍顏色的反差較大。讀取待處理的圖像,將其轉(zhuǎn)化為二值圖像。經(jīng)試驗(yàn),采用門限值為0.2附近時(shí)車牌字符最為清楚,雜點(diǎn)最少。I=imread('car.jpg');I2=rgb2gray(I);I4=im2bw(I2,0.2);7原始圖像二值圖像去除圖像中面積過小的,可以肯定不是車牌的區(qū)域。為定位車牌,將白色區(qū)域膨脹,腐蝕去無關(guān)的小物件,包括車牌字符。此時(shí)車牌所在白色連通域已
4、清晰可見,但在黑色區(qū)域以外,是一個(gè)更大的白色連通域,將車牌所在連通域包圍了。有必要將其填充。查找連通域邊界。同時(shí)保留此圖形,以備后面在它上面做標(biāo)記。bw=imfill(bw,[11]);[B,L]=bwboundaries(bw,4);imshow(label2rgb(L,@jet,[.5.5.5]))holdonfork=1:length(B)boundary=B{k};plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)end從對(duì)象中移除小對(duì)象平滑圖像的輪廓找出所有連通域中最可能是車牌的那一個(gè)。判斷的標(biāo)準(zhǔn)是:測(cè)得該車牌的長寬
5、比約為4.5:1,其面積和周長存在關(guān)系:(4.5×L×L)/(2×(4.5+1)×L)2≈1/27,以此為特征,取metric=27*area/perimeter^2作為連通域的匹配度,它越接近1,說明對(duì)應(yīng)的連通域越有可能是4.5:1的矩形。%找到每個(gè)連通域的質(zhì)心stats=regionprops(L,'Area','Centroid');%循環(huán)歷遍每個(gè)連通域的邊界7%找到每個(gè)連通域的質(zhì)心stats=regionprops(L,'Area','Centroid');%循環(huán)歷遍每個(gè)連通域的邊界fork=1:length(B)%獲取一條邊界上的所有點(diǎn)boundary=B{k};%計(jì)
6、算邊界周長delta_sq=diff(boundary).^2;perimeter=sum(sqrt(sum(delta_sq,2)));%獲取邊界所圍面積area=stats(k).Area;%計(jì)算匹配度metric=27*area/perimeter^2;%要顯示的匹配度字串metric_string=sprintf('%2.2f',metric);%標(biāo)記出匹配度接近1的連通域ifmetric>=0.9&&metric<=1.1centroid=stats(k).Centroid;plot(centroid(1),centroid(2),'ko');%提取該連通域所對(duì)應(yīng)在二
7、值圖像中的矩形區(qū)域goalboundary=boundary;s=min(goalboundary,[],1);e=max(goalboundary,[],1);goal=imcrop(I4,[s(2)s(1)e(2)-s(2)e(1)-s(1)]);end%顯示匹配度字串text(boundary(1,2)-35,boundary(1,1)+13,...metric_string,'Color','g',...'FontSize',14,'FontWeight','bold');end圖示