资源描述:
《车牌识别的matlab程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、附录车牌识别程序clear;closeall;%Step1获取图像装入待处理彩色图像并显示原始图像Scolor=imread('3.jpg');%imread函数读取图像文件%将彩色图像转换为黑白并显示Sgray=rgb2gray(Scolor);%rgb2gray转换成灰度图figure,imshow(Scolor),title('原始彩色图像');%figure命令同时显示两幅图figure,imshow(Sgray),title('原始黑白图像');%Step2图像预处理对Sgray原始黑白图像进行开操作得到图像
2、背景s=strel('disk',13);%strel函数Bgray=imopen(Sgray,s);%打开sgrays图像figure,imshow(Bgray);title('背景图像');%输出背景图像%用原始图像与背景图像作减法,增强图像Egray=imsubtract(Sgray,Bgray);%两幅图相减figure,imshow(Egray);title('增强黑白图像');%输出黑白图像%Step3取得最佳阈值,将图像二值化fmax1=double(max(max(Egray)));%egray的最大值
3、并输出双精度型fmin1=double(min(min(Egray)));%egray的最小值并输出双精度型level=(fmax1-(fmax1-fmin1)/3)/255;%获得最佳阈值bw22=im2bw(Egray,level);%转换图像为二进制图像bw2=double(bw22);%Step4对得到二值图像作开闭操作进行滤波figure,imshow(bw2);title('图像二值化');%得到二值图像grd=edge(bw2,'canny')%用canny算子识别强度图像中的边界figure,imsho
4、w(grd);title('图像边缘提取');%输出图像边缘bg1=imclose(grd,strel('rectangle',[5,19]));%取矩形框的闭运算figure,imshow(bg1);title('图像闭运算[5,19]');%输出闭运算的图像bg3=imopen(bg1,strel('rectangle',[5,19]));%取矩形框的开运算figure,imshow(bg3);title('图像开运算[5,19]');%输出开运算的图像bg2=imopen(bg3,strel('rectangle
5、',[19,1]));%取矩形框的开运算figure,imshow(bg2);title('图像开运算[19,1]');%输出开运算的图像%Step5对二值图像进行区域提取,并计算区域特征参数。进行区域特征参数比较,提取车牌区域[L,num]=bwlabel(bg2,8);%标注二进制图像中已连接的部分Feastats=imfeature(L,'basic');%计算图像区域的特征尺寸Area=[Feastats.Area];%区域面积BoundingBox=[Feastats.BoundingBox];%[xywid
6、thheight]车牌框架大小RGB=label2rgb(L,'spring','k','shuffle');%标志图像向RGB图像转换figure,imshow(RGB);title('图像彩色标记');%输出框架的彩色图像lx=0;forl=1:numwidth=BoundingBox((l-1)*4+3);%框架宽度的计算hight=BoundingBox((l-1)*4+4);%框架高度的计算if(width>98&width<160&hight>25&hight<50)%框架的宽度和高度的范围lx=lx+1;
7、Getok(lx)=l;endendfork=1:lxl=Getok(k);startcol=BoundingBox((l-1)*4+1)-2;%开始列startrow=BoundingBox((l-1)*4+2)-2;%开始行width=BoundingBox((l-1)*4+3)+8;%车牌宽hight=BoundingBox((l-1)*4+4)+2;%车牌高rato=width/hight;%计算车牌长宽比ifrato>2&rato<4break;endendsbw1=bw2(startrow:startrow
8、+hight,startcol:startcol+width-1);%获取车牌二值子图subcol1=Sgray(startrow:startrow+hight,startcol:startcol+width-1);%获取车牌灰度子图figure,subplot(2,1,1),imshow(subcol1);title('车牌灰度