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