车牌识别的matlab程序(程序-讲解-模板)————————————————————————————————作者:————————————————————————————————日期: learcloseallI=imread('');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_erode=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('形态滤波后图像');%==========================车牌分割=============================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=1:size(location_of_1,1)%寻找所有白点中,x坐标与y坐标的和最大,最小的两个点的位置temp=location_of_1(i,1)+location_of_1(i,2);iftemp<minimini=temp;a=i;endiftemp>maximaxi=temp;b=i;endendfirst_point=location_of_1(a,:);%和最小的点为车牌的左上角last_point=location_of_1(b,:);%和最大的点为车牌的右下角x1=first_point(1)+4;%坐标值修正x2=last_point(1)-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('
车牌识别的matlab程序程序讲解模板 来自淘豆网m.daumloan.com转载请标明出处.