资源描述:
《车牌识别的matlab程序(程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、clcclearcloseallI=imread('chepai.jpg');subplot(3,2,1);imshow(I),title('原始图像');I_gray=rgb2gray(I);subplot(3,2,2),imshow(I_gray),title('灰度图像');%======================形态学预处理======================I_edge=edge(I_gray,'sobel');subplot(3,2,3),imshow(I_edge),title('边缘检测后图像');se=[1;1;1];I_erod
2、e=imerode(I_edge,se);subplot(3,2,4),imshow(I_erode),title('腐蚀后边缘图像');se=strel('rectangle',[25,25]);I_close=imclose(I_erode,se);%图像闭合、填充图像subplot(3,2,5),imshow(I_close),title('填充后图像');I_final=bwareaopen(I_close,2000);%去除聚团灰度值小于2000的部分subplot(3,2,6),imshow(I_final),title('形态滤波后图像');%==
3、========================车牌分割=============================I_new=zeros(size(I_final,1),size(I_final,2));location_of_1=[];fori=1:size(I_final,1)%寻找二值图像中白的点的位置forj=1:size(I_final,2)ifI_final(i,j)==1;newlocation=[i,j];location_of_1=[location_of_1;newlocation];endendendmini=inf;maxi=0;fori
4、=1:size(location_of_1,1)%寻找所有白点中,x坐标与y坐标的和最大,最小的两个点的位置temp=location_of_1(i,1)+location_of_1(i,2);iftempmaximaxi=temp;b=i;endendfirst_point=location_of_1(a,:);%和最小的点为车牌的左上角last_point=location_of_1(b,:);%和最大的点为车牌的右下角x1=first_point(1)+4;%坐标值修正x2=last_point(1
5、)-4;y1=first_point(2)+4;y2=last_point(2)-4;I_plate=I(x1:x2,y1:y2);I_plate=OTSU(I_plate);%以OTSU算法对分割出的车牌进行自适应二值化处理I_plate=bwareaopen(I_plate,50);figure,imshow(I_plate),title('车牌提取')%画出最终车牌%=========================字符分割============================X=[];%用来存放水平分割线的横坐标flag=0;forj=1:size(I
6、_plate,2)sum_y=sum(I_plate(:,j));iflogical(sum_y)~=flag%列和有变化时,记录下此列X=[Xj];flag=logical(sum_y);endendfigureforn=1:7char=I_plate(:,X(2*n-1):X(2*n)-1);%进行粗分割fori=1:size(char,1)%这两个for循环对分割字符的上下进行裁剪ifsum(char(i,:))~=0top=i;breakendendfori=1:size(char,1)ifsum(char(size(char,1)-i,:))~=0bo
7、ttom=size(char,1)-i;breakendendchar=char(top:bottom,:);subplot(2,4,n);imshow(char);char=imresize(char,[32,16],'nearest');%归一化为32*16的大小,以便模板匹配eval(strcat('Char_',num2str(n),'=char;'));%将分割的字符放入Char_i中end%==========================字符识别=============================char=[];store1=strcat(
8、'京','津','沪',