汽车车牌号码识别.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 1 技术要求 1 2 基本原理 1 3 各模块的功能 2 3.1 图像预处理 2 3.2 车牌定位 5 3.3 字符分割和识别 7 4 调试过程及结论 11 5 心得体会 11 6 参考文献 12 汽车车牌的号码识别 1 技术要求 用相机拍摄获取彩色汽车车牌的图片,应用MATLAB软件对所拍摄车牌号图片进行相应处理(如,去噪,去除背景提取目标,边缘分割,轮廓提取等)最终从一幅图像中提取车牌中的字母和数字 2 基本原理 汽车车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。车辆牌照识别系统的基本工作原理 我们知道输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。具体步骤如下:首先对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。在进行形态学滤波去除其它区域。 3.1 图像预处理 对汽车图像进行图像转换、图像增强和边缘检测等。 I=imread(car.jpg);%应用imread函数从图形文件中读取图像 figure(); imshow(I), title(原始图像); 图-2 原始图像 对提取出来的原始图像进行下列处理:转化为灰度图像,采用Robert算子进行边缘检测,腐蚀图像,填充图像,形态滤波。具体各个过程的源程序如下所示: I1=rgb2gray(I); %转化为灰度图像 imshow(I1),title(灰度图像);%用imshow函数显示灰度图像如图3所示: 图-3 灰度图像 I2=edge(I1,robert,0.09,both); %采用robert算子进行边缘检测 imshow(I2),title(边缘检测后图像);%用imshow函数显示边缘检测后图像如图4所示: 图-4 边缘检测后图像 se=[1;1;1]; %线型结构元素 I3=imerode(I2,se); %腐蚀图像 imshow(I3),title(腐蚀后边缘图像);%用imshow函数显示腐蚀后边缘图像如图5所示: 图-5 腐蚀后边缘图像 se=strel(rectangle,[25,25]); %矩形结构元素 I4=imclose(I3,se); %图像聚类、填充图像 imshow(I4),title(填充后图像);%用imshow函数显示填充后图像如图6所示: 图-6 填充后图像 I5=bwareaopen(I4,2000);%去除聚团灰度值小于2000的部分 imshow(I5),title(形态滤波后图像);%用imshow函数显示形态滤波后图像如图7所示 图-7 形态滤波后图像 3.2 车牌定位 从预处理后的汽车图像中分割出车牌图像。即在一幅车辆图像中找到车牌所在的位置。 [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(); PY1=MaxY; while ((Y1(PY1,1)=50)(PY11)) PY1=PY1-1; end PY2=MaxY; while ((Y1(PY2,1)=50)(PY2y)) PY2=PY2+1; end IY=I(PY1:PY2,:,:); X1=zeros(1,x); for j=1:x for i=PY1:PY2 if(I6(i,j,1)==1) X1(1,j)= X1(1,j)+1; end end end PX1=1; while ((X1(1,PX1)3)(PX1x)) PX1=PX1+1; end PX2=x; while ((X1(1,PX2)3)(P

文档评论(0)

tzcu242 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档