1、 淮 阴 工 学 院毕业设计说明书(论文)作 者:学 号:学 院:专 业:题 目:便携式车牌智能识别算法研究与系统设计指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务)2015年6月毕业设计说明书(论文)中文摘要近年来随着汽车数量的剧增,一个稳定实时的车牌智能识别系统已经成为实现智能化交通管理的关键。本文研究了车牌识别系统的图像预处理、车牌定位、字符分割、字符识别四个模块常用的算法,同时提出了一个用MATLAB编程实现的车牌识别系统方案。本文设计的车牌识别系统采用加权平均的灰度变换和Roberts边缘检测对车牌图像进行了预处理;在车牌定位与分割模块采用边缘检测和形态学
2、运算完成了对车牌的定位;在字符分割模块采用投影分析和字符纹理特征相结合的方法实现了对字符的准确分割;在字符识别模块采用模板匹配和BP网络识别算法完成了车牌字符的识别。实验表明,利用BP网络算法对汉字、字母和数字具有较高的识别率分别可以达到86%、87%、91%。关键词 图像预处理,车牌定位,字符分割,字符识别毕业设计说明书(论文)外文摘要Title The Algorithm Research and System Design of License Plate Intelligent Recognition AbstractIn recent years, With the sharp in
3、crease in the number of cars,a stable real-time intelligent license plate recognition has become the key to realize intelligent traffic management. This paper mainly discusses and studies about the common algorithms that are used in image preprocessing, license plate localization, character segmenta
4、tion and character recognition which are four part of license plate recognition system. At the same time, a scheme was proposed which can realize recognizing plate from image by programming in MATLAB. In this system, A weighted average of the gray-scale transformation and Roberts edge detection were
5、 used to realize image preprocessing; Edge detection and morphology operations were used to realize Plate localization ; Character segmentation is realized by using projection analysis and character of texture features; Character recognition is realized by using template matching and BP network algo
6、rithm . Experiments showed that the system where BP network algorithm is used has a high recognition rate which can reach 86%, 87% and 91% in Chinese characters, English characters and Numbers.Keywords Image Preprocessing, License Plate Localization, Character Segmentation, Character Recognition淮阴工学
7、院毕业设计说明书(论文) 第 I 页 共I页目 录1 绪论11.1 课题的研究背景与意义11.3 车牌识别研究与发展现状31.4 论文的主要内容与章节安排42 图像预处理52.1 彩色图像灰度化52.2 灰度图像二值化62.3 边缘检测62.4 数学形态学处理82.5 本系统车牌图像预处理93 车牌定位103.1 我国车牌的样式103.2 常用的车牌定位方法103.3 基于边缘检测和形态学车牌定位方法114 字符分割144.1 常用的字符分割方法144. 2 基于投影分析与纹理特征的字符分割方法155 字符识别185.1 常用的字符识别方法185.2 基于模板匹配字符识别方法195.3 基于A
8、NN的字符识别方法206 系统界面设计246.1 系统开发环境与设计目标246.2 系统界面设计246.3 GUI转为可执行文件257 系统测试287.1 车牌定位与分割297.2 车牌字符分割307.3 车牌字符识别与结果分析317.4 实验结论32总 结33致 谢34参考文献35附录A 程序代码36 淮阴工学院毕业设计说明书(论文) 第50页 共50页1 绪论1.1 课题的研究背景与意义科学技术水平的进步和社会经济的快速发展,显著地改变了人们出行的习惯。汽车已经逐步取代了过去的自行车和摩托车成为人们出行的重要交通工具。与此同时,汽车数量的剧增使交通安全、交通拥堵、车辆违章、环境污染等问题变
9、得越来越严重。这些问题直接导致了传统的交通管理方式已经不适用于现代交通管理。为此,自二十世纪八十年代,世界上部分发达国家和正处于发展中的国家的许多研究者在交通智能管理层面做出了大量的贡献并为交通智能管理的提供了重要的研究数据。在这种背景下,更多研究者开始对智能交通系统(Intelligent Transportation System,简称ITS)展开了深入的探索,这对未来交通智能化管理的发展提供了重要的技术支撑。车牌号码是判断一辆车是否合法的重要依据,即对车而言车牌号码就是车牌的身份证,知道了车牌号码我们就可以用这个号码来查询这辆车的所有信息。车牌识别中的相关技术都是借助于图像的处理和计算机
10、的视觉以及模式的识别,依赖于电脑进行数据的处理,实时并准确地从静态或动态的车辆图像中提取车牌号来实现车辆的智能化管理,如违章管理、停车管理等。因此这些技术手段所采用的算法已经成为了推动交通智能管理技术进步和发展的重要算法基础。车牌识别系统可以在不考虑当前车辆是处于行驶中还是处于停车状态并依赖于计算机的处理来实时、准确、自动地识别当前车辆的车牌号,将车牌识别系统应用于智能交通管理系统可以大大简化交通管理流程和提高交通管理效率,因而研究具有处理速度迅速且牌照识别准确率高的自动车牌识别系统对实现交通管理自动化和智能化具有非常重要的意义和经济价值。目前车牌识别在交通智能的管理系统当中可以被用来对拥挤路
11、段车流状况的检测和控制、高速公路上车辆进行自动检测和收费、追踪定位被盗车的位置、停车场收费、交通违章自动处罚等。将这些管理系统应用到对交通路面的控制极大的缩短了交通管理时间和改变了以前当一辆车违章时必须用笔记录车牌号的传统的人工交通的管理方式且检测车牌号码并收取相关管理费用很大程度的缓减了车辆拥堵。1.2 系统概述1.2.1 系统构成及模块功能车牌识别系统整个图像数据的处理流程模块图如图1.1所示,以下将从图像处理的角度分别讲解图像预处理、车牌区域定位、车牌字符分割以及车牌字符识别这四个处理阶段常用的图像处理方法与处理的目的3。图1.1 车牌识别系统模块框图由于直接输入识别系统的车牌图像都是用
12、摄像机直接获取的,因而原始图像背景复杂且由于光照和天气的影响,原始图片中还含有噪声,若不能针对图像的背景和干扰进行合理有效的处理,肯定是会极大地影响到车牌的位置区域定位、字符的有效完整分割与正确识别。因此要保证系统消耗较少的时间但具有高的识别正确率必须在开始的时候对图像进行有效的处理。预处理包括灰度转换以减小数据提高识别速度、图片的增强和滤除干扰并提升图像的品质、图片二值化便于车牌定位。车牌区域定位是指在图像预处理的基础上从图像中准确地找出车牌所在的位置,通过一些算法将车牌区域从图像中分离出来以便进行车牌识别。牌照区域定位切割准不准确对牌照中字符的切割与识别非常关键。目前应用于确定图像中车牌位
13、置的算法主要有基于车辆牌照纹理特征、边缘检测、数学形态学、神经网络和车辆牌照颜色特征的定位算法。牌照的字符切割是指选用某种适当的切割算法,将牌照中的所有号码完整的分离切割出来。如果切割算法选取不当则必然会导致号码识别发生错误,所以切割算法的选取对号码切割和号码识别的正确性有着非常关键的作用且影响着整个车牌识别系统的精度。为了进行准确的字符分割,常用的切割字符算法主要有根据模板匹配和轮廓的切割算法以及基于投影和轮廓的分割算法。牌照字符识别主要是利用牌照与其中的字符本身固有的特征来进行识别。字符的特征主要有两种:第一是车牌上的字符采用的都是规范化的印刷字符;第二是图像的基本单位是像素,不同的图像像
14、素的分布特征也不同,因而可以利用图像的像素特征来进行字符识别4。为了从车牌图像中高效并准确的识别字符,识别系统中常用的识别方法有基于模板匹配和神经网络字符识别算法5。1.2.2 影响系统性能的因素牌照识别系统主要是对包含有牌照且背景复杂的静止或运动的图像进行处理。所以除了中国车牌本身的特殊性和复杂性之外图片拍摄的质量和拍摄时所处的外部环境以及拍摄角度是影响车牌识别系统性能的主要因素。 我国的国内车牌除了它的样式、尺寸和颜色不同外,其车牌组成相比其他国家而言也是比较复杂了,车牌主要包含10个数字和24个字母(除去了O和I) 以及32个汉字组成(其中23个汉字表示23个省、5个表示自治区、4个表示
15、直辖市的简称),和数字、字母相比汉字的组成和特征更加复杂,识别难度相当大,这也是为什么国外的许多车牌识别系统不适用于我国的智能交通管理。在不同的天气用同一个相机拍摄同一个车牌图像,由于光照和环境的不同,图像中的噪声也不同。比如在雾天和晴天,晴天拍摄的图像比雾天拍摄的图像更加清晰且图像基本不会出现彩色失真。这将直接影响牌照准确无误的定位和字符的完整分割影响到整个系统的识别率。在实际的交通管理中,用于拍摄车牌图像的摄像头位置是固定的,但车相对于摄像头位置不是固定的,且不同的车辆车牌的位置也不相同,这就会导致摄像头拍摄车牌的角度会产生较大的差异,这必然会导致车牌在图片中产生倾斜继而导致车牌中的汉字、
16、字母和数字产生变形,这些都将会对车牌的定位、车牌字符分割和识别产生较大的影响,继而使整个车牌识别系统的性能严重下降。1.3 车牌识别研究与发展现状车牌识别从1988年提出到现在有很多研究人员对其进行了算法的研究并取得了许多研究成果,车牌识别中的相关技术的应用也因此得到了迅速的发展6。车牌识别主要应用于智能化的交通管理系统中,实现对图像中的车牌号码进行自动的识别,并保持高的准确性的实时性。由于所要识别的图像存在很多的干扰信息如光照条件的不同、外界环境能见度的不同、车牌上有泥土或生锈等,因此车牌识别还存在很多的技术难点7。针对这些干扰,研究人员主要是通过改进相关算法来提高识别率。起初由于获取的图像
17、像素不够,因而图像比较模糊,这主要是由于摄像头的分辨率较低导致的,车牌识别也因此而发展缓慢。面对这一现实问题,一些国外的研究人员主要提出两种图像获取途径:一是针对光照提出用红外摄像头获取更加清晰的图像;二是用特殊功能的传感器来获取更加精确的数据,但两种解决方案都因成本太高而无法推广使用。近年来,随着摄像头精度的提高图像清晰度也有了大幅度的提升,车牌识别也因此得到了迅速的发展与应用。例如Huang Mu Wang设计的APC-Based Car License Plate Reader能够以较高的识别率实现实时的车牌识别,经实验研究该系统的识别率为97%;Optimal Recognition
18、of Motor Vehicle License Plates可以在行驶状态下实现实时的车牌识别且识别率为91%;Hi-Tech Solutions开发的See/Carsystem可以实时且准确的进行不同国家车牌的识别;还有像日本、欧洲、美国等国家都开发了自己的车牌识别系统,但是这些只能用于识别本国的车牌而不能识别其他国家的车牌8。由于我国的车牌识别系统研究开始于80年代且车牌种类多,车牌的物理特征不同,所以所获得的研究成果还达不到实用的要求。由中科院开发的汉王眼车牌识别系统是我国车牌识别系统研究应用的最高水平9。目前中国研究车牌识别系统的学者和研究人员很多,也发表了很多关于车牌识别的研究成果
19、。但这些实现的仅仅局限于单一环境状态下,如果环境改变则识别效率就会变得很低。正是因为我国车牌的复杂因素所以才导致了车牌识别系统达不到实用的要求,最好的识别系统汉字的识别率仅有50%,字母的识别率只有65%,所以针对这一方面还要多加研究10。1.4 论文的主要内容与章节安排本课题的主要内容是查阅大量的国内外关于车牌识别的相关文献并研究参考国内外相关的算法理论,设计了一个车牌识别系统并对其进行实验和对实验的效果进行了详细研究与分析。论文的章节安排如下:第一章首先介绍了本课题当前研究的背景与意义,其次对牌照识别系统的结构和系统中各个模块以及影响车牌识别系统性能的因素作了介绍与分析,最后在查阅了大量文
20、献的基础上介绍了牌照识别的研究与发展现状。 第二章主要介绍了本文在对车牌进行定位和分割之前为了将车牌区域从背景复杂的图像中凸显出来所采用的图像预处理方法。首先对彩色图像转化为灰度图像做了详细的阐述,然后讨论研究了图像预处理常用的算法和算法思想,如图像增强、图像去噪、图像二值化、边缘检测、图像的形态学处理等。最后确定本系统应采用的图像预处理方法并通过MATLAB编程实现并分析这些处理方法达到的效果。第三章首先详细介绍了中国车牌在外形尺寸特征、车牌的颜色特征和车牌字符特征;其次详细介绍了常用的车牌定位方法;最后介绍了本系统所选用的利用二值牌照图像的纹理特点与白像素点投影统计分析的定位算法,并给出了
21、这种定位算法的定位效果,并对其做了说明与分析。 第四章主要介绍了常用牌照的字符切割算法,并详细介绍了本文所采用利用图像的投影来进行字符分割的算法,并对分割的效果做了详细的分析。第五章介绍了常用的字符识别方法,并详细介绍了本文采用的基于模板匹配和ANN的牌照的字符识别方法,并给出这两种方法的识别结果。第六章主要介绍了系统的GUI设计和软件封装流程和将GUI转换成可执行文件的流程,最后通过测试检验软件封装是否正确。第七章主要是对系统的车牌定位、字符分割、字符识别模块进行测试,并给出测试结果和结论,最终确定系统的性能。2 图像预处理2.1 彩色图像灰度化在复杂背景中定位出车牌是在将数据量庞大的24位
22、真彩色图像转化为数据量较小的二值图像(灰度值只有0和1的灰度图)的基础上进行的,这也就意味着从彩色图像到灰度图像必然会涉及到不同彩色空间的转换。由于我国的车牌背景和车牌中的字符的颜色有多种不同的搭配,所以在前期有必要对图像的色彩空间模型有一个大致的了解。彩色空间有多种不同的表示方法,常用的有RGB(Red Green Blue,红绿蓝)彩色模型、六角锥体(Hue Saturation Value,简称HSV)颜色模型、色度明度(Luminance Chrominance,简称YUV)颜色模型三种。通过查阅资料将RGB彩色图像转化为灰度图像的方法主要有分量法、加权平均法、平均值法、最大值法,由于
23、本系统采用的是加权平均法,所以下面将着重介绍加权平均法。R、G、B表示像素的三个分量的英文缩写,分量的取值为0 255,也就是说像素的颜色取决于红、绿、蓝分量的配比。24位真彩图表示图中的每个像素点占24个二进制位,红绿蓝三个分量各占三分之一空间,而灰度图像是指每个像素只占一个字节空间,像素只含有亮度信息且取值范围为0255。所以通过将彩色图像转化为灰度图像将会使图像的数据量大大的减少,这将减少程序的处理时间,对提高程序的实时性产生了积极的影响且可以达到一定的除噪效果。加权平均的灰度转化是对彩色图像像素的各个颜色赋予不同的权值,然后对分量作加权平均计算11,转换如公式2.1所示。 (2.1)式
24、中、分别表示图像处的红、绿、蓝三个彩色分量、以及转换后像素的灰度值,公式中彩色分量的系数即为对应分量的权值。2.2 灰度图像二值化将彩色图像转化为灰度图像只是将灰度值缩放到了0 255区间中。为了简化计算量和系统的算法复杂度,一般还会对图像进行二值化处理,所谓的二值化就是将灰度图像的灰度值从一个区间范围转换成只有两个灰度值0或255,0表示黑色,255表示白色,在实际处理过程中通常用1表示白色,0表示黑色。二值化的过程是首先根据目标对象的灰度范围设置一个固定的值用于判断,将大于该数值的灰度值的点取灰度值为1,小于该数值的灰度值的点取值为0,如公式2.2所示:式中表示二值化后像素点的灰度值,表示
25、原始图像的像素值,为二值化阈值。 (2.2)由图看出挑选一个合理的值是二值化处理的关键步骤,常用的挑选阈值的方法有两种分别是全局和局部阈值,全局的含义是指在整幅图片二值处理过程中只有一个阈值,因此对于背景简单的图片来说用全局阈值效果比较理想。局部二值化是指在处理图像时选用多个阈值对图像进行二值化处理。这种方法主要针对光照不均、灰度变化明显的灰度图像,阈值的选取主要依赖于像素点的值和该像素点周围像素点的特点。2.3 边缘检测在图像中所谓的边缘从数字的含义上来说是图像中亮度值显著变化的部分,也就是说边缘主要出现在图像中不同物体、不同区域、不同对象之间。因为车牌形状是矩形且牌照牌的背景色和字符的颜色
26、具有明显的差异,所以用边缘检测更加有助于确定牌照区域的轮廓。常见的边缘检测梯度算子主要有Roberts和Sobel以及Prewitt,以下将对这些做详细的讲解12。2.3.1 Roberts算子 一个二维函数在点处的梯度向量的公式如公式2.3所示,式中用表示函数在X方向上的偏导数,表示函数在Y方向上的偏导数。 (2.3) 由于函数在一个点处的梯度向量的模是方向导数的最大值,所以函数在一点的梯度值为,其计算公式如公式2.4所示。(2.4)一幅数字图像可以看成是一个离散的二维函数,用差分来计算梯度,其梯度值公式如公式2.5所示。(2.5)Roberts梯度幅值的计算公式如公式2.6所示。(2.6)
27、将该式用卷积模板表示,如公式2.7所示,、对应算子模板如公式2.8所示。 (2.7) (2.8)、分别在和时对边缘最敏感,Roberts算子可以使图像的轮廓变得更加突出且算子形式比较简单,出于边缘检测的目的是为了使图像的轮廓的以增强,所以本课题主要采用Roberts算子对图片进行边缘的增强处理。2.3.2 Prewitt算子Prewitt算子也是常用的一阶导数梯度算子,与Roberts梯度算子相同的地方是其也包含两个模板、(如公式2.9所示)分别对水平和竖直的边缘最敏感,其主要的思想是计算中心像素点周围的八个像素点计算加权平均值,八个像素点的权值都为1。由此可以看出,这种梯度算子对于目标边缘区
28、域只有其上下左右两边的幅值相差较为明显时才能较好的检测目标区域的边缘,反之则目标区域的边缘检测效果会很不理想。 (2.9)2.3.3 Sobel算子Sobel算子的主要思想和Prewitt算子一样都是对中心像素点周围的八个像素点做加权平均,但是Sobel算子对这八个像素点按照距离中心像素点的不同分别给其赋予不同的权值,Sobel算子同样具有水平和竖直两个方向的卷积模板,分别为、(如公式2.10所示),经过Sobel算子边缘检测处理后,图像像素点与原图像的像素点的关系如公式2.11所示。 (2.10)(2.11)2.4 数学形态学处理数学形态学是一种以形态为基础对图片展开分析的数学工具,其原理是
29、用一个固定形状的结构元素来获取和度量图片中具有与结构元素相同形状的地方,以此来对图像进行分析和识别。利用数学形态学对图片进行操作可以在减少图片的数据和除去图片中不相干结构的同时能使图像的基本形状不变。数学形态学有两种最基础运算分别是膨胀、腐蚀,两种运算对图片具有不同处理效果,以下将详细讲解。2.4.1 膨胀将作为膨胀运算的运算符,用一定形态的元素B对图像集合A进行膨胀操作公式定义如公式2.12所示,其中是形态元素B关于原点的映射。(2.12)由公式可知用结构元素对图像进行膨胀运算的过程就是先求得结构元素B关于原点的映射,再用B关于原点的映射在图像中平移记作,在平移过程中如果与集合A的交集不为空
30、,则结构元素B的原点就是膨胀运算后膨胀集合中的像素。由此可以看出,膨胀运算的最终结果就是使要提取的目标形状变大,膨胀的结果主要取决于结构元素形状的选取和结构元素原点位置的设定。2.4.2 腐蚀将作为腐蚀运算的运算符,则用一定形状元素B对图像集合A进行腐蚀操作如公式2.13所示:(2.13)由公式可知用结构元素B对图像进行腐蚀操作的过程就是用B在图片集合A中平移后B全部包含在A中的原点组成的集合。对图像进行腐蚀的作用是使目标的边界得以缩小,当选择的结构元素足够大时可以滤除整个目标区域,因此在进行腐蚀操作时选取尺寸和类型恰当的结构元素可以很好的滤除图像中不能完全包含结构元素的噪声,虽然这种腐蚀操作
31、会改变我们以后操作所要提取出的目标区域的形态,但是对于在一张图片中我们只要知道车牌位置的车牌识别系统来说,腐蚀操作产生的这种影响是可以忽略的。2.5 本系统车牌图像预处理在本系统中图像的预处理模块的过程是:首先选用加权平均的方法将拍摄的彩色图像转化为灰度图像,原图像如图2.1所示,灰度转化后的灰度图像如图2.2所示。 图2.1 车牌原始图像 图2.2 车牌灰度图像绘制灰度图像2.2的灰度直方图,如图2.3所示,灰度直方图的横坐标表示灰度级(经过灰度化处理后灰度值范围为0 255),纵坐标的表示像素点的个数;由于车牌的形状是长方形且车牌中字符之间间隔相等依次水平排列,且各个字在竖直方向具有较丰富
32、的竖向边缘特征,所以由于这些特征最后决定选择使用Roberts算子对灰度图片的水平和竖直方向进行边缘检测,其结果如图2.4所示。 图2.3 灰度图像的灰度直方图 图2.4 Roberts边缘检测后的图像本系统未对灰度图像进行滤波和锐化处理而直接选用Roberts算子对车牌图像进行边缘提取主要原因有两个:一是对图像进行滤波相当于对图像进行了平滑处理,虽然滤波会滤除图像中的一些噪声,但是滤波也会使图像中目标的边缘变得模糊,致使系统在对图像进行边缘检测时由于边缘模糊不清无法检测出车牌的边缘信息;二是虽然图像的锐化是为了能增强图像中物体的边缘,但是在边缘增强的同时噪声干扰也得到了增强,致使系统在对图像
33、进行边缘检测时出现较多的干扰。3 车牌定位3.1 我国车牌的样式车牌的使用是为了使机动车的管理更加便捷。我国的机动车车牌的尺寸和颜色有多种且车牌号由汉字、字母和数字组成,且车牌中字符的顺序、字符的尺寸和字符间的间距也有一定的规则。其具体规则为:首先车牌号的首个汉字表示的是车牌所属的省、自治区、直辖市的简称,第二个字母表示车牌所属的市,后面的字符是由数字和字母组成,从00000-99999,当数字不够用时在用字母A-Z(除去字母I和O);其次车牌号中字符的大小尺寸均为高宽90*40(mm*mm),字符间的间距统一为12mm,第二个字符和第三个字符之间的“.”的宽度为10mm13;最后不同用途的车
34、辆,车牌的外形尺寸和颜色是不同的,不同用途车辆车牌尺寸及颜色。 3.2 常用的车牌定位方法3.2.1 基于纹理特征车牌定位方法任何物体每个部分都是不同的,但从整体来说从一个部分变化到另一个部分都是有规律可循的,这就是物体的纹理特征。一个车牌由于包含三种不同的字符包括汉字、字符和数字,所以在各个字符与车牌背景之间会产生灰度跳变。据此从一个图像中定位一个车牌可以借助于纹理特点来完成。其基本思想是对经过图像预处理后的灰度图像进行行扫描统计灰度的跳变数以确定车牌候选区域的顶部和底部的水平位置,再通过列扫描统计灰度的跳变数来进一步确定车牌候选区域的左右两侧所在列的位置。在扫描过程中可能会出现多个候选区域
35、,所以接下来就是寻找并设定一个合适阈值,以此来确定车牌的所在的位置。这种定位方法对失真严重或分辨率较低的车牌图像有非常好的定位效果,但是对车牌背景较为复杂或由于拍摄角度的问题使车牌产生严重的倾斜的车牌图像定位效果极差。3.2.2 基于颜色信息车牌定位方法图像的灰度化虽然使图像的数据量大大减少且简化了程序的计算量,但灰度化使图像原有的颜色信息丢失严重。早前大部分对车牌图像的研究都是在灰度图像的基础上进行的且在这方面的研究也日趋成熟。现在很多学者开始研究从彩色的图片中定位出切割出牌照的方法。基于彩色图像的车牌定位方法主要思想是首先将RGB车牌图像转化为HSV彩色空间的图像,根据HSV颜色空间的亮度
36、和色调以及饱和度对图片像进行分割,找出车牌区域并根据车牌的先验知识定位切割出车牌。由于我国汽车的车牌颜色随着车辆用途的不同而不同,所以利用这种定位方法只能定位出单一颜色的车牌,对其他不同颜色的车牌不适用。3.2.3 基于边缘检测车牌定位方法由于我国的车牌区域的字符按照一定的规律排列,所以车牌区域中字符会产生较多的边缘信息。由车牌区域的这一特性,我们可对车牌的边缘进行分析。基于边缘分析的牌照定位的基本过程是:首先将牌照图像灰度化,然后再分析并提取灰度图片的边缘信息确定牌照所在的位置,最后根据车牌的尺寸和车牌号字符的间距、字符的尺寸来去除干扰的部分,最终定位出车牌区域。3.2.4 基于形态学的车牌
37、定位方法基于形态学的牌照定位方法主要思想是首先将牌照图像灰度转化并将其二值化,其次选取一个垂直方向的结构元素,并用这个结构元素对图像进行腐蚀操作滤除干扰,然后对图像进行形态学闭运算来修复牌照区域中的小漏洞,以此来使牌照区域变成一个连通的矩形区域,最后通过车牌的边缘特征对汽车的车牌进行准确的定位。3.3 基于边缘检测和形态学车牌定位方法本文设计的车牌识别系统首先采用边缘检测对进行图像处理突出车牌区域,然后采用形态学处理(包括腐蚀、开运算、闭运算)降低噪声干扰并将车牌区域变成一个连通的长方形区域,最后将连通区域作为车牌的候选区域14,然后通过边缘检测来将车牌区域定位剪切出来,其处理流程框图如图3.
38、1所示。图3.1 车牌定位处理框图3.3.1 图像的形态学处理由图2.4可知,车牌图像在经过预处理阶段的Roberts边缘检测处理后,车牌的边框和车牌内字符的横向和纵向边缘都得到了不同程度的加强,但是由于图片背景复杂,所以边缘检测也使噪声得到了加强。从边缘检测的结果中我们可以很明显的看出噪声主要是横向边缘得到了加强,而车牌的横向和纵向都得到了加强尤其是车牌字符的纵向边缘。由此本系统采用构建垂直方向的结构元素对边缘检测后的图像进行腐蚀处理,这样便可大大减少噪声的横向干扰,腐蚀结果如图3.2所示。 图3.2 腐蚀处理后的图像 图3.3 闭运算后的图像将图3.2与图2.4比较可以很明显的看出图像中噪
39、声的横向干扰已被滤除只剩下一些纵向的干扰。同时也可以看出车牌区域的边框和字符的边缘纹理还存在残损,因此在腐蚀处理后还需对车牌区域的残损进行修补,使车牌区域形成一个连通的区域。由此本系统采用10*25的矩形结构元素对腐蚀后的图像进行闭操作,使牌照的位置区域变成一个连通的矩形,闭操作结果如图3.3所示。图3.4 开运算后的图像由图3.3可以看出,腐蚀处理后留下的纵向干扰经过了闭运算后也形成了一些大小不同的连通区域,但是相对于车牌的连通区域来说这些区域的面积比较小。由此本系统采用开运算来滤除图像中面积小于2000的连通区域,开运算的结果如图3.4所示。由图3.4可以看出面积较小的连通区域已经基本被滤
40、除了,图像中只剩下车牌部分的连通区域,因此开运算后车牌的区域已经初步确定,接下来就是对车牌进行准确的定位与分割。3.3.2 车牌定位与分割经过以上形态学腐蚀、闭运算、开运算后图片中的干扰大部分已经被消除,只剩下车牌所在的区域,由于车牌的长宽比是固定的,所以可以利用这个特点对图3.4进行行扫描来确定车牌的上下边界,然后对其进行列扫描来确定车牌的左右边界,最终确定车牌的位置并将其定位切割出来。以下将介绍如何通过行列扫描确定车牌的具体位置。首先新建一个行向量和列向量,其大小与图像矩阵的行和列相同,对开运算后的车牌图像从上到下逐行扫描并计算各行中的白像素点数,将统计结果按行扫描的顺序存放在行向量中。统
41、计结束后取白色像素点最多的一个行,然后设置一个阈值T用于判断车牌区域的边界,本系统根据统计实验得出T=25,当图像的一行中白色像素点数大于等于25表示是车牌区域,当小于25时表示此处是车牌的边界,记下这个行的位置信息,通过从白色像素点最多的那一行开始向上逐行判断可以确定车牌在行方向的顶部,同理向下逐行判断可以确定车牌在行方向的底部,这样经过行扫描就可以确定车牌的水平方向的上下边界,其行定位结果如图3.4中右边部分。按上面的步骤对图像进行列扫描,再将阈值设置为T=3,这样就可以确定车牌在图像中垂直方向的左右边界,其定位结果如图3.4中左边部分。 图3.4 行列定位(左边为列定位、右边行为定位)
42、经过行列定位后车牌在原图像矩阵中的上下坐标和左右坐标就确定了,然后从原始的彩色图像中将车牌剪切出来,其剪切结果如图3.5所示。图3.5 定位剪切后的车牌4 字符分割4.1 常用的字符分割方法4.1.1 基于投影的字符分割方法由于车牌字符之间有固定宽度的间隔,所以将已经分割出来的车牌图像沿垂直方向作投影,在字符间隔的位置投影后会形成非常明显波谷,投影结果如图4.1所示。由于车牌中字符之间的间隔是固定的,所以基于投影的字符切割分离方法可以通过设置一个合适的阈值对车牌字符进行分割。当投影后某列的像素点总数在这个阈值范围内,就将该位置判定为字符间的间隔区域,然后在这个位置对图像进行切割,最终能将字符依
43、次切割出来15。虽然用这种方法对车牌字符进行切割算法简单、分割耗时短,但是这种方法稳定性差。如果车牌图像字符间出现粘连的情况,那么这两个互相粘连的字符之间不会形成明显的波谷,从而导致导致这两个字符分割错误;又如分割出来车牌图像包含边框部分,通过垂直投影边框和字符之间也会形成明显的波谷,这就会导致误将车牌的边框判断成字符导致分割出错。所以为了对字符进行准确的分割一般都是将这种方法和其他分割方法结合起来使用。图4.1 垂直方向投影4.1.2 基于模板匹配的字符分割方法因为车牌中字符的宽度和高度以及字符间的间隔都是有固定尺寸的,所以基于模板匹配的字符分割算法的基本思想就是设计一个与车牌字符宽度和字符
44、间隔相同的两个模板,将设计的模板在定位好了的车牌内移动并计算字符模板和间隔模板内像素个数的比值并将该比值的极小值作为需要分割的位置。由此可以看出这种方法很好的克服了字符粘连、干扰复杂的车牌中字符不能精确分割的问题。不过这种字符分割方法只能用于质量较高的车牌图像,而且很难构造字符宽度模板和字符间隔模板。在车牌图像由于受损严重而导致形状改变的情况下,要想准确地对字符进行分割必须做多次模板匹配,这将大大增加字符分割的时间,导致不能对图像中的字符进行准确完整地分切割。4. 2 基于投影分析与纹理特征的字符分割方法本系统字符分割模块的处理流程框图如图4.2所示。图4.2 字符分割模块流程框图经过了车牌的
45、定位与分割处理后,车牌部分被完整的切割出来,但是从图3.5可以看出切割出的车牌区域还含有一些噪声,如车牌的边框和铆钉等,所以在对车牌中的字符进行切割之前必须对彩色的车牌进行预处理,包括车牌的灰度化、二值化、车牌的滤波去噪。以下将详细介绍三个内容:第一是牌照预处理中所采用的有效方法;第二是如何将车牌的边框和铆钉去除;第三是本课题所设计的系统采用基于投影分析和牌照纹理特点相结合的字符切割割方法。4.2.1 车牌图像预处理彩色的车牌图像包含较多的数据量,所以本系统采用加权平均的灰度化方法对定位剪切出的车牌图像进行灰度化处理以减少图像的数据量。然后采用基于纹理的全局二值化方法对车牌的灰度图像进行二值处
46、理,全局阈值 ,式中Max、Min表示灰度图片中像素的最大灰度和最小灰度,w是经过实验得出的一个常系数,图像的不同w值也是不同的,但在处理同一张图片是w是固定不变的16。对车牌图像进行二值化就是将各个像素点的灰度值与该阈值比较,当灰度值比该值小就将其灰度设为0即为黑色,当像素点的灰度值大于该阈值时就将其设为1即为白色,经过全局二值化处理后车牌的二值图像如图4.3所示。 图4.3 车牌二值化 图4.4 均值滤波后的图像由图4.3可知经过二值化处理后图像的边框部分也会有白色像素点,这会对字符分割造成干扰,因此在分割之前还需对图像进行滤波去噪。本系统采用均值滤波对图像进行滤波,用均值滤波算子H对图像进行均值滤波,H如公式4.1所示,均值滤波处理后的图像如图4.4所示。(4.1)由图4.4可以看出,经过滤波后的图片中依然会存在干扰,因此还需对图像进行进一步的处理。图4.5 形态学滤波后的图片由于字符像素点个数与整个车牌像素点个数的比值范围为大于于0.235且小于0.365,所以在滤波后还要进行判断,当字符与车牌的面积之比小于0.235时说明车牌图像中字符出现残损,则需要对图像进行膨胀操作,当字符与车牌的面积之比大于0.365时说明车牌中存在噪声干扰,需要对图像进行