基于MATLAB的车牌识别系统中图像预处理研究.docx
《基于MATLAB的车牌识别系统中图像预处理研究.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的车牌识别系统中图像预处理研究.docx(29页珍藏版)》请在冰豆网上搜索。
基于MATLAB的车牌识别系统中图像预处理研究
毕业论文
基于MATLAB的车牌识别系统中图像预处理研究
基于MATLAB的车牌识别系统中图像预处理研究
专业:
电子信息工程姓名:
张黎宾指导教师:
刘文博
摘要数字图像处理技术是自1960年以来发展起来的一门新兴学科,随着图像处理技术理论和方法的进一步完善,使得数字图像处理技术在许多领域得到了广泛的应用,并展现出广阔的应用前景。
本文主要是研究车牌识别系统中一个重要的模块——图像预处理。
为了使彩色图像减少存储信息,我们可以先对彩色图像进行灰度化,只保留该图像的亮度信息。
本文通过传统的方法中值滤波和均值滤波对图像进行去噪,对结果比较分析,虽然中值滤波比均值滤波效果要好,但是图像还是含有较多的噪声。
所以本文在小波变换的基础上进行了改进,图像经过小波变换后再进行中值、均值滤波去噪,这样也再次把中值、均值滤波进行对比。
通过对效果图的分析和总结,改进后的去噪效果要比之前的更好,同时改进后的中值滤波还是比均值滤波好一些,因此基于小波变换的中值滤波是值得采用的。
本文提出的针对车牌图像的预处理过程对灰度图像可以达到不错的效果,并且在一定的程度上解决了因外界因素而造成的车牌图像对比度较低的问题。
关键词数字图像处理,预处理,中值滤波
ABSTRACT
DigitalimageprocessingtechnologyisIemergingsubjectsince1960,theameliorationofimageprocessingtheoryandmethodsgetstheDigitalimageprocessingtechnologytobeappliedwidelyinmanyfieldsandpresentabroadapplicationprospectinthedaystocome.
Thispaperismainlyresearchvehicleplaterecognitionsystemaimportantmodule——imagepreprocessing.Inordertomakethecolorimagetoreducethestorageinformation,wecanfirstonthegrayofthecolorimages,justretainingthebrightnessinformationoftheimage.Thisarticlethroughthetraditionalmethodofmedianfilterandmeanfilterforimagedenoisingtocomparativeanalysistheresult,althoughtheeffectofmedianfilteringisbetterthanthemeanfilter,theimagesstillcontainlotsofnoise.Therefore,thispapermakesimprovementonthebasisofwavelettransform,imageafterwavelettransform,denoisingofthemedianfilteringandmeanfilter.Itcomparedthemedianfilteringandmeanfilteroncemore.Accordingtotheeffectgraphanalysisandsummary,theeffectoftheimproveddenoisingisbetterthanbefore,atthesametime,theimprovedmedianfilteringisalsobetterthantheimprovedmeanfilter,sobasedonwavelettransformisworththemedianfilter.
Theideaofvehicleplaterecognitionsystemwillearnapositiveresultasfarastheprayimageisconcernedand,tosomedegree,resolvetheproblemevokedbyinternaldampers.
KeyWords:
Digitalimageprocessing,Pre-processing,Medianfiltering
1绪论
1.1课题的研究背景
随着经济的快速增长,汽车走进寻常百姓家庭已经是常事,汽车的拥有人数也不断刷新。
进入2000年以来,全世界各国的交通堵塞、交通事故和环境污染越来越影响着国家经济水平的提高和人们生活质量的改善,人们也越来越重视城市道路的交通状况,怎样有效地改进交通管理,已经慢慢地成为相关部门关注的重点。
面对这问题,研究技术人员将电子信息技术、计算机理论技术、传感器技术集成运用于道路交通的实际需求,先后研究开发了以下几种系统:
交通道路监管系统、车辆控制系统和道路交通安全系统。
此类系统将车辆和道路结合起来进行分析,运用各种先进的技术解决道路交通的问题,统称为智能交通系统(IntelligentTransportationSystem,简称ITS)[1]。
车牌识别(VLPR)是智能交通系统中的一个重要组成部分,应用相当广泛。
它是以数字图像处理、模式识别、计算机视觉等技术为基础,对所拍摄的车辆图像或者视频序列进行分析,得到每辆汽车唯一的车牌号码,进而完成车牌识别的过程[2]。
通过某些后续的处理办法可以实现很多功能,比如说停车位收费管理、车流量控制测量、车辆定位、车辆限行、车辆防盗、公路超速监管、闯红灯、公路收费站等等。
对于维护交通秩序和城市治安,防止交通堵塞,实现交通自动化管理有着实际的意义。
1.2车牌识别系统的原理
车牌识别系统由车牌定位、图像采集、车牌识别、字符分割等环节构成,车牌识别系统工作的基本流程:
先把拍摄到的车辆车牌号码的图像输入计算机进行图像预处理,再通过车牌识别模块对车辆车牌进行识别、检测、定位,并且分割出含有车牌号码字符的区域,而后对该图像进行二值化处理,并将其分割成单个字符,规整后输入字符识别模块进行识别,之后把识别出来的结果存储到数据库里面。
1.3国内车牌特征
标准的车牌上一般有七个字符,第一位为各省的简称,比如甘肃省简称“甘”、青海省简称“青”,次位为英文字母,它表示此省的地区,字母“A”都为各省份的省会,如“甘A”就表示甘肃省兰州市车牌,再次位为英文字母或阿拉伯数字,末四位字符一般均为数字。
它们基本呈水平排列,在矩形内部存在较丰富的边缘。
如图1.1所示
图1.1一般的标准车牌号码
车牌还有颜色特征,我国的车牌有四种类型:
小功率汽车的车牌是蓝底白字,大功率汽车的车牌是黄底黑字,军警用的车牌是白底黑红字,国外驻华使馆用的车牌是黑底白字。
如图1.2所示
图1.2(a)小功率车牌
图1.2(b)大功率车牌
图1.2(c)军警车牌
图1.2(d)驻华使馆车牌
1.4本文的结构安排与主要工作
本文研究的只是车牌识别系统中图像预处理那一部分,图像预处理是车牌识别流程的第一步,处理效果直接影响到最后的结果。
图像预处理包括图像灰度化、二值化、直方图均衡化、滤波等。
第一章绪论部分。
介绍了本课题的研究背景和意义;概述了车牌识别系统在国内外的发展和应用现状;介绍了车牌识别系统的定义和原理;具体给出本文研究的课题:
图像预处理以及方法;最后给出了本文的内容安排。
第二章MATLAB简介部分。
主要介绍了MATLAB的背景、特点及基本功能。
第三章图像预处理部分。
主要介绍了图像预处理的几种方法:
灰度化、二值化、图像增强等。
第四章滤波去噪部分。
首先介绍了中值滤波、均值滤波,然后对各自处理的图像进行比较,之后还对小波变换进行改进,对结果再次进行比较。
第五章小结与展望部分。
2MATLAB简介
MATLAB是目前最优秀的科学计算软件之一,也是许多科学领域中分析、应用和开发的基本工具。
MATLAB的全称是MatrixLaboratory,是由美国Mathworks公司于20世纪80年代推出的数学软件,最初它是一种专门运用于矩阵运算的软件,经过多年的发展,MATLAB已经发展成为一种功能非常全面的软件,几乎可以解决科学计算中的所有问题,而且MATLAB具有编写简单、代码效率高等优点,使得它在通信、信号处理、图像处理、经融计算等领域得到广泛应用[3]。
2.1初识MATLAB
MATLAB作为一款优秀的科学计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境。
全球许多科研工作者都在使用MATLAB产品来加快他们的科研进程,缩短数据分析和算法开发的时间,以便他们更快地研究出先进、高端的产品和技术。
与传统的C语言、C++和Fortran语言相比较,MATLAB提供了高效快速解决各种科学计算问题的方法。
目前,MATLAB产品已经被广泛认可为科学计算领域内的标准软件之一。
MATLAB已经被广泛地应用于许多不同领域,例如信号与数字图像处理领域、通信系统领域、经融数据分析领域以及生物科学领域等。
在MATLAB中内嵌了丰富的数学、统计和工程计算函数,使用这些函数进行问题的分析解答,无论是问题的提出还是结果的表达都采用工程师习惯的数学描述方法,这一特点使MATLAB成为了数学分析、算法开发及应用程序开发的良好环境。
MATLAB是MathWorks产品家族中所有产品的基础。
附近的工具箱扩展MATLAB基本环境用于解决特定领域的工程问题。
MATLAB有以下几个特点:
1)高级科学计算语言。
2)代码、数据文件的集成管理环境。
3)算法设计开发的交互式工具。
4)用于线性代数、统计、傅立叶分析、滤波器设计、优化和数值计算的基本数学函数。
5)2-D和3-D数据可视化。
6)创建自定义工程师图形界面的工具。
7)与第三方算法开发工具——C/C++、FORTRAN、Java、COM、MicrosoftExcel——集成开发基于MATLAB的算法。
2.2MATLAB的基本功能
MATLAB将高性能的数值计算和可视化功能集成,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以很容易地对MATLAB产品以提高产品自身的竞争能力。
目前MATLAB的基本功能如下:
1)数学计算功能
MATLAB的数学计算功能是MATLAB的重要组成部分,也是最基础的部分,包括矩阵运算、数值运算以及各种算法。
2)图形化显示功能
MATLAB可以将数值计算的结果通过图形化的界面显示出来,包括2D和3D界面。
3)M语言编程功能
用户可以在MATLAB中使用M语言编写脚本文件或者函数来实现用户所需要的功能,而且M语言语法简单,方便于学习和使用。
4)编译功能
MATLAB可以通过编译器将用户自己编写的M文件或者函数生成函数库,支持Java语言编程,提供COM服务和COM控制,输入输出各种MATLAB及其他变准格式的数据文件。
通过这些功能,使得MATLAB能够同其他高级编程语言混合使用,大大提高了使用性。
5)图形用户界面开发功能
利用图形化的工具创建图形用户界面开发环境,支持多种界面元素:
按钮、单选按钮、复选框、滑块、文本编辑框和Active控件,并提供界面外观、属性、行为响应等设置方式来实现相应的功能。
利用图形界面,用户可以很方便的和计算机进行交流。
6)Simulink建模仿真功能
Simulink是MATLAB的重要组成部分,可以用来对各种动态系统进行建模、分析和仿真。
Simulink包含了强大的功能模块,而且利用简单的图形拖拽、连线等操作构建出系统框图模型,同时,Simulink与基于有限状态机理论的Stateflow紧密集成,可以针对任何能用数学来描述的系统进行建模。
7)自动代码生成功能
自动代码生成工具主要有Real-TimeWorkshop和StateflowCoder,通过代码生成工具可以直接将Simulink与Stateflow建立的模型转化为简捷可靠的程序代码,操作简单,整个代码生成的过程都是自动完成的,极大地方便了用户。
3图像转换
在实际应用中,很多时候因为拍摄环境的多变性,在自然条件下拍摄的车牌往往存在着各种各样的噪声,这样就使得对后期的车牌定位变得复杂,进而影响字符的分割和准确的识别,因此,必须对原始图像进行图像预处理,来改善图像的质量,以提高字符的识别率。
本文主要讨论车牌图像预处理的一些常用方法,包括图像的灰度化、二值化、图像增强等。
3.1灰度化
车牌图像一般可分为彩色图像和灰度图像。
彩色图像的像素点是由R(红色)、G(绿色)、B(蓝色)三种元色混合而成的,不同含量的R、G、B就会组成不同的颜色。
而灰度图像则是只含亮度信息,不含色彩信息的图像,它的亮度是连续变化的,如果要表示灰度图像就需要把亮度值进行量化,一般划分为0~255共256个等级,0最暗(全黑)、255最亮(全白)。
将彩色图像灰度化,通常采用如下公式:
gray=0.39*R+0.50*G+0.11*B。
其中,gray为灰度值。
具体过程如图3.1所示。
图3-1图像的灰度变换
车牌识别的研究一般以灰度图像为研究对象。
因为利用彩色图像的颜色信息进行识别往往会因为背景的复杂而受到影响,并且存在很多的不足,而灰度图像是一种最简单、有效的对比度增强方法。
彩色图像的灰度变换程序以及显示的结果如下:
I=imread('原图.jpg');
I1=rgb2gray(I);
figure,imshow(I1);
图3-2(a)原图
图3-2(b)灰度图像
3.2二值化
图像的二值化既是图像处理中的一项基本技术,也是很多图像处理技术的预处理技术。
图像的二值化指的是将彩色图像转换为只有两级灰度(黑白)的图像。
在车牌识别的研究过程中,图像的二值化处理是非常关键的一步,二值化的效果将直接影响到后面的车牌定位以及字符分割和识别。
通过对灰度图像的二值化处理,能够呈现出感兴趣的轮廓。
它将图像上的点的灰度值置为0或255,使整个图像呈现出明显的黑白效果,也就是将256个亮度等级的灰度图像通过适当的阈值选取,获得仍然可以展现图像整体或者局部特征的二值化图像。
图像的二值化处理过程将会使原图像损失很多有用的信息,所以在进行二值化预处理的过程中,非常关键的一步是经过处理后能否保留原图的主要特征,而正确选择阈值起着至关重要的作用。
图像二值化的阈值选取有很多种方法,主要的方法可划分为3大类:
(1)整体阈值法。
指的是在二值化处理过程中只采用一个全局阈值x的方法。
它将原图像的每一个像素的灰度值与全局阈值x进行比较,若大于x,则取为白色;若小于
,则取为黑色。
假设原图像
g0(n0,m0),其灰度值范围是[k1,km],在k1和km之间选择一个合适的灰度值x,二值化后的图像gk(n0,m0)可表示为
(3-1)
(2)局部阈值法。
是指由当前的像素灰度值与该值附近点的局部灰度特征值来确定该像素的阈值。
比如,可以将原图像划分为几个不相交的小模块,然后将各模块的图像的灰度平均值作为该块图像的阈值,在局部上继续采用上面所介绍的整体阈值法。
(3)动态阈值法。
它的阈值选择不但取决于该像素及其附近像素的灰度值,还与该像素的坐标位置有关。
例如,在局部统计该区域灰度值的分布特征,根据统计结果来确定不同的局部阈值[4]。
图像二值化程序以及结果:
A=imread('灰度.jpg');
B=im2bw(A,0.4);
subplot(1,1,1);imshow(B);
图3-3(a)灰度图像
图3-3(b)二值化图像
3.3图像增强
3.3.1图像增强的背景与定义
图像增强是图像处理过程中常常使用的一种方法,它对提高图像的质量起着非常大的作用。
在通常情况下,经过图像的传送和转换,比如成像、复制、扫描、传输和显示等,经常会造成图像质量的下降,也就是图像失真。
在拍摄时由于光照条件不足或者过度,会导致图像太暗或太亮;光学系统的失真、相对运动、大气流动等都会导致图像模糊不清,传输过程中会引起各种各样的噪声。
总之,输入的图像在视觉效果和识别等方面可能存在着许许多多的问题,这类问题统称为质量问题。
图像增强,指的是根据特定的需要凸显出图像所含的重要信息,同时减弱甚至去除不需要的信息。
在不同的途径所获取的图像,进行适当的图像增强处理,可以将原本模糊或者无法分辨的原图像处理成清晰的并且富含大量有用信息的图像,可以有效地去除原图像中的一些噪声、增强图像中的边缘部分或其他感兴趣的地方。
经过处理所得到的图像是否保持原状已经不是很重要了,因为不会考虑到原图像的一些理想形式而去努力呈现图像的真实性。
3.3.2图像增强的意义
图像增强为的是增强图像的视觉效果,将原图像转换成另一种形式,使它更适合人眼的观察、计算机分析和处理。
图像增强通常要借助于人眼的视觉效果,来获取看起来较佳的视觉效果,不过一般很少涉及到客观和统一的评价标准。
增强的效果通常都与原本的图像有关,依靠人的主观给予评价。
图像增强的过程一般也是一个非常矛盾的过程:
图像增强既希望去除噪声又希望增强边缘。
但是,增强边缘的同时会增加噪声,而去除噪声又会使边缘变得模糊,所以在图像增强时,往往都是将这两部分进行折中,找一个好的代价函数以达到所需要的增强目的。
传统的图像增强算法在确定转换所用的函数时常常是以整个图像的统计量为基础,比如:
直方图均衡,中值滤波,高通滤波等等。
这样对应于某些局部区域的细节在计算整幅图的变换时其影响因为其统计量值比较小而经常被忽略掉,从而局部区域的增强的效果常常不尽人意,以致于去噪滤波和增强边缘的矛盾也难得到解决。
3.4直方图
图像的直方图是图像的重要统计方法,它近似于图像灰度密度函数。
图像的灰度直方图主要用于反映一幅图像的灰度值与出现这种灰度值的概率之间的关系。
灰度直方图是离散函数,一般情况下,要想得到精确的图像的灰度密度函数是比较困难的,在实际情况中,可以用数字图像灰度直方图来代替。
归纳起来,灰度直方图主要有以下几点性质:
①直方图中不包含位置信息(直方图只是反应了图像灰度分布的特性,和灰度所在的位置没有关系,不同的图像可能具有相近或者完全相同的直方图分布);②直方图反应了图像的整体灰度(直方图反应了图像的整体灰度分布情况,对于暗色图像,直方图的组成集中在灰度级低(暗)的一侧,相反,明亮图像的直方图则倾向于灰度级高的一侧。
直观上讲,可以得出这样的结论,若一幅图像其像素占有全部可能的灰度级并且分布均匀,这样的图像有高对比度和多变的灰度色调)[5];③直方图的可叠加性(一幅图像的直方图等于它各个部分直方图的和);④直方图具有统计特性(从直方图的定义可知,连续图像的直方图是一位连续函数,它具有统计特征);⑤直方图的动态范围(直方图的动态范围是由计算机图像处理系统的模数转换器的灰度级决定)[6]。
MATLAB图像处理工具箱提供了imhist函数来计算和显示图像的直方图,灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,如图4.1所示,(b)为图像(a)的灰度直方图,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(像素的个数)。
程序如下:
img=imread('原图.jpg');
p=rgb2gray(img);
h=imhist(p);
h1=h(1:
2:
256);
h2=1:
2:
256;
stem(h2,h1,'r--');
figure,imhist(p);
图3-4(a)原图
图3-5(b)直方图
当图像的灰度对比度较小时,它的灰度直方图只分布在灰度轴上非零区间上的一小段,比较暗的图像的包含的像素灰度值都很低,所以它的灰度直方图的主要部分分布在灰度值较低的那一小段区间上,而在灰度值较高的区间上的分布较少或基本没有,较亮的图像的灰度直方图分布情况则正好相反。
3.5直方图均衡化
3.5.1直方图均衡化的背景
在实际应用中,无论采用哪种装置输入的采集的图像,由于光照、噪声等原因,图像的质量往往不能令人满意。
例如,检测图像的边缘过于模糊;在比较满意的一幅图像上发现多了一些不知来源的黑点或白点;图像的失真、变形等等。
所以图像往往需要采取一些方法进行改善以求达到更好的效果。
图像增强技术正是在此基础上提出的。
图像增强是图像分析与处理的一个重要的预处理过程,其主要有两个目的:
一是运用一系列技术手段改善图像的视觉效果,提高图像的清晰度;二是将图像转化成一种更适合于人或计算机进行分析处理的形式,所以说改善图像的质量是图像增强的根本目的。
图像增强的意义一般可以理解为:
按特定的需要进行适当的变换,对图像的某些特征,如边缘、轮廓、对比度进行强调或锐化,突出某些有用的信息,去除或消弱无用的信息以便于显示、观察或进一步分析和处理。
图像增强处理方法可以根据图像增强处理所处的空间不同,可分为基于空间域的增强方法和基于频率域的增强方法两类。
空间域处理方法是在图像像素组成的二维空间里直接对每一个像素的灰度值进行处理,它可以是一幅图像内像素点之间的运算处理,也可以是数幅图像间的相应像素点之间的运算处理。
频率域处理方法是在图形的变换域对图像进行间接处理,其特点是先将图像进行变换,在空间域对图像作傅里叶变换得到它的频谱,然后按照某种变化模型(如傅里叶变换)变换到频率域,完成图像由空间域变换到频率域,然后在频率域内对图像进行低通或高通频率域滤波处理。
处理完之后,再将其反变换到空间域。
直方图均衡化算法是图像增强空域法中的最常用、也是最重要的算法之一。
它以概率论为基础,运用灰度点运算来实现直方图的变换,从而达到增强图像的目的。
本文介绍一种基于累积分布函数变换法为基础的直方图修正法。
它可以通过对直方图进行均匀化修正,可使图像的灰度间距增大或灰度均匀分布、增大反差,是图像的细节变得清晰。
3.5.2直方图修正技术的基础
给定一图像的灰度级经归一化处理后,分布在0≤r≤1范围内,此时可以对[0,1]区间内的任一个r值进行以下变换:
s=T(r)(3-2)
也就是说,通过上述变换,每个原始图像的像素值r都对应产生一个s值。
变换函数T(r)应该满足以下两个条件[7]:
(1)在0≤r≤1区间内,T(r)是单值单调递增的;
(2)对于0≤r≤1,有0≤T(r)≤1;
这里第一个条件保证了图像的灰度级从亮到暗的顺序不变和反函数T-1(s)的存在。
第二个条件则保证了映射变换后的像素灰度值在允许的范围内。
从s到r的反函数可用式(3-3)表示,也同样的满足上述两个条件
(3-3)
通过概率论的理论可以让我们知道,如果随机变量ξ已知的概率密度为Pr(r),而随机变量η是ξ的函数,即η=T’(ξ),η的概率密度则为Ps(s),所以可以由Pr(r)求出Ps(s)[8]。
由于s=T(r)是单调递增的,因此,其反函数r=T-1(s)也是单调函数。
在此情况下,当η﹤s,且仅当ξ﹤γ时出现,因此可以求得随机变量η的分布函数为:
(3-4)
再对式(