网站大量收购闲置独家精品文档,联系QQ:2885784924

基于matlab的车牌号码识别程序代码.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

基于matlab的汽车牌照识别程序

设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码。

关键词:车牌识别,matlab,神经网络

1引言

随着我国交通运输的不断发展,智能交通系统(IntelligentTrafficSystem,简称ITS)的推广变的越来越重要,而作为ITS的一个重要组成部分,车辆牌照识别系统(vehiclelicenseplaterecognitionsystem,简称LPR)对于交通管理、治安处罚等工作的智能化起着十分重要的作用。它可广泛应用于交通流量检测,交通控制于诱导,机场,港口,小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。由于牌照是机动车辆管理的唯一标识符号,因此,车辆牌照识别系统的研究在机动车管理方面具有十分重要的实际意义。

2车辆牌照识别系统工作原理

车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。

3车辆牌照识别系统组成

(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。

(2)车牌定位:从预处理后的汽车图像中分割出车牌图像。即在一幅车辆图像中找到车牌所在的位置。

(3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像

(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。

4汽车牌照识别系统的matlab实现

4.1图像预处理与车牌定位

输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。具体步骤如下:首先对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。在进行形态学滤波去除其它区域。

I=imread(DSC01344.jpg);%读取图像

figure();subplot(3,2,1),imshow(I),title(原始图像);

I1=rgb2gray(I);%转化为灰度图像

subplot(3,2,2),imshow(I1),title(灰度图像);

I2=edge(I1,roberts,0.09,both);%采用roberts算子进行边缘检测

subplot(3,2,3),imshow(I2),title(边缘检测后图像);

se=[1;1;1];%线型结构元素

I3=imerode(I2,se);%腐蚀图像二值化处理然后采用4X1的结构元素对图像进行腐蚀, %去除图像的噪声

subplot(3,2,4),imshow(I3),title(腐蚀后边缘图像);

se=strel(rectangle,[25,25]);矩形结构元素

I4=imclose(I3,se);%图像聚类、填充图像imclose:闭合

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); %size(I6)为480*640,I6为二值化后的矩阵,只有0和1

Y1=zeros(y,1);%把Y1初始化为全为0的480维列向量

fori=1:y %以下循环统计每行的像素点灰度值累积和,是为了找出车牌位置是以哪行开始以及截止

forj=1:x

if(I6(i,j,1)==1)%I6(i,j,1)就表示I6(i,j)那个1表示第三维度,I6(i,j,2)就会出错,超出矩阵维度

Y1(i,1)=Y1(i,1)+1;

end

end

end

[tempMaxY]=max(Y1);%temp=259是列向量Y1的最大值,Ma

文档评论(0)

暗伤 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档