数字图像处理课程设计报告车牌识别系统的设计.docx
- 文档编号:5799387
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:26
- 大小:1.05MB
数字图像处理课程设计报告车牌识别系统的设计.docx
《数字图像处理课程设计报告车牌识别系统的设计.docx》由会员分享,可在线阅读,更多相关《数字图像处理课程设计报告车牌识别系统的设计.docx(26页珍藏版)》请在冰豆网上搜索。
数字图像处理课程设计报告车牌识别系统的设计
数字图像处理
——车牌识别
学院:
信息工程学院
专业:
信号与信息处理
小组成员:
学号:
指导教师:
2010年12月
车牌识别系统的设计
1.摘要:
汽车牌照自动识别系统是制约道路交通智能化的重要因素,包括车牌定位、字符分割和字符识别三个主要部分。
本文首先确定车辆牌照在原始图像中的水平位置和垂直位置,从而定位车辆牌照,然后采用局部投影进行字符分割。
在字符识别部分,提出了在无特征提取情况下基于支持向量机的车牌字符识别方法。
实验结果表明,本文提出的方法具有良好的识别性能。
随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。
汽车牌照的自动识别技术已经得到了广泛应用。
关键词:
车牌识别字符分隔二值化模块匹配字符识别
2.设计目的:
1、使学生在巩固理论课知识的同时,加强实践能力的提高,理论联系实践。
2、激发学生的研究潜能,提高学生的协作精神,锻炼学生的动手能力。
3、养成自己独立分析和解决问题的能力。
3.设计原理
车辆牌照在交通管理中具有不可替代的作用,因此车辆牌照识别系统应具有很高的识别正确率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并且要求满足实时性要求,能在一定情况下准确的反应出信息。
图1牌照识别系统原理图
车牌识别系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用,它主要由图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图1所示。
其基本工作过程如下:
(1)用手机和相机拍下一个在运动中或是静止的车的图像,尽量考虑下光照,因为该程序具有一定的局限性。
(2)由摄像机或手机拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平较正等;
(3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;
(4)对牌照字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别,最后输出车牌号码。
4.详细设计步骤
4.1提出总体设计方案。
车辆牌照识别整个系统主要是由车牌定位和字符识别两部分组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以分为字符分割与特征提取和单个字符识别两个模块。
为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的对比度和清晰可辩的牌照图象。
但由于该系统的摄像部分工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离和角度以及车辆行驶速度等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进行识别前的预处理。
牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。
由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。
因此,需要对字符在识别之前再进行一次针对性的处理。
车牌识别的最终目的就是对车牌上的文字进行识别。
主要应用的为模板匹配方法。
因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB及以上。
系统可以运行于Windows98、Windows2000或者WindowsXP操作系统下,程序调试时使用matlab和C++。
4.2预处理及边缘提取
图2预处理及边缘提取流程图
4.2.1图象的采集与转换
考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以将区域与背景明显地区分出来,例如,对蓝底白字这种最常见的牌照,采用蓝色B通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现。
因为蓝色(255,0,0)与白色(255,255,255)在B通道中并无区分,而在G、R通道或是灰度图象中并无此便利。
同理对白底黑字的牌照可用R通道,绿底白字的牌照可以用G通道就可以明显呈现出牌照区域的位置,便于后续处理。
原图、灰度图及其直方图见图2与图3。
对于将彩色图象转换成灰度图象时,图象灰度值可由下面的公式计算:
G=0.110B+0.588G+0.302R
(1)
G=
(2)
图3原图图4灰度图
4.2.2边缘提取
边缘是指图像局部亮度变化显著的部分,是图像风、纹理特征提取和形状特征提取等图像分析的重要基础。
所以在此我们要对图像进行边缘检测。
图象增强处理对图象牌照的可辩认度的改善和简化后续的牌照字符定位和分割的难度都是很有必要的。
增强图象对比度度的方法有:
灰度线性变换、图象平滑处理等。
(1)灰度校正
由于牌照图象在拍摄时受到种种条件的限制和干扰,图象的灰度值往往与实际景物不完全匹配,这将直接影响到图象的后续处理。
如果造成这种影响的原因主要是由于被摄物体的远近不同,使得图象中央区域和边缘区域的灰度失衡,或是由于曝光不足而使得图像的灰度变化范围很窄。
这时就可以采用灰度校正的方法来处理,增强灰度的变化范围、丰富灰度层次,以达到增强图象的对比度和分辨率。
我们发现车辆牌照图象的灰度取值范围大多局限在r=(50,200)之间,而且总体上灰度偏低,图象较暗。
根据图象处理系统的条件,最好将灰度范围展开到s=(0,255)之间,为此我们对灰度值作如下的变换:
s=T(r)r=[rmin,,rmax]
使得S∈[Smin,Smax],其中,T为线性变换,
图5灰度线性变换
(3)
若r(50,200)、s(0,255)
则:
(4)
(2)平滑处理
对于受噪声干扰严重的图象,由于噪声点多在频域中映射为高频分量,因此可以在通过低
4
3
2
5
i,j
1
6
7
8
2
3
i,j
1
4
通滤波器来滤除噪声,但实际中为了简化算
法也可以直接在空域中用求邻域平均值的方
法莱削弱噪声的影响,这种方法称为图象平滑
处理。
例如,某一象素点的邻域S有两种表示
方法:
8邻域和4邻域分别对应的邻域平均值为
(5)
其中,M为邻域中除中心象素点f(i,j)之外包括的其它象素总数,对于4邻域M=4,8邻域M=8。
然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。
为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。
图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:
近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。
正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。
边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。
图6robert算子边缘检测
由上图可以归纳起来以下方面:
原始图像清晰度比较高,从而简化了预处理,结合MATLAB实验过程,得出不是每一种图像处理之初都适合滤波和边界增强。
本次汽车车牌的识别,为了保存更多的有用信息。
4.3牌照的定位和分割
牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。
由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割。
图7牌照定位于分割流程图
4.3.1牌照区域的定位
牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。
此时可进一步确定牌照在整幅图象中的准确位置。
这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。
数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。
在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。
图8腐蚀后图像图9平滑图像的轮廓图10从对象中移除小对象后图像
4.3.2牌照区域的分割
对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。
根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。
然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。
图11行方向区域和最终定位出来的车牌
4.3.3车牌进一步处理
经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:
大于T的像素群和小于T的像素群,即对图像二值化。
均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。
再用模板中的全体像素的平均值来代替原来像素值。
图12裁剪出来的车牌的进一步处理过程图
4.4字符的分割与归一化
图13字符分割与归一化流程图
4.4.1字符分割
在汽车牌照自动识别过程中,字符分割有承前启后的作用。
它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。
字符识别的算法很多,因为车牌字符间间隔较大,不会出现字符粘连情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割。
图14分割出来的七个字符图像
4.4.2字符归一化
一般分割出来的字符要进行进一步的处理,以满足下一步字符识别的需要。
但是对于车牌的识别,并不需要太多的处理就已经可以达到正确识别的目的。
在此只进行了归一化处理,然后进行后期处理。
图15归一化处理后的七个字符图像
4.5字符的识别
字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法。
基于模板匹配的OCR的基本过程是:
首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。
模板匹配的主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。
综合模板匹配的这些优点我们将其用为车牌字符识别的主要方法。
模板匹配是图象识别方法中最具代表性的基本方法之一,它是将从待识别的图象或图象区域f(i,j)中提取的若干特征量与模板T(i,j)相应的特征量逐个进行比较,计算它们之间规格化的互相关量,其中互相关量最大的一个就表示期间相似程度最高,可将图象归于相应的类。
也可以计算图象与模板特征量之间的距离,用最小距离法判定所属类。
然而,通常情况下用于匹配的图象各自的成像条件存在差异,产生较大的噪声干扰,或图象经预处理和规格化处理后,使得图象的灰度或像素点的位置发生改变。
在实际设计模板的时候,是根据各区域形状固有的特点,突出各类似区域之间的差别,并将容易由处理过程引起的噪声和位移等因素都考虑进去,按照一些基于图象不变特性所设计的特征量来构建模板,就可以避免上述问题。
图16字符识别流程图
此处采用相减的方法来求得字符与模板中哪一个字符最相似,然后找到相似度最大的输出。
汽车牌照的字符一般有七个,大部分车牌第一位是汉字,通常代表车辆所属省份,紧接其后的为字母与数字。
车牌字符识别与一般文字识别在于它的字符数有限,汉字共约50多个,大写英文字母26个,数字10个。
为了实验方便,结合本次设计所选汽车牌照的特点,只建立了4个数字26个字母与10个数字的模板。
其他模板设计的方法与此相同。
首先取字符模板,接着依次取待识别字符与模板进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。
把每一幅相减后的图的0值个数保存,即为识别出来的结果。
图17识别结果
5.设计结果及分析
通过以上的方法,我对多幅图像进行了检测,有较好的识别效果。
下面是对另一幅车牌照的检测,结果如图18---24所示。
图18图19
图20
图21
图22
图23
图24
对于光照条件不理想的图象,可先进行一次图象增强处理,使得图象灰度动态范围扩展和对比度增强,再进行定位和分割,这样可以提高分割的正确率。
而采用了色彩通道的牌照区域分割算法充分利用了牌照图象的色彩信息,简化了算法的实现,加快了图象的处理速度,具有较高的检出正确率,而且整个过程用MATLAB语言编程实现,无时间滞后感,可以满足实时检出的要求。
但是在设计的过程中发现,使用另一幅图像后,识别效果始终没有那么理想。
需要做一定的设置后才能识别出相应的字符。
在车牌字符分割的预处理中,用到了对分割出的字符车牌进行均值滤波,膨胀或腐蚀的处理。
这在对于有杂点的车牌是很有用的,因为这样可以把字符与字符之间的杂色点去除,只有白色的字符和黑色的背景存在,这样有利于的字符分割进行。
字符识别过程使用的是模板匹配的方法,利用两幅图片相减的方法,找到相减后值最小的,即为相似程度最大的。
模板的制作很重要,必须要用精确的模板,否则就不能正确的识别。
对于识别错误情况的分析可知,主要原因:
一是牌照自身的污渍等影响了图象的质量;二是牌照字符的分割失败导致的识别错误;再就是部分字符的形状相似性,比如,B和8;A和4等字符识别结果可能发生混淆的情况。
总之,尽管目前牌照字符的识别率还不理想,但是只要在分割出的字符的大小、位置的归一化,以及尝试提取分类识别能力更好的特征值和设计分类器等环节上再完善,进一步提高识别率是完全可行的。
6.总结
本次设计收获有:
1)如何在背景的图象中定位分割牌照区域;2)对分割下来的牌照字符如何提取具有分类能力的特征;3)如何设计识别器。
在车辆牌照字符识别系统的研究领域,近几年出现了许多切实可行的识别技术和方法,从这些新技术和方法中可以看到两个明显的趋势:
一是单一的预处理和识别技术都无法达到理想的结果,多种方法的有机结合才能使系统有效识别能力提高。
在本系统的设计时,也汲取了以上一些算法的思想,结合实际,反复比较,综合分析;二是在有效性和实用的原则下,结合神经网络和人工智能的新技术的应用是研究的一个方向。
根据车牌特点,一般采用的车牌定位算法有:
1.边缘检测定位算法;2.利用哈夫变换进行车牌定位;3.色彩分割提取车牌等。
这里我采用的是边缘检测的方法实现定位的。
字符分割的方法也有多种:
1.基于聚类分析的字符分割;2.投影分割的方法;3.基于模板匹配的字符分割等。
最常用的是投影分割,主要是针对在车牌定位,图像预处理后比较规则的车牌图像。
优点是程序逻辑设计简单,循环执行功能单一,便于设计和操作,程序执行时间短。
字符识别的基本方法通常又三类:
1.结构特征分析方法;2.模板匹配法;3.神经网络法。
此处采用的是模板匹配的方法,即是将要识别的字符与事先构造好的模板进行比对,根据与模板的相似度的大小来确定最终的识别结果。
但是系统本身还存在许多不足,距离具体实用的要求仍有很大差距,但我却在这次设计中学到了很多知识,在以后的学习中更加努力。
7.体会
通过这次设计使我们明白了自己原来知识还比较欠缺,以后还有很长的路要走。
这个设计让我学们到了很多东西,涉及到了各学科的知识,在这整个过程中我们查阅了大量的资料,得到了许多老师和同学的帮助,我在此对他们表示谢意。
在这期间遇到了很多困难,我们知道做什么都不容易,但是只要能塌下心来,一步一个脚印的去完成也是可以解决的。
这学期我们学习了数字图像处理这门课程,在这个课程设计中应用到了很多其中的知识。
理论只有应用到实际中才能学着更有意义。
学习是一个长期积累的过程,在后的工作、生活中都应该不断的学习,我们会努力提高自己知识和综合素质。
此外,我们还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,以及团队协作的能力,树立了信心,相信会对今后的学习工作生活有非常重要的影响。
同样此次设计也大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
8.参考文献
[1]刘阳,伊铁源等.数字图象处理应用于车辆牌照的识别.辽宁大学学报.2004,65~68
[2]袁志伟,潘晓露.车辆牌照定位的算法研究[J].昆明理工大学学报,2001,26
(2)
[3]张引,潘云鹤,面向车辆牌照字符识别的预处理算法,计算机应用研究,1999(7),
[4]叶晨洲,廖金周,一种基于纹理的牌照图象二值化方法,1999(6),P28~29
[5]朱学芳等,一种自适应细化方法,模式识别与人工智能,Vol.10,No.2,1997(6),P140~145
[6]杨万山等,基于BP神经网络的工程图纸图形符号的识别,Vol.16,No.2,2000
[7]冈萨雷斯.数字图像处理(第二版).电子工业出版社,2007.8
[8]叶晨洲等,车辆牌照字符识别系统,计算机系统应用,1999(5),P10~13
[9]许志影、李晋平.MATLAB极其在图像处理中的应用.计算机与现代化,2004(4)
[10]崔江、王友仁.车牌自动识别方法中的关键技术研究.计算机测量与控制,2003.11(4)
[11]宋建才.汽车牌照识别技术研究[J].工业控制计算机,2004,44~45.
[12]韩勇强、李世祥.汽车牌照子图像的定位算法[M].微型电脑运用,1999.60~65.
[13]梁玮、罗剑锋、贾云得.一种复杂背景下的多车牌图像分割与识别方法[D].2003.
[14]郁梅等,基于视觉的车辆牌照检测,计算机应用研究,1999(5),P65~67
[15]胡小锋、赵辉.VC++/MATLAB图像处理与识别使用案例精选.人民邮电出版社,2004.9
附1.程序源代码:
(基于matlab的程序代码)
function[d]=main(jpg)
I=imread('car.jpg');
figure
(1),imshow(I);title('原图');
I1=rgb2gray(I);
figure
(2),subplot(1,2,1),imshow(I1);title('灰度图');
figure
(2),subplot(1,2,2),imhist(I1);title('灰度图直方图');
I2=edge(I1,'robert',0.08,'both');
figure(3),imshow(I2);title('robert算子边缘检测')
se=[1;1;1];
I3=imerode(I2,se);
figure(4),imshow(I3);title('腐蚀后图像');
se=strel('rectangle',[40,40]);
I4=imclose(I3,se);
figure(5),imshow(I4);title('平滑图像的轮廓');
I5=bwareaopen(I4,2000);
figure(6),imshow(I5);title('从对象中移除小对象');
[y,x,z]=size(I5);
myI=double(I5);
%begin横向扫描
tic
Blue_y=zeros(y,1);
fori=1:
y
forj=1:
x
if(myI(i,j,1)==1)
%如果myI(i,j,1)即myI图像中坐标为(i,j)的点为蓝色
%则Blue_y的相应行的元素white_y(i,1)值加1
Blue_y(i,1)=Blue_y(i,1)+1;%蓝色像素点统计
end
end
end
[tempMaxY]=max(Blue_y);%temp为向量white_y的元素中的最大值,MaxY为该值的索引(在向量中的位置)
PY1=MaxY;
while((Blue_y(PY1,1)>=120)&&(PY1>1))
PY1=PY1-1;
end
PY2=MaxY;
while((Blue_y(PY2,1)>=40)&&(PY2 PY2=PY2+1; end IY=I(PY1: PY2,: : ); %IY为原始图像I中截取的纵坐标在PY1: PY2之间的部分 %end横向扫描 %begin纵向扫描 Blue_x=zeros(1,x);%进一步确定x方向的车牌区域 forj=1: x fori=PY1: PY2 if(myI(i,j,1)==1) Blue_x(1,j)=Blue_x(1,j)+1; end end end PX1=1; while((Blue_x(1,PX1)<3)&&(PX1 PX1=PX1+1; end PX2=x; while((Blue_x(1,PX2)<3)&&(PX2>PX1)) PX2=PX2-1; end %end纵向扫描 PX1=PX1-2;%对车牌区域的校正 PX2=PX2+2; dw=I(PY1: PY2,: : ); t=toc; figure(7),subplot(1,2,1),imshow(IY),title('行方向合理区域'); figure(7),subplot(1,2,2),imshow(dw),title('定位剪切后的彩色车牌图像') imwrite(dw,'dw.jpg'); [filename,filepath]=uigetfile('dw.jpg','输入一个定位裁剪后的车牌图像'); jpg=strcat(filepath,filename); a=imread('dw.jpg'); b=rgb2gray(a); imwrite(b,'1.车牌灰度图像.jpg'); figure(8);subplot(3,2,1),imshow(b),title('1.车牌灰度图像') g_max=double(max(max(b))); g_min=double(min(min(b))); T=round(g_max-(g_max-g_min)/3);%T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 课程设计 报告 车牌 识别 系统 设计