基于aspnet的电子文档管理系统大学论文.doc
南 京 工 程 学 院毕业设计说明书(论文)作 者: 左亚运 学 号: 202090608 院 系: 计算机工程学院 专 业: 电子信息科学与技术 题 目: 基于MATLAB的车牌识别系统设计 指导者: 刘 勤 讲 师 评阅者: 田丽鸿 副教授 2013年5月 南 京 随着计算机多媒体技术的发展,车牌自动识别技术(license plate recognition)已经成为智能交通系统的重要组成部分。在欧美许多发达国家,车辆识别技术已经广泛的应用在交通管理的各个方面。由于我国车牌种类多,并且是由汉字、英文字母和数字组成,这给自动识别系统的设计带来较大的难度。本文在学习研究图像处理理论的基础上,设计了一个车牌自动识别系统。本系统包括三个主要模块:车辆图像预处理、车牌定位和车牌字符识别。识别系统处理过程主要包括获取车辆源图像、图像灰度化、图像增强去噪、边缘检测、车牌定位、车牌图像预处理、车牌字符分割、字符识别等部分,其中车牌定位和字符识别部分是整个系统设计的核心和难点。车牌识别系统可以广泛应用在高速公路自动收费、小区无人停车场、城市道路监控、车辆流量统计等方面,本系统具有一定的实用价值。关键词:车牌识别 车牌定位 LPR 模式识别毕业设计说明书(论文)中文摘要毕业设计说明书(论文)外文摘要Title Design of the license plate recognition AbstractWith the development of computer multimedia technology, license plate recognition (LPR) has become an important component of Intelligent Transportation Systems. In many developed countries ofEurope and America, the license plate recognition technology hasbeen widely used in all aspects of traffic management. Because plates in China have many different styles, in addition, they consist of Chinese letters, English letters and numbers. So, it's very hard to identify Chinese license plates.This study propose a license plate recognition based on knowledge of image processing. This recognition has three main modules: preprocessing of original image, locate license plate and characters identification. This license plate recognition mainly includes several parts: get original image, make gray, enhance image,edge detect, locate license plate, preprocess plate image, segment characters and characters identification. The key of the whole system is location of license and character recognition.License plate recognition can be extensively used in highway toll collection,Intelligent parking, urban road monitoring, traffic flow statistics and so on, what is more, this recognition canbring some practical value.Key words: plate recognition, plate locate, LPR, pattern recognition目录前言1第一章 技术概览21.1 MATLAB简介21.2 MATLAB图像处理工具箱简介21.3车辆源图像31.4车牌识别的主要流程31.5车牌识别系统的结构图3第二章 系统人机界面的设计与实现52.1 GUI简介52.2本文的GUI界面设计5第三章 图像预处理及实现73.1数字图像基本知识73.2车辆图像灰度化83.3车辆图像增强93.4二值化14第四章 车牌定位及实现184.1边缘检测184.2车牌定位24第五章 车牌字符识别及实现295.1字符分割295.2车牌字符识别32第六章 系统测试及分析346.1测试的目的346.2车牌识别系统的测试346.3测试效果35结束语40参考文献42致谢44I附录1:英文技术资料翻译45附录2:程序清单60 II南京工程学院毕业设计说明书(论文)前言由于我国道路交通的发展迅速,汽车数量特别是轿车数量不断增加,出现了许多车辆管理方面问题。车辆牌照作为每一辆汽车的主要标识,可以通过车辆牌照来识别每一辆汽车,因此,各类车牌识别系统应运而生。车牌识别系统设计运用了许许多多的知识,但核心均是基于图像处理方面的相关原理对车牌图像进行相应的处理,处理过程主要包括灰度化、图像增强、二值化、边缘检测、图像分割、图像对比等部分。因为车辆的主要信息来源于车牌,所以对车辆管理也就是对车牌进行管理,所以这个车牌识别问题迫切需要解决。车牌识别的研究对实现交通管理系统智能化,快捷化,低成本化有重要的作用。车牌识别系统的出现能够更无人化、数字化、智能化、网络化的对车辆进行管理。车牌识别技术广泛地运用于交通监控和管理领域,可以这样说,凡是需要车辆监控的地方都需要车牌识别技术,例如收费站、停车场、交通路口等地方,它可以解决例如违章罚款、社会治安、信息查询等方面的问题,为社会和谐健康的发展做出巨大的贡献。车牌识别可以有效的减少交通监控和管理的成本,实现小投入,大回报,带来巨大的经济和社会效益。本次毕业设计在研究大量资料以及运用所掌握的相关知识的基础上,针对车牌识别的诸多问题,开发基于MATLAB的车牌识别系统,经过验证,该系统性能优良,能够检测并识别出大部分的车牌,达到了设计的要求,具有一定的实用价值。本文主要包括五个部分。第一部分是系统界面的实现,主要介绍了系统界面的功能和作用,以及本系统的界面。第二部分主要包括车辆图像预处理及实现,主要介绍了本系统的图像预处理及实现的主要步骤和原理,包括灰度化、图像增强、二值化等处理。第三部分是车牌的定位,主要叙述了图像边缘检测和本系统所采用的车牌定位方法。第四部分是车牌字符的分割与识别,分别介绍了字符分割和识别的原理及方法,是本系统的最终实现结果。第五部分是对系统的测试,通过测试验证了系统的可靠性和准确性,本系统完成了此次设计的目标,可以参加答辩。第一章 技术概览1.1 MATLAB简介MATLAB是Matrix Laboratory的缩写,它是MathWorks 公司出品的商业软件,广泛的应用于科学与工程领域,主要用于算法开发、数据可视化、数据分析以及数值计算。MATLAB的基本数据单位是矩阵,故又被称为“矩阵实验室”,因为它具有强大的矩阵计算功能,相比其他语言,许多问题用MATLAB解决要简单的多。MATLAB可以进行矩阵运算、创建用户界面、图像处理、工程计算、信号处理等众多工作,具备丰富的应用工具和友好的用户界面,突出的数值和图形处理能力以及对其它众多的语言具有强大的支持功能,为众多科学与工程领域提供了全面的解决问题的方案,是当今世界科学软件的杰出代表,是世界四大软件之一。1.2 MATLAB图像处理工具箱简介MATLAB中的Image Processing Toolbox(图像处理工具箱),提供许多的图形工具和标准图像处理函数,主要用于进行图像分析、识别、可视化等处理,本文中的图像处理方法均是参照MATLAB中标准图像处理函数而设计和编写程序的,因此得到较好的图像处理效果。该工具箱功能强大,支持多线程,处理速度快。图像处理工具箱可以处理各种设备生成的各种类型的图像,诸如高分辨率的图像、动态图像、扫描图像等,可以对多种数据类型的图像进行处理,支持单精度和双精度的数据,以及8、16、32位整数,可以对图像进行检查和测量,提取和分析特征、调节亮度和对比度、构建多维图像、投影图像、创建统计图等处理。图像处理工具箱提供用于图像处理的标准算法,这些算法非常全面,可以解决诸多常见的图像处理方面的问题,包括灰度化、图像增强、边缘检测、图像分割等众多算法,其中边缘检测算法中包括Sobel、Prewitt、Roberts、Canny 和拉普拉斯高斯等方法,图像分割算法包括全局阈值法和基于边缘提取法,MATLAB图形工具箱还提供一系列统计函数用以统计图像特征并分析,并可以用图像表示出来,如图1-1所示。图1-1 带有红色通道柱状图的图像1.3车辆源图像车辆图像是本系统中最为基础的物质材料,因此它也是车辆识别系统中最重要的,车辆图像的质量关系着最后的识别结果,图像的质量由许多因素决定的,拍照设备的性能,光照是否充分,天气是否晴朗等因素均能造成车牌图像的模糊,拍照位置是否恰当、路面是否平整、汽车是否正对摄像设备等因素造成了车牌图像的倾斜,总之车辆图像必须经过适当的处理,转化成易于识别的形式。1.4 车牌识别的主要流程首先将采集到的车牌图像进行灰度化处理,转化为灰度图,其次对灰度图进行图像增强,采用的方法主要是灰度线性拉伸和直方图均衡,这个是必不可少的,只有直方图均衡化的图像才能进行边缘检测,本系统所用的边缘检测的算子是sobel算子,边缘检测完成以后,进行车牌定位与分割,此时大部分工作已经完成,剩下的是最关键的工作车字符分割和字符识别。对车牌图像首先进行二值化处理,然后进行字符分割,字符分割是字符识别的基础,字符识别是建立在正确分割字符的基础上的,本文的字符识别采用的是模板匹配的方法,匹配率比较高。1.5 车牌识别系统的结构图本系统采用的是MATLAB实验软件,基于MATLAB的图像工具箱(Image Processing Toolbox),该工具箱包含有标准的图像处理函数,可以多方法,多角度地处理图像,在现实中应用很广泛。本系统主要包括车牌灰度化、图像增强、边缘检测、车牌定位、车牌预处理、分割车牌、字符分割、字符识别等部分,其主要结构图如图1-2所示。车牌识别系统图像灰度化字符识别图像增强边缘检测车牌定位分割车牌车牌预处理分割字符图1-2系统结构图第二章 系统人机界面的设计与实现2.1 GUI简介GUI又被称为图形用户界面(Graphical User Interfaces),其是由窗口、光标、按键、菜单、文字说明等对象构成的。用户可以选择并激活这些对象,使计算机进行如计算、绘图等动作,通过GUI界面设计的软件,设计者可以向用户提供应用程序,进行技术和方法的演示,GUI可以被反复使用且操作简单。GUI是一个常见界面,包括一些控件,例如,按钮、滑块、列表框、菜单等,这些控件相当于“遥控器”,用户可以通过他们进行相应的操作。2.2 本文的GUI界面设计 (1)在查阅有关书籍和资料的基础上,熟悉MATLAB的使用方法,开始设计GUI界面。(2)考虑到本系统是对车牌图像的操作,故需要制作一个二维坐标图,用以存放图片,此坐标图大小应该与所测试的图片大小所对应的,既不能太大,也不能太小。(3)基于本车牌识别系统原理,所有按钮对应着各个模块,本系统共采用11个按钮:“打开图像”,“灰度化”,“图像增强”,“边缘检测”,“车牌定位”,“分割车牌”,“车牌预处理”,“字符分割”,“字符识别”,“一步检测”,“退出”,每一个按钮对应的回调函数即为该功能实现的程序代码。(4)在粗略设计的基础上,对坐标图和按钮进行排列,实现合理的布局,从而变成一种美观的效果图。(5)GUI界面设计如图2-1所示。 图2-1 系统界面图第三章 图像预处理及实现本章节主要介绍车辆图像预处理及实现的原理和步骤,首先对车辆图像进行灰度化处理,然后对图像进行图像增强处理,包括灰度线性拉伸、灰度直方图拉伸、图像滤波三部分,而图像二值化则是对分割出的车牌所进行的处理。具体流程如图3-1所示:图像灰度化灰度线性拉伸直方图均衡图像维纳滤波车辆图像增强 图3-1 图像预处理流程图3.1 数字图像基本知识 彩色空间是一种常用的表示彩色的方式,是一种数学模型, 实际生活中,主要存在RGB,CMY,HSI三种彩色空间。(1)RGBRGB三基色应用于几乎所有彩色成像设备和彩色显示设备,不仅如此,许多的数字图像文件常用的存储形式是RGB三基色,RGB彩色空间是以RGB三基色作为坐标的。RGB被称为三基色是因为R(红)、G(绿)、B(蓝)三种颜色的光按不同比例混合可以形成自然界任何色彩的光,所以,任意光的组成在数学形式上是R、G、B三种分量百分比的和。(2)CMYCMY彩色空间是由于自然界存在无源物体(不发光的物体),其吸收和反射的光决定了物体颜色。油墨和颜料的三基色是CMY(Cyan / Magenta / Yellow,青 / 洋红 / 黄)而不是RGB,CMY又被称之为三减色,是因为CMY三基色的特点,它减少了为视觉系统识别颜色所需要的反色光,正如油墨和颜料用的越多,颜色越暗(或越黑)所表现的那样。(3)HSIHSI(Hue/Saturation/Intensity)是指色调,饱和度,强度。色调表示颜色,颜色按波长可以分为红橙黄绿青蓝紫。色彩饱和度表示色彩的鲜艳程度,也称为色彩的纯度,也就是白光在彩色光中所占比列。白光和色彩的饱和度呈现负相关。饱和度采用百分数表示,灰色光或白光为0%,纯色光为100%。强度也称之为亮度,它表示一种强弱程度,即人眼感受到彩色光的颜色的强弱程度,是由彩色光的能量决定的,与能量呈现正相关。能量越大,强度越强,能量越小,强度越低。 3.2车辆图像灰度化 预处理前的汽车图像样本几乎都是彩色图像,因为现实中它们大都是通过电子设备拍摄获取的,所以它们是RGB图像,一个像素的颜色由R、G、B三种分量表示,R表示红色,G表示绿色,B表示蓝色。每个像素的颜色有1600(255*255*255)多万种情况。一般先将各种图像转变成灰度图像,然后进行图像处理,因为灰度图像是一种特殊的彩色图像,它的R、G、B三个分量是完全一样的,每一个像素点的变化范围就减少为255种,这样,图像处理的计算量就变得比较少,从而节省处理时间和处理成本。灰度图像像素点的变化减少了,但是它与彩色图像一样仍然表现图像的整体和局部的色度、亮度的特征和规律。由于图像的每个像素都具有三个不同的颜色分量,从而有大量的颜色信息包含在彩色图像中,因此系统在存储上所占的资源很多,同时系统的处理速度也会降低。由于图像在包含的许多有用信息的同时还包含许许多多的无用的信息,这些信息对图像识别形成了极大的干扰,因此必须对图像进行灰度化,这样滤除了许多无用的信息,加快了处理的速度。灰度颜色中的分量R=G=B,它们的取值叫做灰度值。因为灰度值取值范围是0-255,所以灰度的级别有256种。对图像进行灰度化,就是把图像变为灰度图像,主要处理方法如下:(1)取最大值:取R、G、B三值中最大的一个,即 R=G=B=max(R、G、B) (3-1)(2)取平均值:R=G=B=(R+G+B)/3 (3-2)(3)加权平均,根据不同颜色在灰度过程化中的重要性不同,故采用数学上常用的加权方法即: R=G=B=Wr*R+Wg*G+Wb*B (3-3) 其中R、G、B的权值分别为Wr、Wg、Wb。由于人眼对颜色的敏感度为绿色>红色>蓝色,由相关理论知道当Wr=0.30,Wg=0.59,Wb=0.11时,图像灰度化后的效果最好,最适合人眼识别,如图3-2所示,其中(a)为变换前的车辆RGB彩色图像,图(b)为变换后的车辆灰度图。 (a) 车辆RGB彩色图像 (b) 车辆灰度图图3-2 汽车灰度化前后图像3.3 车辆图像增强由于各种客观因素的作用,例如光照、天气、拍照设备等影响导致车辆图像的质量比较低,为了得到更好的处理效果,往往首先对图像进行图像增强,即将图像转换成更易被处理的形式,以便从图像中获取更有用的信息,图像增强技术广泛的应用于图像处理领域。通常情况下,通过图像增强后的图像,某些信息被突出,其它信息被压缩,图像视觉效果得到了改善,所以,图像增强是一种有损处理,它只是突出了有用的信息,削弱了无用的信息图像增强处理过程所在的空间不同,可分为基于空间域和基于频率域两大方法: (1)空间域法空间域法是在图像的二维空间内直接对像素灰度进行处理。空间域方法又分为点运算和空域滤波,点运算又分为灰度变换增强和直方图增强,空域滤波主要包括图像平滑和图像锐化,本系统主要采用点运算即灰度变换增强和直方图增强。(2)频率域法频率域法是一种逆变换的方法,是间接的。首先利用傅里叶变换将图像变换到频率域,然后对频谱进行运算处理,然后再进行逆变换返回到空间域,得到增强的图像。3.3.1 灰度线性拉伸在实际生活中,由于光照、天气、拍照设备的影响导致车牌图像即使经过灰度化仍然分辨不清,因此为了提高图像的对比度,改善视觉效果,必须进行灰度线性拉伸。灰度拉伸的作用是增强对比度,它是依据直方图的特征来对某一些灰度区间进行拉伸。如图3-3所示。g(x,y)=Tf(x,y) (3-4)图 3-3 灰度拉伸曲线 式(3-4)中f(x,y)为点(x,y)的灰度,T为映射函数,g(x,y)为变换后的灰度。 如果f(x,y)的取值范围为s1,s2,变换后的g(x,y)取值范围为t1,t2,则f(x,y)和g(x,y)存在式3-5的数学关系: g(x,y)=(t2-t1)/(s2-s1)*f(x,y)+s1 (3-5)从式(3-5)的关系中,我们可以知道f(x,y)和g(x,y)之间存在线性关系,所以又称该灰度拉伸为线性拉伸如图3-4所示,图像进行线性拉伸后,图像更加清晰,视觉效果更好,车牌更容易被识别,(a)为车辆灰度图,(b)为线性拉伸图。(a)车辆灰度图 (b)车辆灰度拉伸图图3-4车辆灰度线性拉伸前后对比图3.3.2 灰度直方图均衡灰度直方图表示了灰度值的分布,它统计了图像中各灰度值的像素个数。通常横坐标表示灰度级别,纵坐标表示频率。直方图表示灰度级出现的频率,其对应的公式是式子(3-6)P(r)=nr/N (3-6)式(3-6)中nr表示灰度级为r的像素个数,N表示整幅图像的像素个数。因为P(r)表示第r个灰度级出现的概率,直方图表示了原图的灰度值分布情况。灰度直方图表示了图像的灰度分布情况,基本上可以描述一幅图像的相貌,但是为了能更好的的进行图像识别,改善识别效果,必须对直方图进行修正。如果用s(0s1)表变换后来图像的灰度,r(0r1) 表示原始图像的灰度(0代表黑,1代表白)。 在0,1的区间任意取一个r值,都对应着一个s值,且s=T(r),T(r)为变换函数。为了使这种灰度变换具有实际意义,T(r)应该满足下列条件:1) 在0r1区间,T(r)为单调递增函数;2) 在0r1区间。有0T(r)1;变换公式为:s=T(r)= (3-7) 式3-7表明变换函数是原始图像的累计分布函数,具有非负递增性。MATLAB中J = histeq(I, n)函数可以对直方图进行均衡化的操作,n为均衡化后的级数,本文中所用的缺省值256,图3-5和图3-6为直方图均衡化前后对比图。 (a)原始车辆灰度图 (b)原始直方图图3-5 原始灰度图和直方图 (a)车辆均衡化的灰度图 (b)均衡化的直方图图3-6均衡化后的灰度图和直方图3.3.3 图像滤波实际生活中,图像在获取和传输过程中会受到许多噪声的影响,为了去除图像中的噪声,对车牌图像滤波,常采用邻域平均法,中值滤波法和维纳滤波法,各方法功能现分别介绍如下:(1)邻域平均法邻域平均法属于空间域的一种,主要是在空间域上操作,邻域平均法的具体原理是取平均值,即用该像素邻域范围内的像素灰度平均值代替该像素的灰度值。图像信号通过邻域平均处理得到平滑,效果与图像信号通过低通滤波器的相似。取图像f(i,j)中的像素点(m,n),并取其邻域S,S通常为矩形,邻域内共有M个像素,求所有像素的平均值,该平均值即为像素点(m, n)处的灰度,点(m, n)一般位于S的中心。如S为3X3邻域,点(m,n)位于S中心,则 (3-8)(2)中值滤波法由于邻域平均法会使图像中的细节变得模糊,而中值滤波不仅能消除噪声还会防止细节变的模糊,中值滤波是一种非线性滤波,简单的说就是取所有像素的中间值,图像滤波后所得到的结果即为图像中所有像素灰度的中值,它是通过减少图像中某一邻域内的像素灰度值的差别来实现滤波的。(3)维纳滤波法维纳滤波主要用于存在较大噪声的图像滤波的过程中,它能够从噪声中提取信号波形,通过维纳滤波后所得到的图像在整体上较为平滑。维纳滤波是基于图像的局部方差实现噪声滤除的,方差越小,噪声滤除效果越好。与其它滤波相比,维纳滤波具有其优越的特性,它可以很好的保存图像边缘和高频细节信息,同时特别是对于含有白色噪声的图像有较好的滤波效果。MATLAB软件中用于维纳滤波的函数为 Wiener2函数,其采用的是基于像素的局部均值与方差的算法: (3-9) (3-10)式3-10中是图像中每个像素的n1*n2邻域,然后对每一个像素利用滤波器估计出其灰度值: (v2是图像中噪声的方差) (3-11) 基于维纳滤波的巨大的优点,本系统所用的即为维纳滤波,在对滤波后的灰度图像进行较好的二值化处理。维纳滤波前后对比如图3-7所示。 (a)维纳滤波前 (b)维纳滤波后 图3-7维纳滤波前后对比图3.4 二值化二值是指黑、白两种颜色,二值化就是就将图像变为黑、白两种颜色,这样对二值化的图像再进行别的处理速度更快,得到的效果更好,二值化的图像特征更明显,更容易被描述和分析。在现实生活中,存在许多二值图像,例如书本文字、采集到的指纹,设计的图纸,因为图像二值化的众多优点导致我们常常把本身是有灰度的图像变成二值化图像再处理,这样能够使车牌识别系统提高处理效率,加快处理速度,降低处理成本。图像二值变换的原理是通过确定恰当的阈值来分割对象与背景,并且要确保变换后的图像不丢失原来图像的形状信息,不产生额外的空缺。二值化的关键点是要找到恰当的阈值,此阈值用来分隔对象与背景。假设f(x,y)为原灰度图像,g (x,y)为二值化后的图像,阈值为t,二值化的数学方法表示如式3-12,3-13下:g(x,y)=1,f(x,y)t (3-12) g(x,y)=0,f(x,y)<t (3-13)实际应用中,阈值t的选取方法主要有3类:局部阈值法、全局阈值法和动态阈值法。局部阈值法则根据图像像素的本身性质和局部特性来确定像素的阈值的,典型的局部阈值方法主要是Bernsen算法,图像的局部性质基本上不受外界环境的影响。因此局部阈值法能够比较准确地实现对象和图像的分离,但仍然存在一些缺点,如图像分割偶然性大,易出错,易出现伪影现象,同时计算量大,速度慢。全局阈值二值化方法确定一个阈值,此阈值是由图像的灰度分布确定的,通常在图像不太复杂的情况下使用,典型的全局阈值二值化方法主要是Ostu方法。全局阈值方法适用于目标于背景分离明显的图像,算法简单,计算量小,在现实中得到了广泛应用。动态阈值法是依据三个因素:该像素灰度值、周围像素的灰度值、该像素的坐标位置来确定阈值,因此,该方法较为全面,但是计算量大,处理速度慢。Otsu提出了最大类间方差法(有时也称之为大津法),该算法是通过方差最大化来分割图像的,假设阈值将图像分割成对象和背景两部分,因为方差是灰度分布均匀性的一种度量,如果构成图像的两部分差别越大,那么方差值越大,图像的分割效果越好,如果差别越小,图像分割效果越差。记为对象与背景的分割阈值,目标像素数占图像比例为,平均灰度为。背景像素数占图像比例为,平均灰度为。图像的总平均灰度为:。从最小灰度值到最大灰度值遍历,当使得值 最大时即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值分割出的对象和背景两部分构成了整幅图像,而对象取值,概率为 ,背景取值,概率为,总均值为,根据方差的定义即得该式。具体的推导如下所示。方法 1:假设图像点处的灰度值为,灰度级为,不妨假设取值。记为灰度值取k的频率,则有: (3-14)假设用灰度值t为阈值分割出的对象与背景分别为:和,于是对象部分比例:, (3-15)对象部分点数: (3-16)背景部分比例: (3-17)背景部分点数: (3-18)对象均值: (3-19)背景均值: (3-20)总均值: (3-21)运用大津法求取最佳阈值g的公式为: (3-22)其中表示对象值,为对应的概率,表示背景值,为其对应的概率,为总均值,根据方差的定义即得式3-22。方法2:代表对象中心灰度,代表背景的中心灰度,代表整幅图像的中心灰度,为了图像能分割效果更好,那么分割出的对象要尽量远离图像中心,即或尽量大,同样地,分割出的背景也尽量远离中心,即或尽量大,由于希望两者都大,于是有:两者之加权和最大: (3-23)两者之积最大: (3-24)注意到有,且,因此有:。可见是二者等价的,从而间接地验证了方法1结果的正确性。Otsu方法流程图如图3-8所示。、Y图3-8 Otsu方法流程图开 始读入灰度图像I求的范围记录对应的求时的取值显示二值图像N N图4-1车牌上下定位流程图 Y结 束对于车牌图像,其本身的对象和背景灰度差距比较大,灰度直方图有明显的双峰现象,在经过图像增强处理以后,这一特点更为明显。所以,本文采取Ostu的方法进行车牌二值化,取得较好的效果,如图3-9所示。 (a)车牌二值化前灰度图 (b)车牌二值化图像 图3-9 车牌二值化前后对照图主要程序如下:%二值化BWPlate=im2bw(GrayPlate,level);figure(1);subplot(3,3,3);imshow(BWPlate);title('3.二值图像 ');- 17 - 第四章 车牌定位及实现基于边界分割方法最基本的处理就是边缘检测。图像边缘的确定与提取对于图像的分析与识别具有重要的作用,图像中边缘处两侧的特征,形状,灰度等均存在巨大的差别,因此,可以通过边缘的检测来找出目标,并进行相应的处理。本文提出的车牌定位方法主要就是基于边缘检测和投影的方法,所以做好边缘检测是实现车牌识别的第一步。4.1边缘检测4.1.1 边缘检测概述边缘是图像分析的重要依据,是图像局部亮度变化最显著的部分,是物体边缘分界的地方,是由于图像局部特征的间断性而产生的。边缘包含了图像大部分的信息,在物体边缘两侧的形状、灰度、纹理特征区别非常的明显。边缘的检测与提取对整个图像的识别具有重要的作用。边缘检测在数字图像处理领域应用的非常的广泛。4.1.2 边缘检测方法因为灰度变化是图像物体中的边缘主要表现,所以,边缘检测的基本原理是检测图像灰度的不连续性的地方。在实际运用中,主要采取以下几种方法进行边缘检测:(1)空域微分算子。它是基于求导的方法来检测图像边缘的,因为图像边缘的灰度变化最剧烈,表现形式上为函数梯度比较大。基于这个特点,为了比较好的确定边缘像素点,可以利用比较好的求导算子对图像各个像素点进行一阶或二阶微分。一阶微分图像的峰处就是图像的边缘点,同样的由导数相关知识可知,边缘点存在于二阶微分图像的零点处。rsobel算子和sobel算子属于空域微分算子。(2)拟合曲面。该方法比较直观,将许多像素点拟合一个曲面,然后求这个连续曲面某像素点的梯度。(3)小波多尺度边缘检测。它是基于小波分析原理检测边缘。(4)基于数学形态学的边缘检测。利用数学形态学作为检测边缘的工具,能够在有效的去除噪声的同时保留原图像的细节信息,具有很好的效果。那么在众多的边缘算子中如何选择是本系统研究的一个重点,下面将对各种算子进行比较和论证。4.1.3 边缘检测算子4.1.3.1 Roberts算子 Roberts交叉算子用一种简单的近似方法来计算梯度幅度值: (4-1)采用卷积模板的方法,上式变成: (4-2)其中和所用的模板为: (4-3)同前面的梯度算子一样,差分值将在内插点处计算。Roberts算子计算的不是点近似的值而是该点连续梯度的近似值。 Roberts应用的原理是局部差分的方法,但是这种方法处理效果不是太好,边缘定位精确度不是很高,并且处理速度比较慢。4.1.2.2 Sobel算子Roberts算子告诉我们,采用邻域可以避免在像素之间内插点上计算梯度。考虑一下图4-1中所示的点周围点的排列。Sobel算子本质上同样是一种梯度幅值, (4-4)偏导数和采用的计算公式为:(其中常数) (4-5)和其他的梯度算子所用的方法相同,和也可以采用卷积模板法计算: (4-6)这一算子主要处理对象为模板中心的像素点。Sobel算子对于像素的位置的影响做了加权,可以降低边缘模糊的程度,因此在现实中得到广泛的应用。 图4-1 Sobel算子邻域像素点图示4.1.2.3 拉普拉斯算子阶跃边缘二阶导数经过平滑可以使其在边缘点的取值为零。拉普拉斯算子等效为阶跃边缘二阶导数。二维函数的二阶导数为: (4-7)和方向上的二阶偏导数使用差分方程近似: (4-8) 式4-8是基于中心点为的近似式。将换成,于是有 (4-9)式4-9等号右边的式子近似等于左边,是以点为中心,同样地,对于y的二阶导数为: (4-10)将式4-9与4-10通过数学上公式上的合并得到下面近似拉普拉斯算子的模板: (4-11)通常会对模板进行改进,得到另一种优化的模板,这种模板可以使邻域中心点的权重更大,如式4-12所示。 (4-12) 物体的边缘在拉普拉斯算子中对应着零点,理想状况下,过零点的位置的精确度很高,但在实际生活中,由于存在许多噪声的干扰,结果不是很精确。运用拉普拉斯算子的图像边缘的信息易丢失,同时噪声信息比较大,所以在运用此算法时为了避免噪声的影响,必须采用特别有效的滤波方法。在实际生活中,拉普拉斯的二阶方向导数算子应用的并不广泛。4.2.1.4 LOG算子Marr和Hildreth将高斯滤波和拉普拉斯边缘检测相结合,创造出了拉普拉斯高斯算法,又被称为LOG