【正文】
基于matlab的車牌識(shí)別系統(tǒng)一、對(duì)車輛圖像進(jìn)行預(yù)處理:function [d]=main(jpg)[filename, pathname] = uigetfile({39。*.jpg39。, 39。JPEG 文件(*.jpg)39。})。if(filename == 0), return, endglobal FILENAME %定義全局變量FILENAME = [pathname filename]。I=imread(FILENAME)。figure(1),imshow(I)。title(39。原圖像39。)。%將車牌的原圖顯示出來結(jié)果如下::I1=rgb2gray(I)。%將彩圖轉(zhuǎn)換為灰度圖figure(2),subplot(1,2,1),imshow(I1)。title(39?;叶葓D像39。)。figure(2),subplot(1,2,2),imhist(I1)。title(39?;叶葓D直方圖39。)。%繪制灰度圖的直方圖結(jié)果如下所示:3. 用roberts算子進(jìn)行邊緣檢測(cè):I2=edge(I1,39。roberts39。,39。both39。)。%,用roberts算子進(jìn)行邊緣檢測(cè)figure(3),imshow(I2)。title(39。roberts 算子邊緣檢測(cè)圖像39。)。結(jié)果如下::se=[1。1。1]。I3=imerode(I2,se)。%對(duì)圖像實(shí)施腐蝕操作,即膨脹的反操作figure(4),imshow(I3)。title(39。腐蝕后圖像39。)。se=strel(39。rectangle39。,[25,25])。%構(gòu)造結(jié)構(gòu)元素以正方形構(gòu)造一個(gè)seI4=imclose(I3,se)。% 圖像聚類、填充圖像figure(5),imshow(I4)。title(39。平滑圖像39。)。結(jié)果如下所示:6. 刪除二值圖像的小對(duì)象I5=bwareaopen(I4,2000)。% 去除聚團(tuán)灰度值小于2000的部分figure(6),imshow(I5)。title(39。從對(duì)象中移除小的對(duì)象39。)。結(jié)果如下所示 :二、車牌定位[y,x,z]=size(I5)。%返回I5各維的尺寸,存儲(chǔ)在x,y,z中myI=double(I5)。%將I5轉(zhuǎn)換成雙精度tic %tic表示計(jì)時(shí)的開始,toc表示計(jì)時(shí)的結(jié)束 Blue_y=zeros(y,1)。%產(chǎn)生一個(gè)y*1的零陣 for i=1:y for j=1:x if(myI(i,j,1)==1) %如果myI(i,j,1)即myI的圖像中坐標(biāo)為(i,j)的點(diǎn)值為1,即該點(diǎn)為車牌背景顏色藍(lán)色 %則Blue_y(i,1)的值加1 Blue_y(i,1)= Blue_y(i,1)+1。%藍(lán)色像素點(diǎn)統(tǒng)計(jì) end end end [temp MaxY]=max(Blue_y)。%Y方向車牌區(qū)域確定 %temp為向量white_y的元素中的最大值,MaxY為該值的索引 PY1=MaxY。 while ((Blue_y(PY1,1)=5)amp。amp。(PY11)) PY1=PY11。 end PY2=MaxY。 while ((Blue_y(PY2,1)=5)amp。amp。(PY2y)) PY2=PY2+1。 end IY=I(PY1:PY2,:,:)。 %x方向車牌區(qū)域確定 %%%%%% X方向 %%%%%%%%% Blue_x=zeros(1,x)。%進(jìn)一步確定x方向的車牌區(qū)域 for j=1:x for i=PY1:PY2 if(myI(i,j,1)==1) Blue_x(1,j)= Blue_x(1,j)+1。 end end end PX1=1。 whil