下载后可任意编辑基于Matlab的车牌定位与分割经典算法I=imread('car.jpg'); %读取图像figure(); subplot(3,2,1),imshow(I), title('原始图像');I1=rgb2gray(I);%转化为灰度图像subplot(3,2,2),imshow(I1),title('灰度图像');I2=edge(I1,'robert',0.09,'both');%采纳robert算子进行边缘检测subplot(3,2,3),imshow(I2),title('边缘检测后图像');下载后可任意编辑se=[1;1;1]; %线型结构元素 I3=imerode(I2,se); %腐蚀图像subplot(3,2,4),imshow(I3),title('腐蚀后边缘图像');se=strel('rectangle',[25,25]); 矩形结构元素I4=imclose(I3,se);%图像聚类、填充图像subplot(3,2,5),imshow(I4),title('填充后图像');下载后可任意编辑I5=bwareaopen(I4,2000);%去除聚团灰度值小于2000的部分subplot(3,2,6),imshow(I5),title('形态滤波后图像');[y,x,z]=size(I5);I6=double(I5); Y1=zeros(y,1); for i=1:y for j=1:x下载后可任意编辑 if(I6(i,j,1)==1) Y1(i,1)= Y1(i,1)+1; end end end [temp MaxY]=max(Y1); figure(); subplot(3,2,1),plot(0:y-1,Y1),title('行方向像素点灰度值累计和'),xlabel('行值'),ylabel('像素'); %求的车牌的行起始位置和终止位置 PY1=MaxY; while ((Y1(PY1,1)>=50)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while ((Y1(PY2,1)>=50)&&(PY2PX1))下载后可任意编辑 PX2=PX2-1; end PX1=PX1-1; PX2=PX2+1; %分割出车牌图像%dw=I(PY1:PY2,PX1:PX2,:); subplot(3,2,3),imshow(dw),title('定位剪切后的彩色车牌图像')4.2 车牌字符分割确定车牌位置后下一步的任务就是进行字符切分分离出车牌号码的全部字符图像。if isrgb(I) I1 = rgb2gray(I); %将RGB图像转化为灰度图像else I1=I; endg_max=double(max(max(I1)));g_min=double(min(min(I1)));T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值[m,n]=size(I1);% d:二值图像%h=graythresh(I1);下载后可任意编辑I1=im2bw(I1,T/256);sub...