车牌识别的matlab程序--(详细注释,并有使用注意点)

车牌识别的matlab程序--(详细注释,并有使用注意点)

ID:23821006

大小:34.88 KB

页数:11页

时间:2018-11-10

车牌识别的matlab程序--(详细注释,并有使用注意点)_第1页
车牌识别的matlab程序--(详细注释,并有使用注意点)_第2页
车牌识别的matlab程序--(详细注释,并有使用注意点)_第3页
车牌识别的matlab程序--(详细注释,并有使用注意点)_第4页
车牌识别的matlab程序--(详细注释,并有使用注意点)_第5页
资源描述:

《车牌识别的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原始黑白图像进行开操作得到图像背景s=strel('disk',13);%strel函数

2、Bgray=imopen(Sgray,s);%打开sgrays图像figure,imshow(Bgray);title('背景图像');%输出背景图像%用原始图像与背景图像作减法,增强图像Egray=imsubtract(Sgray,Bgray);%两幅图相减figure,imshow(Egray);title('增强黑白图像');%输出黑白图像%Step3取得最佳阈值,将图像二值化fmax1=double(max(max(Egray)));%egray的最大值并输出双精度型fmin1=double(min(min(Egray)));%egray的最小值并输出双精度型leve

3、l=(fmax1-(fmax1-fmin1)/3)/255;%获得最佳阈值bw22=im2bw(Egray,level);%转换图像为二进制图像bw2=double(bw22);%Step4对得到二值图像作开闭操作进行滤波figure,imshow(bw2);title('图像二值化');%得到二值图像grd=edge(bw2,'canny')%用canny算子识别强度图像中的边界figure,imshow(grd);title('图像边缘提取');%输出图像边缘bg1=imclose(grd,strel('rectangle',[5,19]));%取矩形框的闭运算figur

4、e,imshow(bg1);title('图像闭运算[5,19]');%输出闭运算的图像bg3=imopen(bg1,strel('rectangle',[5,19]));%取矩形框的开运算figure,imshow(bg3);title('图像开运算[5,19]');%输出开运算的图像bg2=imopen(bg3,strel('rectangle',[19,1]));%取矩形框的开运算figure,imshow(bg2);title('图像开运算[19,1]');%输出开运算的图像%Step5对二值图像进行区域提取,并计算区域特征参数。进行区域特征参数比较,提取车牌区域[L

5、,num]=bwlabel(bg2,8);%标注二进制图像中已连接的部分Feastats=imfeature(L,'basic');%计算图像区域的特征尺寸Area=[Feastats.Area];%区域面积BoundingBox=[Feastats.BoundingBox];%[xywidthheight]车牌框架大小RGB=label2rgb(L,'spring','k','shuffle');%标志图像向RGB图像转换figure,imshow(RGB);title('图像彩色标记');%输出框架的彩色图像lx=0;forl=1:numwidth=BoundingBox

6、((l-1)*4+3);%框架宽度的计算hight=BoundingBox((l-1)*4+4);%框架高度的计算if(width>98&width<160&hight>25&hight<50)%框架的宽度和高度的范围,这块儿不同的图片对应不同,可以用终端操作查看后更改!!!lx=lx+1;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;

7、%车牌宽hight=BoundingBox((l-1)*4+4)+2;%车牌高rato=width/hight;%计算车牌长宽比ifrato>2&rato<4%这块儿也需要根据具体情况更改一下,如3-6啊什么的break;endendsbw1=bw2(startrow:startrow+hight,startcol:startcol+width-1);%获取车牌二值子图subcol1=Sgray(startrow:startrow+hight,startcol:startcol+width-1);%获取

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。