基于matlab图像处理的车牌识别研究

2018-10-07 12:50

东北大学秦皇岛分校毕业设计(论文) 第 41 页

net.layerWeights{2,1}.initFcn ='randnr'; net.trainparam.epochs=5000; net.trainparam.show=50; %net.trainparam.lr=0.003; net.trainparam.goal=0.0000000001; net=init(net); [net,tr]=train(net,P,T); %% 测试 I=imread('1.jpg');

DW=Location(I);%车牌定位

[PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6]=StringSplit(DW);%字符分割及处理 %% 测试字符,得到识别数值 PIN0=pretreatment(PIN0); PIN1=pretreatment(PIN1); PIN2=pretreatment(PIN2); PIN3=pretreatment(PIN3); PIN4=pretreatment(PIN4); PIN5=pretreatment(PIN5); PIN6=pretreatment(PIN6);

P0=[PIN0',PIN1',PIN2',PIN3',PIN4',PIN5',PIN6']; for i=2:7

T0= sim(net ,P0(:,i)); T1 = compet (T0) ; d = find(T1 == 1) - 1; if (d==10) str='A'; elseif (d==11) str='B'; elseif (d==12) str='C'; elseif (d==13) str='D';

%训练样本

东北大学秦皇岛分校毕业设计(论文) 第 42 页

elseif (d==14) str='G'; elseif (d==15) str='K'; elseif (d==16) str='L'; elseif (d==17) str='M'; elseif (d==0) str='0'; elseif (d==1) str='1'; elseif (d==2) str='2'; elseif (d==3) str='3'; elseif (d==4) str='4'; elseif (d==5) str='5'; elseif (d==6) str='6'; elseif (d==7) str='7'; elseif (d==8) str='8'; elseif (d==9) str='9'; else

str=num2str(d); end switch i

东北大学秦皇岛分校毕业设计(论文) 第 43 页

case 2 str2=str; case 3 str3=str; case 4 str4=str; case 5 str5=str; case 6 str6=str; otherwise str7=str; end end

东北大学秦皇岛分校毕业设计(论文) 第 44 页

5.5 神经网络训练图

东北大学秦皇岛分校毕业设计(论文) 第 45 页

结 论

车牌智能识别系统作为交通识别系统的核心,它将在未来现实社会的交通管制中扮演着一个十分重要的角色。为此本课题在实验时力争达到或接近现实。本文分别从图像预处理、车牌定位、字符分割以及字符识别等方面进行了系统的分析与研究。本文基于图像处理的相关理论,利用数码相机作为图像获取的设备,以MATLAB 作为实验仿真的基本环境,在对车牌识别传统算法进行分析和研究的基础上,主要对传统算法中存在的问题,对车牌识别的算法进行了改进。主要取得了以下的成果:

整理和总结了国内外在车牌定位、分割、字符识别方面的研究成果和发展方向,系统介绍了我国车牌的固有特征,以及车牌识别的特点。

对车牌定位算法的研究,在对车牌矩形区域的排除中,本文是利用车牌的边缘特征这一特点,获取了在原始图像中的相似矩形。这一算法的改进,可以在更快速地搜索到类似车牌区域矩形的相似矩形,这就为车牌定位节省了时间,提到了实时性,解决了车牌识别过程中误定位和定位不够准确的问题。在图像预处理模块,先进行常规的图像灰度化和均衡化的处理,在对车牌图像进行去噪处理。实验表明本方法既保留了车牌区域的信息,又减少了噪声的干扰,提高了后续处理的速度。对车牌字符分割算法的研究,本文利用对车牌的先知了解,充分利用车牌字符的自身特点进行分割,既准确又简单省力。对车牌字符识别算法的研究,本文运用了基于BP网络的字符识别方法,根据字母、数字和汉字的特征,采用字母、数字字符分类器和汉字字符分类器对车牌进行识别。

但是由于本人个人能力和时间有限,所以在对缺损字符的研究中,还存在很多的不足。但是,在实际应用中,我们拍摄到的图片多为背景复杂的图像,而且由于气候、光照强度和人为因素的影响,我们在分割后,出现缺损字符是常见的现象。所以,对缺损字符的识别还有待进一步的研究与完善,而且此研究具有很高的研究价值。

毕业设计(论文)

基于MATLAB图像处理的车牌识别研究

学 院 专业名称 班级学号 学生姓名 指导教师

2013年6月13日

东北大学秦皇岛分校毕业设计(论文) 第 I 页

基于MATLAB图像处理的车牌识别研究

摘 要

汽车牌照自动识别技术[1](License Plate Recognition,LPR)是智能交通系统的核心技术,不但可以广泛地应用于交通流量检测,而且还可以应用于交通控制与诱导,机场、港口、小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域。因此,具有广阔的应用前景。本论文就是在这种背景下,研究基于图像处理的汽车牌识别系统。

车牌识别一般可以分为车牌预处理、车牌的定位、车牌的字符分割和字符识别四个主要部分。本文在分析近年来一些典型的车牌识别系统,掌握基本的原理和方法后,在已有算法的基础上,在某些环节加入自己的改进,以自己拍摄的某一车牌为实例,以MATLAB作为平台工具,根据实际的处理过程划分章节,详细地阐述了对车牌进行识别的具体步骤、涉及的算法及相关外延知识,并最终确定了一套有效的车牌识别算法。

关键词: 车牌识别(LPR),图像处理,车牌定位,字符分割,字符识别

东北大学秦皇岛分校毕业设计(论文) 第 II 页

Research on License Plate Recognition Based on MATLAB

Tutor:Wang Lifu

Author :Zhang Ruochen

Abstract

The vehicle License Plate Recognition(LPR) system as core of ITS, plays a very important role. It not only can widely be applied traffic flux detect, but also be applied traffic control and lead. It can also be applied to some fields where the vehicle breaks the laws, such as airport seaport, communities’ vehicle manage, no halted vehicle’ fee, and vehicle’ safe. So it has widely applied in the future. Basing on the current thing, the thesis will expound the course that searches and deals with image of the License Plate.

License plate recognition can generally be divided into pre-processing, license plate location, license plate character segmentation and character recognition four main sections.After analyzing some typical license plate recognition system in recent years, mastering the basic principles and methods, and based on the algorithms which are existing, this paper makes its own improvements in some areas. Through taking a license plate as an example, working on MATLAB as platform and tool, according to the actual division of chapters, this paper elaborates on the license plate to identify the specific steps algorithms involved and related epitaxial knowledge, and finally work out an effective license plate recognition algorithm.

Key Words: License Plate Recognition(LPR), image processing, vehicle plate locating,

character segmentation, character recognition

东北大学秦皇岛分校毕业设计(论文) 第 III 页

目 录

1绪论 ............................................................... 1 1.1 研究背景和研究意义 ............................................ 1 1.2 国内外车牌识别技术的研究现状 .................................. 2 1.3 车牌自动识别的主要方法 ........................................ 5 1.3.1 IC卡识别技术 ............................................... 5 1.3.2 条形码识别技术 ............................................. 5 1.3.3 图像处理技术 ............................................... 5 1.4 基于图像处理的车牌识别技术的研究难点 .......................... 7 1.4.1 我国汽车牌照自身特点[6] ....................................... 7 1.4.2 外部环境影响 ............................................... 7 1.4.3 拍摄角度问题 ............................................... 7 1.5 车牌识别系统概述 .............................................. 8 1.5.1 车牌识别系统的硬件设计 ..................................... 8 1.5.2 车牌识别系统的软件设计 ..................................... 9 1.6 本文主要内容 ................................................. 10 2车牌图像预处理 .................................................... 11 2.1 灰度化 ....................................................... 11 2.2 二值化处理 ................................................... 12 2.3 图像增强 ..................................................... 14 2.3.1 灰度拉伸 .................................................. 14 2.3.2 滤波处理 .................................................. 15 2.4 边缘检测 ..................................................... 17 2.5 数学形态学 ................................................... 19 2.5.1 数字形态学概述 ............................................ 19 2.5.2 形态学滤波的基本操作 ...................................... 19 2.5.3 填充处理 .................................................. 21 3. 车牌定位算法的研究 .............................................. 22 3.1 引言 ......................................................... 22 3.2 车牌规格及特征 ............................................... 22 3.3 传统的车牌定位算法分析 ....................................... 22 3.3.1 基于纹理特征的车牌定位法 .................................. 22 3.3.2 基于神经网络的定位算法 .................................... 23 3.3.3 基于数学形态学的定位方法 .................................. 23 3.4 本文研究的车牌定位算法 ....................................... 24

东北大学秦皇岛分校毕业设计(论文) 第 IV 页

3.4.1 选取结构元素 .............................................. 24 3.4.2 车牌区域的提取 ............................................ 27 4. 车牌字符分割算法的研究 .......................................... 29 4.1 传统的字符分割算法分析 ....................................... 29 4.2 字符分割算法中的问题分析 ..................................... 30 4.3 本文研究的字符分割算法 ....................................... 30 4.3.1 车牌精确定位 .............................................. 30 4.3.2 字符分割算法 .............................................. 325. 基于神经网络的车牌字符识别 ....................................... 355.1 常用的车牌字符识别方法 ....................................... 355.2 基于神经网络的字符识别 ....................................... 355.2.1 神经网络概述 .............................................. 365.2.2 BP神经网络构造和训练 ..................................... 375.2.3 BP神经网络算法 ........................................... 375.3 字符识别 ..................................................... 385.3.1 建立字符模板数据库 ........................................ 385.3.2 神经系统识别的matlab实现 .................................. 40结 论 ........................................................... 45致 谢 ........................................................... 46参考文献 ........................................................... 47附 录 ........................................................... 49

东北大学秦皇岛分校毕业设计(论文) 第 36 页

距离的聚类分类和神经网络分类器ANN(Artificial Neural Network), 原理不同,性能各有所长。本节主要介绍神经网络分类器在车牌字符识别方面的应用。流程图如图5.1所示。

参考模板图片信号预处理信息提取模板匹配识别结果判决规则

图5.1 神经网络识别流程

5.2.1 神经网络概述

目前,由于神经网络具备高速并行处理、分布存贮信息等特性具有很强自学习性、自组织性、容错性、高度非线性、高的鲁棒性、联想记忆功能和推理意识功能等,能实现基于计算理论层次上的模式识别理论所无法完成的模式信息处理工作。采用神经网络进行模式识别,开辟模式识别发展的新途径。神经网络用于模式识别的网络模型主要包括:有导师学习网络、无导师学习网络、自监督学习网络和混合学习网络。这些网络模型都已成功地应用在模式识别各个领域。

神经网络的工作过程主要由两个阶段完成:学习期,对神经网络的连接权值进行修改;工作期,对于给定的输入进行计算,得到识别结果。

若希望神经网络识别系统识别准确,除了要好的网络结构外,还要有好的学习算法,即如何连接权值修改。学习过程非常重要,神经网络通过学习样本或其它方法对神经网络的连接权值进行修改,使神经网络输出正确结果。

神经网络模型各种各样,它们是从不同的角度对生物神经系统不同层次的描述和模拟。有代表性的网络模型有感知器、多层映射BP网络、RBF(Radial Basis Function)网络、双向联想记忆BAM(Block Allocating Map)、Hopfield模型等。利用这些网络模型可实现函数逼近、数据聚类、模式分类、优化计算等功能。本文研究车牌字符的识别采用BP神经网络。

东北大学秦皇岛分校毕业设计(论文) 第 37 页

5.2.2 BP神经网络构造和训练

关于BP神经网络的设计,应注意以下几个方面:

(l)神经网络层数:具有偏差和至少一个S型隐含层加上一个线性输入层的网络,能逼近任何有理函数。增加层数可以进一步降低误差,提高精度,但同时使网络复杂化。

(2)隐含层神经元数:在能够解决问题的前提下,加上一个到两个神经元加快误差的下降速度。

(3)初始权值:应选为均匀分布的小数经验值,一般取初始权值在(-1,1)之间的随机数,也有选取在[-2.4/F,2.4/F]之间的随机数,其中F为输入特征个数。

(4)学习速率:倾向于选取较小的学习速度以保证系统的稳定性。一般选取在(0.01—0.8)范围内。较复杂的网络,采用变化的自适应学习速率,使网络的训练在不同的阶段设置不同大小的学习速率。 5.2.3 BP神经网络算法

BP神经网络算法本质[21]是以网络误差平方和为目标函数,按梯度法求目标函数达到最小值的算法。BP算法由正向传播和反向传播组成。正向传播过程中输入信息从输入层神经隐单元层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号返回,通过修改各层神经元的权值,使误差信号最小。神经网络的反馈调节,在误差信号的反向传播中,网络不断修正各个节点的权值。基本拓扑结构和算法流程如图5.2、图5.3所示。

图5.2 BP神经网络拓扑结构图

东北大学秦皇岛分校毕业设计(论文) 第 38 页 BP神经网络构建 BP神经网络训练 N构建合适的BP神经网络BP神经网络初始化BP神经网络训练系统建模训练结束BP神经网络分类 YBP神经网络测试数据分类图5.3 BP神经网络算法流程图

BP网络的实现分为学习(训练)阶段和识别阶段。在学习阶段输入要学习的样本,按照网络初始设定的权重、闭值以及传输函数进行计算,得出每一层神经元的输出,这是从底层向上进行。通过理想输出与输出层之间的误差来决定是否对权重、闭值进行修改,这个修改是从高层向下进行的。两个过程反复进行,直到网络收敛为止。权重的学习是不断调整各个神经元的连接强度,使在最小二乘的意义上逼近所对应的输出。

BP神经网络的学习步骤如下:

(l)初始化网络,将全部权值与节点闽值设置为一个较小的随机值;

(2)提供训练样本来训练网络,直到权值为各类样本均达到稳定。实际应用中,为了保证能正确识别目标,应尽可能使准备的训练样本中包含各类情况。

(3)向前传播过程:对给定训练模式输入,计算网络的输出模式,并与期望模式输出比较。若有误差,则执行下一步;否则,返回上一步。

(4)向后传播,修正权值。 5.3 字符识别

5.3.1 建立字符模板数据库

创建匹配模板是用来匹配分割出来的字符,其尺寸大小应该是一定的。根据我国车牌的特殊要求,将字符模板分为汉字、英文字母和数字模板,其中汉字模板取宋体,英文字母和数字模板来自OCR 字库。图像的尺寸太大,模板匹配所需时间就长;但是,如果图像太小,其包含的有用信息就会减少,表达的内容就不够完整,所以模板必须适

东北大学秦皇岛分校毕业设计(论文) 第 39 页

中。在本系统中,牌照的字符宽度一般不会超过20 个像素,为了保证模板图像信息的完整性,同时综合实际牌照中的字符长宽比例关系,以及系统处理速度等,规定二值化后的模板的大小为40×20像素。

图5.4 字符库样图

建立模板数据库时必须对这些图片进行统一处理,因为对前面处理分割后的车牌图像的测量得知单个字符的最佳宽高比是1:2,所以将这些图片归一化为20×40大小;因为之后的字符识别考虑使用神经网络算法进行字符识别,所以再将上面归一化后的模板图像的样本排列在一起构成1250×18的矩阵样本,程序设计如下:

function inpt = Pretreatment(I) %% 训练样本前期处理 if isrgb(I)

I1 = rgb2gray(I); else I1=I; end

I1=imresize(I1,[40 20]);%将图片统一划为40*20大小 I1=im2bw(I1,0.9); [m,n]=size(I1); inpt=zeros(1,m*n);

%% 将图像按列转换成一个行向量 for j=1:n

for i=1:m end

inpt(1,m*(j-1)+i)=I1(i,j); end

东北大学秦皇岛分校毕业设计(论文) 第 40 页

这是一个自定义函数的Pretreatment.m 文件,可以解决频繁写重复代码的问题,前面的图像预处理及车牌定位的代码可以写进Location.m文件中,通过代码DW = Location(I); 取得车牌定位后的图像;同时字符分割的代码亦可写进StringSplit.m 文件中,可以通过代码[PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6]=StringSplit(DW); 取得的字符分割后的图像。

5.3.2 神经系统识别的matlab实现

根据前面讲到的算法原理,具体程序代码如下: %% 归一化训练样本

I0=pretreatment(imread('BP/0.jpg')); I1=pretreatment(imread('BP/1.jpg')); I2=pretreatment(imread('BP/2.jpg')); I3=pretreatment(imread('BP/3.jpg')); I4=pretreatment(imread('BP/4.jpg')); I5=pretreatment(imread('BP/5.jpg')); I6=pretreatment(imread('BP/6.jpg')); I7=pretreatment(imread('BP/7.jpg')); I8=pretreatment(imread('BP/8.jpg')); I9=pretreatment(imread('BP/9.jpg')); I10=pretreatment(imread('BP/A.jpg')); I11=pretreatment(imread('BP/B.jpg')); I12=pretreatment(imread('BP/C.jpg')); I13=pretreatment(imread('BP/D.jpg')); I14=pretreatment(imread('BP/G.jpg')); I15=pretreatment(imread('BP/K.jpg')); I16=pretreatment(imread('BP/L.jpg')); I17=pretreatment(imread('BP/M.jpg'));

P=[I0',I1',I2',I3',I4',I5',I6',I7',I8',I9',I10',I11',I12',I13',I14',I15',I16',I17']; T=eye(18,18); %输出样本 %% bp神经网络参数设置

net=newff(minmax(P),[1250,32,18],{'logsig','logsig','logsig'},'trainrp'); net.inputWeights{1,1}.initFcn ='randnr';

东北大学秦皇岛分校毕业设计(论文) 第 26 页

x=imclearborder(e,4); figure,imshow(x); x1=bwareaopen(x,2000); figure,imshow(x1);

图3.4 移除边界处理后的车牌图像

图3.5 清除噪点2000后的车牌图像

东北大学秦皇岛分校毕业设计(论文) 第 27 页

3.4.2 车牌区域的提取

提取候选区域的步骤是:首先对经过开闭运算处理的图像进行区域提取,并计算区域特征参数,然后根据车牌的先验知识对区域特征参数进行比较,提取车牌区域。本课题选择使用车牌的宽高范围和比例关系对车牌进行初步定位。

对车牌的区域提取可以利用regionprops函数,对图像每个区域进行标记,标记后如图3.6所示。代码如下:

[B,L]=bwboundaries(x1,4);

figure,imshow(label2rgb(L,@jet,[.5 .5 .5]))

1.231.290.510.210.131.130.970.760.721.21

图3.6 标记后的车牌图像

2007年实施的车牌标准规定,车前车牌长440mm,宽140mm。其长宽比例为440/140≈3.15。根据图像像素的大小,这里选取筛选条件为宽在50到150之间,高在20到50之间,同时宽高比例应大于0.45,就可以比较准确的得到车牌的大致位置。。然后计算每个区域图像特征参数:区域中心位置、最小包含矩形,面积。最后计算出包含所标记区域的最小矩形的宽和高。初步提取的车牌图像如图3.7所示。程序代码如下:

东北大学秦皇岛分校毕业设计(论文) 第 28 页

for k=1:length(B)

boundary=B{k};

delta_sq=diff(boundary).^2;

perimeter=sum(sqrt(sum(delta_sq,2))); area=stats(k).Area; metric=22*area/perimeter^2; metric_string=sprintf('%2.2f',metric);

if metric>=0.9&&metric<=1.1 centroid=stats(k).Centroid; plot(centroid(1),centroid(2),'ko'); goalboundary=boundary; s=min(goalboundary,[],1); e=max(goalboundary,[],1);

goal=imcrop(l,[s(2) s(1) e(2)-s(2) e(1)-s(1)]); end

text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','g','FontSiz

e',14,'FontWeight','bold');

end

figure,imshow(goal),title('初步定位');

图3.7 初步提取的车牌图像

东北大学秦皇岛分校毕业设计(论文) 第 29 页

4. 车牌字符分割算法的研究

4.1 传统的字符分割算法分析

字符分割往往是根据字符的基本特征来预先定义目标,往往仅仅对图像中的某些部分感兴趣。为了辨别和分析,所以,需要将它们分离出来,在此基础上才能对目标进行下一步的分析。现在的分割算法有很多,分类方法也有很多种,比较常用的算法是基于图像相邻像素在像素值方面的两个性质基础上实现的。所以,通常应用于字符分割方面的算法有以下几类[17]:

(1)直接分割法 直接分割法最为常见的是垂直投影分割方法。垂直投影分割方法主要是利用字符在垂直方向上的投影完成的。而且,垂直投影分割方法主要是以二值化后的图像为基础上实现的。首先,应将车牌的灰度图像二值化。二值化后的图像像素值只有两个值,白色的像素值是1,黑色的像素值是0。然后我们取得字符间距局部的最小值。这个字符间距是通过计算车牌每个字符间的距离得出的。将作为分割字符的字符尺寸限制值。接着我们就做垂直投影。因为字符之间的部分为黑色,灰度值都为0。所以,做垂直投影后,投影处的值也为0。而字符部分的投影就会是形成曲线。所以,我们根据字符间距的大小就可以完成字符的分割。

从二值化后的图像我们可以看出,如果对图像做垂直投影的话,字符区域的像素值变化较为明显,会形成一定的曲线,而在字符间距的区域,像素值的变化就较弱,同时在投影后会存在噪声的干扰,所以在进行分割之前我们一般要去除噪声的干扰,而大部分的干扰来自车牌区域的边框和铆钉。而边框和铆钉的内部灰度值为 1。这在做垂直投影的时候,会给分割造成干扰。所以,在做垂直投影前,一般都要去除边框和铆钉。直接分割法相对来说比较简单,但是在分割时受到的干扰噪声影响较大,导致分割不够准确。

(2)基于识别基础的分割法 基于识别基础的分割法,是以分割为目的,而将识别作为基础,二者是结合在一起使用的。我们先对待分割的图像进行识别,然后通过识别结果对图像进行分割。所以,识别的准确性直接影响到分割结果。这样,基于识别基础的分割算法使用起来的准确性很难保证。

东北大学秦皇岛分校毕业设计(论文) 第 30 页

(3)自适应分割线聚类法 自适应分割线聚类法首先需要建立一个分类器,分类器要进行训练来完成对图像的分割。首先,我们先设图像中的每一列为定义的分割线。然后使用分类器对分割线进行判断。但是,如果字符之间有粘连或者断裂,而且对这样的字符训练是很困难的。所以,这类方法的使用是很有局限性的,算法的运算量很大,比较复杂。

这几种是目前字符分割中常用的算法,从分析中可知,这几种算法往往受环境和图像质量的干扰较大。所以,对字符分割算法分割进行改进也是字符识别过程中的研究重点。

4.2 字符分割算法中的问题分析

我们拍摄的图像往往会受到一些不定的因素影响,例如,摄像机的摆放角度偏移。这样我们拍摄的图片往往会产生在某一方向上的倾斜。从我们提取到得车牌区域的图像就可以看出,该图像发生了水平方向上的倾斜。这样对我们的分割就造成了影响。这是字符分割中的第一个常见问题,就是字符倾斜的问题。另外一个问题是在实际应用中,一般车牌都容易受污斑和掉落等因素影响,这样车牌会有较大的噪声干扰。这样就会给待分割的字符造成相互粘连或者是字符边缘模糊等问题。这样会严重的影响分割效果。所以,车牌倾斜校正和去除噪声,一直是字符分割普遍且所要解决的问题。

4.3 本文研究的字符分割算法

针对车牌字符分割中常见的问题,本文研究的字符分割算法主要分为两个部分:车牌精确定位和字符分割算法。 4.3.1 车牌精确定位

根据形态学处理得到的车牌区域,只是初步定位,车牌字符的外围还有许多影响识别的内容,这时需要我们将其去除,进而进行进一步的精确定位。

字符的外围一般还带有白色边框,初步定位后,白色边框与图片的边界相连,这时,调用matlab中的imclearborder指令,将此白色矩形边框去除。去除边框后如图4.1所示。程序如下:

东北大学秦皇岛分校毕业设计(论文) 第 31 页

a=imclearborder(goal,4); %去除车牌边框

figure,imshow(a),title('去除边框');

图4.1 去除边框后的车牌图像

去除边框后可看到图中仍存在许多早点,这对于后续的字符切割和字符识别都是影响很大的,在这里需进行一步去除噪点的处理。调用matlab中的bwareaopen指令,参数设定为200。处理后如图4.2所示。

图4.2 去除噪点后的车牌图像

可以看到,图像中除了我们希望看到的字符信息外,几乎不存在其他影响的因素,只剩下字符。这时,需要进一步车牌定位,将字符外部多余的空余部分除掉。方法:由于在经过初步定位处理后,车牌上下边界往往没有干扰信息,而且车牌的上下边框由于是水平的,在边缘提取的时候已经被除去。因此,在查找上下边缘时可以从上到下搜索,找到第一个不为零的点,然后从下往上搜索,找到第一个不为零的点,这两点之间即为车牌的上下边界。车牌的左右定位同理。处理后如图4.3所示

东北大学秦皇岛分校毕业设计(论文) 第 32 页

图4.3 车牌的精确定位图像

4.3.2 字符分割算法

为了准确识别牌照上的汉字、英文字母及数字,必须把单个字符从牌照中提取分离出来。在实际处理中,通常由于存在较大的干扰噪声,使得牌照图像中产生字符之间粘连或字符断裂,字符的笔画变粗、字符的轮廓模糊不清的现象。经牌照定位而分割出的牌照区域不完全精确到牌照的字符区域,在牌照边框附近会出现误差几个像素。目前车牌字符分割算法主要有三种[19]:连通区域法、静态边界法和垂直投影法。

连通区域法:利用字符或字符的一部分构成连通域的特性,把这些连通域切分出来,也就切分出车牌字符。通常情况:车牌上的字符除汉字外,其它的都是字母或数字,它们在理想状态下是全连通,但在实际情况中,车牌区域内存在很多噪声区域,这些区域与车牌中的字符线条粘连在一起,使字符的连通域特性不规范,甚至车牌中的字符与车牌上下边框粘连成一个很大的连通区域。如果仍然使用连通区域法进行字符分割将很难得到满意的结果。所以连通区域法适用于分割清晰的车牌图像,即对图像质量要求很高。

静态边界法不受噪声影响,但依赖车牌图像的正确提取。静态边界法认为定位阶段提取的车牌区域是车牌的精确位置,即车牌边界已经准确定位。利用车牌本身存在的模板特征分割车牌,对车牌定位阶段要求过高。如果在此基础上加动态边界匹配规则,分割准确率会大大提高。

本文中,综合对于车牌信息的先知了解,再结合垂直投影发,对字符进行切割。 根据前文中提到的有关我国车牌统一规格的知识,如果平均分配每个字符在牌照中占据的宽度,那么每个字符宽度为:width/7(width 为车牌图像的宽度)。但是,实际上,第二个第三个字符之间存在一个黑点,牌照左右两边与图像边缘也都有一定的

东北大学秦皇岛分校毕业设计(论文) 第 33 页

宽度,所以每个字符的宽度应该小于width/7。考虑所有的情况,一般情况下最小的宽度为width/9。因此,字符的宽度可以从width/9 到width/7 之间渐进的变化得到。

垂直投影法: 其思想是根据车牌字符的特点,将车牌图像进行垂直方向的投影,因为字符区域的黑色像素点比较多,比较集中,同时每个车牌字符之间有一定的空隙间隔隔开。这样投影下来得到的投影图应该有多个相对集中的投影峰值群,只要根据峰值群的特点进行分割,就可以得到车牌的字符。利用字符块在垂直方向上的投影必然在正确分割位置上取得局部最小值,且这个位置要满足车牌字符规则和字符尺寸限制。对车牌区域作垂直方向的投影,首先在水平方向从左至右检测各坐标的垂直投影数值,当找到第一个局部最小值点时,认为这个点是最左面字符的边界;然后在水平方向上从右至左检测坐标的垂直投影数值,当找到第一个局部最小值点时,认为这个点是最右面字符的边界。得到两边字符的边界之后,用同样的方法找到每个字符的边界。

车牌字符切分的具体算法为:

(1)对车牌图像进行垂直投影,计算出字符的宽度后,确定字符的中间位置,并计算相邻两个字符之间的间距,即中间距离的差值。取其最大值定为第二个字符和第三个字符之间的距离。以此为分界线,分别向前、后两个方向进行切分,从而定位出每个字符的左右边界,并保存在数组里。由于MATLAB 的数组可以存放不同大小的数据,为字符边界信息的存储提供了极大的便利。

(2)对每个切分出的字符进行水平投影,确定字符的具体的上下边界,保存到数组里。

(3)由于用于最后识别的字库中字符模板为40× 20像素,所以这里对切分出来的字符进行归一化处理,统一为40× 20像素。

(4)将归一化后的字符的信息保存在数组里,做为参数输入字符识别模块与模板比较进行字符识别。

分割后的字符如图4.4所示

东北大学秦皇岛分校毕业设计(论文) 第 34 页

12345图4.4 分割后的字符

67

东北大学秦皇岛分校毕业设计(论文) 第 35 页

5. 基于神经网络的车牌字符识别

5.1 常用的车牌字符识别方法

传统的字符识别算法一般可分为模板匹配法、支持向量机和神经网络的识别方法三

种[20]。其中模板匹配法应用的较为广泛,其识别的准确率相对较高。

(1)模板匹配法 模板匹配是图像识别中最常用的方法。首先,对待识别字符进行二值化处理,并规范其大小为字符数据库中模板的大小,然后与所有模板进行匹配,选择相似度最大的匹配模板作为输出结果。它的判别方法是用最小距离法判定所属类。模板匹配通常使用二值化同尺寸模板建立标准模版库,用归一化准则匹配车牌字符图像和标准模板。该类算法的优点是识别率高。缺点是对字符图像质量要求较高,计算速度慢。

(2)支持向量机 支持向量机的字符识别算法也是图像识别算法中的一种,针对我们需要识别的字符,先要分析这些字符的特征。然后将这些字符模型化,主要是对这些字符模型进行训练,类似于人学习的过程。然后利用这些字符模型相应的去和待识别的字符进行匹配。因为字符的识别过程是一个多类的问题,所以支持向量机的方法一般不单独使用。

(3)神经网络识别方法 神经识别网络识别方法一般分为学习阶段和识别阶段。首先,在学习阶段,先要设定学习的样本,也就是定义这个样本的特征。设一个阈值,利用传输函数对每一个神经元进行计算。具体的过程是从低端逐步向上方进行的。最后神经元的每一层的输出就可以作为一个输出值。然后进行识别的阶段,将每一层的输出值和理想的输出值做一个差值。然后根据这个差值对阈值进行修改,修改的过程是从最高层到最低层的。学习阶段和识别阶段两个过程重复进行,最后直到神经网络收敛为止。由此可见,神经网络的识别方法比较复杂,运算量也很高。

本文将结合模板匹配和神经网络两种方法,重点介绍BP神经网络,综合各自的有点,对车牌进行识别。 5.2 基于神经网络的字符识别

字符特征提取后,需要采用有效的分类器来对其进行分类。分类器主要有两类:基于


基于matlab图像处理的车牌识别研究.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011淄博市高考一模英语试题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: