《基于matlab车牌识别系统设计与实现(共36页).doc》由会员分享,可在线阅读,更多相关《基于matlab车牌识别系统设计与实现(共36页).doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 南 阳 理 工 学 院本科生毕业设计 (论文)学 院:电子与电气工程学院专 业:电气工程及其自动化学 生: 指导教师: 完成日期 2014 年 5 月 南阳理工学院本科生毕业设计(论文) 车牌识别系统设计与实现Design and Implementation of License Plate Recognition System 总 计: 30页 表 格: 1个 插 图: 19幅南 阳 理 工 学 院 本 科 毕 业 设 计(论文) 车牌识别系统设计与实现Design and Implementation of License Plate Recognition
2、System学 院: 电子与电气工程学院 专 业: 电气工程及其自动化 学 生 姓 名: 学 号: 指 导 教 师(职称): 评 阅 教 师: 完 成 日 期: 南阳理工学院 Nanyang Institute of Technology专心-专注-专业车牌识别系统设计与实现摘 要汽车车牌的识别系统是现代智能交通管理的重要组成部分之一。车牌识别系统使车辆管理更智能化,数字化,有效的提升了交通管理的方便性和有效性。车牌识别系统主要包括了图像采集、图像预处理、车牌定位、字符分割、字符识别等五大核心部分。本文主要介绍图像预处理、车牌定位、字符分割三个模块的实现方法。本文的图像预处理模块是将图像灰度化
3、和用Roberts算子进行边缘检测的步骤。车牌定位和分割采用的是利用数学形态法来确定车牌位置,再利用车牌彩色信息的彩色分割法来完成车牌部位分割。字符的分割采用的方法是以二值化后的车牌部分进行垂直投影,然后在对垂直投影进行扫描,从而完成字符的分割。关键词:MATLAB;图像预处理;车牌定位;字符分割Design and Implementation of License Plate Recognition SystemElectrical Engineering and Automation Specialty Yang Hui-binAbstract:Car license plate rec
4、ognition system is an important part of the modern intelligent traffic management. The vehicle license plate recognition system management more intelligent, digital, effectively improve the convenience and effectiveness of traffic management. License Plate Recognition system includes five core part
5、of the image acquisition, image preprocessing, license plate location, character segmentation and character recognition.This paper describes the image preprocessing, license plate location, character segmentation method of three modules. Image pre-processing module of this article is to image gray a
6、nd step by Roberts operator edge detection. Plate positioning and segmentation using mathematical morphology is used to determine the license plate location method, and then use the color information of the license plate color segmentation method to complete the license plate parts division. The met
7、hod used is based on the character segmentation plate after binarizing the vertical projection, the projection and the vertical scanning, to complete split characters.Keywords:MATLAB softwar; image preprocessing; licenseplatelocalization;character segmentation目 录1 引言1.1车牌号识别系统概述(1)车牌号识别系统的研究背景 随着经济社
8、会的迅猛发展,人们的生活水平的提高,私有车辆不断增多,公路上的车辆超速,超载以及日常丢车的现象越来越严重,尤其在高速公路的出口或者进口处,由现在的科技的限制无法采用自动计费方式,所以就造成了收费缓慢,造成了交通的堵塞,严重影响了社会的安定和人们的日常生活,为了提高车辆的管理效率,缓解公路上的交通压力,我们必须找到一种解决方案。汽车车牌是每辆车的名片,在生活中每辆车的车牌是不同的,因此车牌是确定每辆车的依据。而城市尤其是大中城市的公路交通管理变得越来越复杂,智能交通管理系统的设计和实施因而受到大众和政府的重视,汽车牌照自动识别可用于公路路口,停车场,高速公路收费站以及收费公路路段(如隧道)等场合
9、,车辆号码牌识别系统,对现在人们的生活有着极大的现实意义,它大大提高了交通管理水平,为人们的出行带来了便利1。(2)选题的目的与意义随着人们生活水平的逐渐提高,私家车的出现越来越多,城市交通的压力扩大,如何高效进行交通管理也成为现在生活中所关注的焦点问题,于是各种各样的交通道路监视、管理的系统出现在了人们的视线当中,这些系统主要是通过对其过往的车辆进行检测,提取中间的交通数据,以达到监控,管制,指挥调度的目的。汽车车牌的识别是当中的重要环节,是实现现代化交通管理和智能化的关键,也是现今交通工程研究领域的重点。识别算法的好坏关系到识别的正确性好高效性。而传统设备如IC卡识别因价格昂贵,设备复杂无
10、形中增加了企业的成本,因此基于图像处理的车牌识别方法,努力提高车牌识别系统的性能是有非常重要的现实意义。(3)国内外发展状况在上个世纪人们就开始了对车牌识别技术的开发和应用。车牌识别系统最主要的就是怎样获得车牌图片并自动从图像中分析出车辆号码牌。在车牌识别系统研究中,许多的新技术和新方法被不断地提出并应用,例如图像处理技术、模糊数学理论、神经元网络算法等等,也有人将一些传统方式和高新技术相结合来进行应用,但到目前为止在车牌识别的过程中,虽然运用了很多的技术方法,但由于外界环境光线变化、光路中有灰尘、季节环境变化及车牌本身被污染而模糊等条件的影响,使得车牌识别系统一直处于实验室阶段,得不到很好的
11、应用;而且,很多的方法都需要大量的数值计算,不能很好地满足实时性要求。由于各种客观的不利环境因素存在,还没有一种解决办法可以作为最有效的方式来解决应用中的所有技术难题。所以车辆号码牌识别系统的研究具有非常重要的现实意义。国外在这方面的研究工作开展较早。早在上世纪70年代,英国就在实验室中完成了实时车牌检测系统,的广域检测和开发。同时代,还诞生了面向被盗车辆的第一个实时自动车牌监测系统。直至今日,国外对车牌检测的研究已经取得了一些令人瞩目的成就,如YuniaoCul提出了一种车牌识别系统,在车牌定位以后,利用马尔科夫场对车牌特征进行提取和二值化,对样本的识别达到了较高的识别率。关于车牌识别技术及
12、定位系统研究,在我国已经有了十几年的发展历程,目前系统的应用还处于起步阶段,大规模投入使用的成熟系统还没有出现,汽车牌照识别系统作为改进交通管理的有效工具,技术水平仍需完善。由于我国汽车车牌识别的特殊性,采用任何一种单一识别技术均难以奏效。目前正在研制的无源型汽车牌照智能识别系统综合利用了车辆检测技术、计算机视觉(ComputerVision)技术、图象处理技术、人工智能技术和人工神经网络技术等,是一个比较有发展前途的车牌识别系统。1.2 MATLAB介绍MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国公司发布的主要面对科学计算、可视化以及交互
13、式的高科技计算环境。它将、科学数据可视化以及非动态系统的和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效的众多科学提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平2。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模
14、设计与分析等领域。2 车牌识别系统整体方案设计2.1 系统的基本原理车辆牌照识别系统的基本工作原理为:将摄像头或其它图像采集装置采集到的包含车辆牌照的图像输入到计算机中进行图像预处理,再经过定位,并分割出包含牌照字符的矩形区域,最后对牌照字符进行二值化并将其分割成单个字符并输出车牌号码的数字。我们知道采集的彩色图像包含大量颜色信息,会占用计算机较多的存储空间,并且会降低图像处理速度,因此对图像进行识别等处理时,通常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理、边缘提取、再对车牌进行定位。然后字符分割、车牌识别3。具体步骤如图1所示: 采集 图片 图片 预处理 车牌 定位 字符
15、 分割 车牌 识别 车牌 显示 图1 系统基本原理示意图2.2 系统硬件设计系统的硬件主要是对车辆号码牌进行图像采集的设备,其主要作用就是对车辆号码牌进行采集和存储,车牌识别系统的基本硬件配置由摄像机、主控机、采集卡和照明装置等组成。例如在十字路口车辆管理系统中,系统硬件主要包括车辆传感探测器、高性能工控计算机、高分辨率CCD摄像机、CCD自动亮度控制器、高放大倍数镜头和视频采集卡等。在此系统中首先是探测车辆的所在位置和行驶状况等。常用的有微波雷达通过型探测器、测速雷达探测器、声探测器、光探测器、红外探测器、电磁感应探测器和压敏探测器等。应用场合较多的是红外探测器和电磁感应环探测器。它们利用编
16、码调制信号,主要特点是增强抗干扰的能力,具有较强的可靠性。当车辆通过时,前端工控机利用红外线探测到车辆经过的信号时,控制图像采集卡抓拍图像,并对抓拍的汽车图像进行牌照识别,同时控制摄像机光圈的大小,以适应外界环境不同的光照条件。这样就完成了图像的采集过程。本课题主要软件的研究即对matlab的运用,主要工作是设计软件,对已摄取到的车辆照片进行一系列处理,实现车辆号码牌的识别。2.3 系统软件设计本课题软件方面主要采用MATLAB对硬件设备采集到的图像进行全面处理,进而达到识别车牌号码的目的。硬件设备采集到图片后首先要考虑图像的格式。目前比较常用的图像格式有*.BMP、*.JPG、*.JPEG、
17、*.GIF、*.TIF、*.TIFF、*.PNG、*.PCX、*.XWD、*.HDF、*.ICO、*.CUR等,MATLAB的图像处理工具箱,功能十分强大,支持的图像文件格式丰富,如*.PNG、*.JPG、*.GIF、*.PCX、*.BMP等。软件系统的编写大多采用C语言或者MATLAB语言,本课题选用了MATLAB语言。因为MATLAB具有以下优点4:(1) 用户使用方便MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序一般都要经过四个步骤:编辑、编译、链接,以及执行和调试。各个步骤之间是
18、顺序关系,编程的过程就是在它们之间做瀑布型的循环。MATLAB语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以及语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。具体的说,MATLAB运行时,如直接在命令行输入MATLAB语句(命令),包括调M文件的语句,每输入一条语句,就立即对其进行处理,完成编译、链接和运行的全过程。又如,将MATLAB源程序编辑为M文件,由于MATLAB磁盘文件也是M文件,所以编辑后的源文件就可以直接运行,而不需要进行编
19、译和链接。在运行M文件时,如果有错,计算机屏幕上会给出详细的出错信息,用户经修改后再执行,直到正确为止。所以说,MATLAB语言不仅是一种语言,广义上讲是一种该语言的开发系统,即语言调试系统。(2) 编程效率高MATLAB是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。因此,MATLAB语言也可通俗地称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂。(3) 移植性和开放性很好MATLAB是用C语言编写的,而C语言的可移植性很
20、好。于是MATLAB可以很方便地移植到能运行C语言的操作平台上。MATLAB合适的工作平台有:Windows系列、UNIX、Linux、VMS6.1和PowerMac。除了内部函数外,MATLAB所有的核心文件和工具箱文件都是公开的,都是可读可写的源文件,用户可以通过对源文件的修改和自己编程构成新的工具箱。(4) 扩充能力强,交互性好高版本的MATLAB语言有丰富的库函数,在进行复杂的数序运算时可以直接调用,而且MATLAB的库函数同用户文件在形成上一样,所以用户文件也可作为MATLAB的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB的使用效率和扩充
21、它的功能。另外,为了充分利用FORTRAN、C等语言的资源,包括用户已编好的FORTRAN、C语言程序,通过建立Me调文件的形式,混合编程,方便地调用有关的FORTRAN、C语言的子程序,还可以在C语言和FORTRAN语言中方便地使用MATLAB的数值计算功能。(5)语句简单,内涵丰富MATLAB语言中最基本最重要的成分是函数,其一般形式为a,b,c,.=fun(d,e,f,.),即一个函数由函数名,输入变量d,e,f,.和输出变量a,b,c,.组成,同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性)。这不仅使MATLAB的库函
22、数功能更丰富,而且大大减少了需要的磁盘空间看,使得MATLAB编写的M文件简单、短小而高效。(6)方便的绘图功能MATLAB的绘图是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标、半对数坐标及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不能及的。2.3.1 图像预处理及其MATLAB实现图像在形成、传输或处理过程中,由于获取图像工具的影响,获取图像无法完全体现原始图像的全部信息。受多种因素的影响,如
23、系统噪声、光学系统失真、曝光不足或过量、相对运动等,往往会与原始景物之间或图像与原始图像之间产生了某种差异,这种差异称为降质或退化。因此要改善图像数据,抑制不需要的变形或者增强。对于后续处理来说,以提取图像特征为目的的图像预处理在图像处理过程中显得非常重要。2.3.2 车辆号码牌定位牌照的定位是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置。在采集到的图像中车辆号码牌均在自然背景下,在自然背景中准确地确定牌照所在区域是整个识别过程的关键。首先对采集到的图像进行全面搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域分析、评判,最后选定一
24、个最佳的区域作为牌照区域,并将其从图象中分割出来。车辆定位流程图如图2所示:车牌定位开闭运算边缘处理图像预处理 输入 图像 图2 车牌定位流程图2.3.3车辆号码牌的字符分割完成车辆号码牌定位后,再将号码牌区域分割成单个字符,然后进行识别。针对车牌字符串的特点,字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。车辆号码牌字符分割流程图如图3所示: 切割 字符 寻找字 符中心 水平投 影校正 去掉车 牌外框 图3
25、车辆号码牌字符分割流程图2.3.4 车辆号码牌的识别目前用于车牌字符识别中的算法主要有两种,分别是基于模板匹配的字符识别算法以及基于人工神经网络的字符识别算法。基于模板匹配的字符识别的基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小;然后与所有的模板进行匹配;最后选最佳匹配作为结果。用人工神经网络字符识别进行字符识别主要有两种方法:一种方法是先对待识别字符进行特征提取,然后用所获得的特征来训练神经网络分类器。识别效果与字符特征的提取有关,而字符特征提取往往比较耗时。因此,字符特征的提取就成为研究的关键。另一种方法则充分利用神经网络的特点,直接把待处理图像输入网络
26、,由网络自动实现特征提取直至识别。实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种自然因素的影响,如字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影响因素降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。在本次设计中我们选用的方法就是基于模板匹配的字符识别的方法,这种方法虽然工作量较大,但是本方法相对而言容易实现。3 图像预处理及其MATLAB实现利用摄像头拍摄到的车辆图像往往存在很多噪点,因此在进行识别前要进行车辆图像的预处理。常用的图像预处理方法包括图像的灰度变换,
27、图像平滑等处理方法。车辆图像的预处理主要目的是使车辆图像尤其是牌照区域的图像的质量得到改善,同时保留和增强车牌中纹理和颜色的信息,去除可能影响牌照区域纹理和颜色信息的噪点,为牌照定位提供方便。同时图像预处理是整个系统的首个处理过程对以下一系列的处理过程奠定了基础。其流程图如图4所示:车辆图像读入灰度校正提取边缘平滑处理图4 图像预处理流程图3.1 图像的读取在MATLAB中,使用函数imread来读取图像文件,函数的调用格式如下: imread(filename)Imread所支持的图像格式有很多,我们在此为大家呈现一些重要的图像格式。如表1所示5: 表1 imread所支持的一些常见图像格式
28、格式名称 描 述可识别扩展符 TIFF加标识的图形文件格式.tif,.tiff JPEG由联合图像专家组开发的图像格式.jpg,.jpeg GIF图形交换格式.gifBMPWindows位图.bmpPNG可移植网络图形.pngXWDX Windows转储.xwd3.2 图像的灰度化处理灰度图像即指黑白图像,即只包含亮度信息,不包含色彩信息的图像。真彩色图像都是由三基色R,G,B图像合成后显示的,其原理是自然界中客观存在的任一种颜色都可由3种相互独立的颜色按一定的比例混合而成R(红),G,(绿),B(蓝)。对于灰度图来说0代表黑,255代表白,1-254的每个值分别代表了介于黑色与白色之间的所有
29、深浅不同的灰色色调。在MATLAB中用函数rgb2gray实现图像灰度化的转换,通过加权法平均法,平均值法,最大值法三种方法,实现彩色图像的灰度化处理6。三种算法的计算过程如下:(1)加权平均值法:按照一定的权值,对R、G、B的值加权平均,即: 其中,、分别为R、G、B的权值。(2) 平均值法:使转化后R、G、B的值为转化前R、G、B的平均值 (3) 最大值法:使转化后R、G、B的值等于转化前3个值中最大的一个,即: 去不同的值会得到不同的灰度图。经过函数的计算我们就可以将读入图片进行灰度化处理,本次设计中所需图片的原图和灰度图如图5和图6所示: 图5 车辆原图 图6 车辆灰度图3.3 图像的
30、边缘检测及提取图像的边缘信息是重要的图像信息,图像边缘是指图像局部强度变化最显著的部分,主要存在于目标物体、目标物体与背景、区域与区域(包括不同的色彩)之间,是图像分割、形态分析等图像分析的重要基础,因此边缘检测的方法是图像分析与识别领域中的一个十分引人关注的课题。所谓边缘,是指其周围像素灰度有变化的那些像素的集合。图像中目标的边缘是由灰度不连续性反应的。边缘检测的主要作用是精确定位边缘和抑制噪点,基本思想是利用边缘增强算子,凸显出图像中的局部边缘,然后再定义像素的“边缘强度”,通过设置门限来提取边缘点集。图像中车辆牌照具有比较显著特征的一块图象区域,其特征是:该图像是近似水平的矩形区域;其字
31、符串都是水平方向排列的;在整体图象中的位置固定。由于牌照图象的这些特点,经过适当的图象变换和处理,其在整幅图像中可以明显地呈现出其边缘。以达到边缘提取的目的。MATLAB图像处理工具箱也专门提供了边缘检测的函数,即edge函数。edge函数支持5中边缘检测算子,它们分别是Roberts边缘算子、Prewitt算子、Sobel算子、拉普拉斯高斯算子、Canny算子,此外还有过零点算子方法。Prewitt算子和Sobel算子都是一阶的微分算子,前者是平均滤波,后者是加权平均滤波且检测的图像边缘大于2个像素。这两种算子对灰度逐渐变低的图像有较好的检测效果,但是对于混合多复杂噪声的图像处理效果就不理想
32、7。本次设计中采用Roberts边缘算子,因为Robert算子定位较精确,但由于不包括平滑处理,所以对噪声比较敏感。经过Roberts边缘算子检测的图像如图7所示: 图7 边缘检测后图像3.4 图像的平滑处理图像的平滑处理属于空间域滤波增强的手段,在图像的获取和传输过程中原始图像会受到各种噪声的干扰,使图像质量下降。为了抑制噪声、改善图像质量,要对图像进行平滑处理。抑制或消除这些噪声而改善图像质量的过程称为图像的平滑。图像平滑的目的是为了消除噪声。一般情况下,减少噪声的方法可以在空间域或频率域进行处理,主要有邻域平均法、中值滤波法、低通滤波法等,邻域平均法即通过提高信噪比,取得较好的平滑效果;
33、空间域低通滤波采用低通滤波的方法去除噪声;以及频域低通滤波法通过除去其高频分量就能去掉噪声,从而使图像得到平滑。图像的平滑是一种实用的数字图像处理技术,一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图像平滑处理要追求的目标8。车牌图像往往存在一些噪点。在汽车牌照图像处理初期,若不能有效抑制或者去除这些噪点,将影响车牌定位的准确性或者造成无法定位。在本次设计中我们使用MATLAB软件中的imclose函数对图像进行平滑处理,其主要作用是对图像实现闭运算,闭运算也能平滑图像的轮廓,但与开运算相反,它一般融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙
34、。对图像进行平滑处理后的图形如图8所示: 图8 平滑处理后图像除此之外,图像平滑处理后,可能会有多个闭合区域,对于不是车牌区域的必须予以删除,在图像预处理中还需要用到imerode函数和bwareaopen函数分别对图像进行腐蚀处理和删除小对象处理,其主要是对图像进行更加细腻的处理,为后面的车牌定位、字符分割等功能的实现做好前期铺垫15。对图像进行腐蚀处理和删除小对象处理后的图像如图9所示: 图9 腐蚀处理后图像对图像进行腐蚀处理和删除小对象处理后的图像如图10所示: 图10 移除小对象处理后图像4 车辆号码牌定位车牌定位:从预处理后的汽车图像中分割出车牌图像。即在一幅车辆图像中找到车牌所在的
35、位置。即通过运算得到图像的边缘,然后计算边缘图像的投影面积,大概确定车牌的位置,再计算图像连通域的宽高比,删除不在阈值范围内的连通域,最后得到车牌区域。进而对车辆号码牌进行定位。目前已有不少学者在这方面进行了研究。总结起来主要有如下几类方法9:(1)基于车牌颜色特征的定位方法,这种方法主要是应用车牌的纹理特征、形状特征和颜色特征即利用车牌字符和车牌底色具有明显的反差特征来排除干扰进行车牌的定位。(2)基于变换域的车牌定位方法,这种方法是将图像从空域变换到频域进行分析,例如采用小波变换等。(3)基于水平灰度变化特征的方法,这种方法主要在车牌定位以前,需要对图像进行一系列预处理,将彩色图像转换为灰
36、度图像,利用车牌区域水平方向的纹理特征进行车牌定位。(4)基于Hough变换的车牌定位方法,这种方法是利用车牌边框的几何特征,采取寻找车牌边框直线的方法进行车牌定位。以上这些方法各有优缺点,要实现快速、准确地定位车牌,应该综合利用车牌的各种特征,仅靠单一特征很难奏效。本文结合车牌纹颜色与数学形态学两方面的特征对车牌进行定位,对于提高车牌定位准确率提供更有利的保障。 4.1 车辆号码牌的区域分割针对我国车牌的特点,识别难度较大,我国车牌主要特点有以下方面:(1)我国汽车牌照的规范悬挂位置不唯一。(2)我国标准汽车牌照是由汉字、英文字母和阿拉伯数字组成,汉字识别与字母和数字的识别有很大的区别,汉字
37、的识别增加了识别的难度;(3)由于环境、道路或人为因素等造成的汽车牌照严重污染,在国外发达国家这种情况是不允许上路的,而在我国则仍可在路上行驶。(4)其他国家的汽车牌照格式(如汽车牌照的尺寸大小,牌照上字符的排列等)通常只有一种,而我国则根据不同车辆、车型、用途规定了多种牌照格式(例如分为普通车、使馆车、警车、军车等),并且通常汽车牌照中也分大车和小车。此外,汽车车牌附近还可能挂有其他广告信息牌或者汽车生产商的标志。以上这些车辆号码牌的特点都为我国车牌的识别带来不利因素。怎样能够克服这些不利因素快速准确的对车辆号码牌进行识别仍是我们现在需要研究的问题。图像区域分割含义是的根据图像的组成结构和应
38、用需求将图像划分为若干个互不相交的子区域的过程。这些子区域四某种意义下具有共同属性的像素的连通集合。对车牌的分割方法多种多样,本次设计中利用车牌的彩色信息进行彩色分割方法。依据车牌底色有关的知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。车牌区域图像如图11所示: 图11 车牌区域分割后图像4.2车牌号码的初定位牌照的定位与分割是车辆号码牌识别系统的重要技术之一,其主要目的是在经过预处理
39、后的图象中确定牌照的位置,并将包含牌照的一块图象区域从整个图象中分割出来,为后边的字符识别提供准备,分割牌照区域的准确与否直接关系到整个识别系统的准确性。牌照所在区域在原始图象中是很有特征的一块区域,它是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较明显 ,且其灰度值与周边区域的灰度值有明显不同,因此在其周边形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割。车牌定位分割流程图如图12所示: 图像 腐蚀处理 去除 杂质 计算寻找 车牌区域 车牌 定位 车牌 分割并处理图12 车牌定位分割流程图4.2.1 图像二值化的基本原理将256个亮度等级的通过适当的阈值选取而获得仍然
40、可以反映图像整体和局部特征的二值化图像。在中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把二值化,得到二值化图像。所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域10。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中
41、,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度
42、值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像11。4.2.2 车辆号码牌的二值化车牌号码牌的二值化最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:即大于T的像素群和小于T的像素群,这就是对图像二值化。图像中对象物的形状特征的主要信息,常常可以从二值图像中得到。因此,在车牌字符切分前,首先对图像进行二值化处理。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值。经过以
43、上方法即完成了车辆号码牌的二值化12。车牌定位分割后需要对图像进行处理,以便字符分割的顺利完成,首先对车牌区域进行灰度处理。对车牌的灰度处理图像如图13所示:图13 车牌灰度图像灰度处理完成后需要对车牌区域进行二值化处理,二值化处理的基本原理上文已经讲述。二值化处理后车牌区域图像如图14所示:图14 车牌二值化图像二值化处理完成后,然后对图像进行均值滤波处理,均值滤波处理后的图像如图15所示:图15 均值滤波后图像最后还需要对图像进行膨胀或腐蚀处理,膨胀或腐蚀处理后车牌区域的图像如图16所示:图16 膨胀腐蚀处理后图像以上步骤完成后车牌定位及分割过程结束,这一系列的处理为完成字符分割奠定了良好
44、的基础,同时也使得本次设计顺利进行。5 车辆号码牌的字符分割在后,就要对车牌进行字符分割,针对车牌字符串的特点提出了一种新的算法。即基于改进的扫描线算法确定字符串上下边界,利用全局分割和局部调整的技术实现单个字符的分割。5.1字符分割的任务是把多行或多字符图像中的每个字符从整个图像中分割出来,成为单个字符。由于字符字体存在着多样性,所以在一般的字符识别系统中,字符识别之前要先对图像进行阈值化,然后再进行行字切分,以分割出一个个具体的二值表示的字符图像点阵,作为单字符识别的输入数据。由于获得的文本图像不但包含了组成文本的一个个字符,而且包含了字符行间距与字间的空白,甚至还会带有各种标点符号,这就需要采用一定的处理技术将文本中的一个个字符切分出来,形成单个字的图像阵列,以进行单字识别处理。这就