数字图像处理结课论文

更新时间:2024-05-08 18:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012-2013年第一学期《数字图像处理》科目考查卷

专业:通信工程 班 级:××× 任课教师:××× 姓名:××× 学 号:××× 成 绩:

车牌识别系统设计

一、基本原理

牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。

二、设计步骤

图1 牌照识别系统示意图

2.1 总体设计方案:

(1)牌照号码、颜色识别

为了进行牌照识别,需要以下几个基本的步骤:

a.牌照定位,定位图片中的牌照位置; b.牌照字符分割,把牌照中的字符分割出来;

c.牌照字符识别,把分割好的字符进行识别,最终组成牌照号码。 牌照识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与牌照识别互相配合、互相验证。 (2)牌照定位:

自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。

流程图: 导入原 始图像 (3)牌照字符分割 :

完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果 水平投影进计算 行车牌水平校正

(4)牌照字符识别 :

字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。基于人工神经元网络的算法有两种:一种是先对待识别字符进行特征提取,然后用所获得

2

对图像开边缘提取 图像预处理增 车牌定位 强效果图像 闭运算 去掉车牌的框架 分析垂直投影找到每个字符中心位置 按左右宽度切割出字符

特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。

2.2 车牌识别系统程序设计

(1)开发软件

车牌号识别系统的软件部分大都采用VC++,VB或者Matlab,本论文选用Matlab,主要是因为Matlab具有以下优点:

1) Matlab绘图功能很强大,但在VC++,VB语言里绘图都很不容易,但Matlab

里数据的可视化程度非常高,并且具有较强的编辑图形界面的能力。

2) Matlab语言简单,入门容易,程序设计不严格,自由度大,例如用户无

需对矩阵预定义即可使用。

3)Matlab语言简洁紧凑,使用方便灵活,库函数丰富,并且内部集成了很多

工具箱,为程序开发提供现成模块。

4)Matlab的可移植性很好,基本上不做修改就可以在在各种型号的计算机和操作系统上运行。

2.3 图像读取及车牌区域提取

图像读取及车牌区域提取主要有:图像灰度图转化、图像边缘检测、灰度图腐蚀、图像的平滑处理以及车牌区域的边界值计算。其程序流程图如下:

3

输入车牌图象 灰度校正 平滑处理 提取边缘

图 2 预处理及边缘提取框图

目前比较常用的图像格式有*.BMP、*.JPG、*.GIF、*.PCX、*.TIFF 等,本

课题采集到的图片是*.JPG 的格式。因为使用*.JPG图像时有一个软件开发联合会组织制定、有损压缩格式,能够将图像压缩在很小的储存空间,而且广泛支持 Internet 标准,是面前使用最广的图片保存和传输格式,大多数摄像设备都以*.JPG格式保存。利用图像工具箱的

Car_Image_RGB=imread(‘Image_Name’);

即可将图像读取出来,这样读取得到的是RGB图像,RGB图像分别用红、绿、蓝三个色度值为一组代表每个像素的颜色,因此Car_Image_RGB是一个错误!未找到引用源。的数组,m、n表示图像像素的行、列数。 2.4 图像灰度图转化

我国车牌颜色及其RGB值如下,蓝底(0,0,255)白字(255,255,255)、黄底(255,255,0)黑字(0,0,0)、黑底(0,0,0)白字(255,255,255)、红底(255,0,0)黑字(0,0,0),由于车牌的底色不同,所以从RGB图像直接进行车牌区域提取存在很大困难,但不管哪种底色的车牌,其底色与上面的字符颜色的对比度大,将RGB图像转化成灰度图像时,车牌底色跟字符的灰度值会相差很大。例如蓝色(255,0,0)与白色(255,255,255)在R通道中并无区分,而在G、R 通道或是灰度图象中数值相差很大。同理对白底黑字的牌照可用R 通道,绿底白字的牌照可以用G 通道就可以明显呈现出牌照区域的位置,便于后续处理。原图、灰度对于将彩色图象转换成灰度图象时,图象灰度值H可由下面的公式计算:

4

H?0.229R?0.587G?0.114B (2.4.1)

H?B?G?R (2.4.2) 3

(2.4.1)式使用了权值加重法,(2.4.2)式使用均值法,使用权值法的好处是可以突出某个通道,Matlab内的RGB转灰度图函数rgb2gray()就是使用的(2.4.1)式权值比例公式,这样就可以利用边缘检测方法,识别出临近区域灰度值相差大的分界区。

2.5 图像的边缘检测

在Matlab中利用函数edge()实现边缘检测,具体的用法如下所示:

Car_Image_Bin=edge(Car_Image_Gray,'robert',0.15,'both');

在edge()函数中有Sobel算子,Prewitt算子,Roberts算子,Log算子,Canny算子及Robert算子,几种算法相比之下,Roberts算子是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子,他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声的影响。因此本课题使用了Robert算子。

由于Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子, 根据任一相互垂直方向上的差分都可用来估计梯度,Robert 算子采用对角方向相邻两像素之差,其计算公式如下:

?xf?f?x,y??f?x?1,y?1? (3.3) ?yf?f?x?1,y??f?x,y?1? (3.4) 其幅值为: Robert

错误!未找到引用源。 (3.5)

?11??11??x?2,y?2??x?2,y?2??为中心,所以他度量了??点处45?和135?错误!未梯度以??01?找到引用源。方向(相互正交)的灰度变化。适当取门限T,做如下判断:

?10?G?x,y??T,(x,y)为阶跃状边缘点。Roberts边缘检测算子相当于用??和错误!未找到引用源。对图像进行卷积。both表示双向0.15为敏感度值检测算法

5

2.5 灰度图腐蚀

所谓腐蚀即一种消除边界点,使边界向内部收缩的过程。利用它可以消除小

而且无意义的物体。腐蚀的规则是输出图像的最小值是输入图像领域中的最小值,在一个二值图像中,只要有一个像素值为0,则相应的输出像素值为0。假设B对X腐蚀所产生的二值图像E是满足以下条件的点(x,y)的集合:如果B的原点平移到点(x,y),那么B将完全包含于X中。本系统使用imerode()函数,

Car_Image_Erode=imerode(Car_Image_Bin,Se);

其中结构元素Se又被形象成为刷子,用于测试输入图像,一般比待处理图像小很多。结构元素的大小形状任意,一般是二维的。二维结构元素为数值0和1组成的矩阵,结构元素中数值为1的点决定结构元素的领域像素在进行腐蚀操作时是否需要参加运算。结构元素太大,会造成腐蚀过度,造成信息丢失,太小起不了预期的效果,这里使用3?1矩阵的线性结构元素,即Se??1;1;1?。

2.5 图像平滑处理

得到车牌区域的图像轮廓线后,由于图像的数字化误差和噪声直接影响了脚

点的提取,因此在脚点提取之前必须对图像进行平滑处理,Matlab有一个图像平滑处理函数imclose(),它与开运算相反,融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙。

Car_Image_Perform=imclose(Car_Image_Erode,Se);

结构单元中Se一个小于对象闭合图形,只要两个封闭域的距离小于Se,就将

这两个连接成一个连通域,Se生成方式采用

Se=strel('rectangle',[25,25]);

即Se是一个一个25?25的矩形,使用矩形是因为车牌是一个矩形,这样,可以是提取的图像最接近预期效果。由于车牌图像经过腐蚀以后只剩下车牌区域以及车的标志。

6

2.6 车牌区域的边界值计算

在将原始图像进行二值化,然后轮廓平滑处理后,图像的每个点为两个离散值中的一个,这两个值代表开(1)与关(0),即只有黑与白的特殊灰度图像,并且整个图像只有两个域(如果有多个域需改变参数后重新进行一此剔除干扰对象处理),全1的域即为车牌区域,并且近似矩形,长宽比为4.5:1,也可以用这两个特性去检验提取的区域是否为车牌区域。 2.7 字符切割

完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。 2.8字符识别

目前字符识别的方案有使用神经网络和模板匹配法进行比对。人工神经网络是模拟人脑思维功能和组织建立起来的数学模型,虽然现在神经网络正在迅速发展,但总体来说应用还是相对复杂的。模板匹配法虽然识别率低,但实现简单,计算量小,只有矩阵的加减与统计,而且车牌字符是有阿拉伯数字,英文大写字母,还有部分汉字,虽有字库量不大,字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高,因此本课题使用这种方法。对于模板匹配,首先建立标准模板库,库中字符使用统一的尺寸,这里使用20?40。 2.9 字符归一化

由于图像采集时图像的像素值不一样,经切割出来的字符的大小也会不一

样,所以在进行匹配前必须先进行字符图像归一化。使图像字符大小跟模板图像大小一致,Matlab提供一个改变图像大小的函数imresize(I,Size,Model),Model是插值运算方法,这里选用'nearest'最近邻插值法,经归一化后的图像如下。

7

2.10 字符匹配字

符匹配识别的是要前提要简历可以与之相比较的字库表,再将已切割并进行了归一化处理的单个字符相比较,逐个字符进行匹配比较,再将待识别的字符的特征值和模板字符相减,找到相减值为最小的那个即为匹配得最好的字符。 字符匹配的准确度是车牌识别中的关键部分,所以首先要简历精准有效的模板字库表,便于切割完的字符与库中内容相比较,接下来是读取切割的字符,从第一个字符开始一次与库中字符相比较匹配,切割后的字符特征值与库中模板字符相减,找到值最小的那个就是匹配得最恰当的字符。

三、车牌识别技术的应用前景

随着我国公路交通事业的发展,车辆的数量正在迅速增长,在给出行提供方便的同时,车辆管理上存在的问题日益突出,人工管理的方式已经不能满足实际的需要。微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。作为信息来源的自动检测、图像识别技术越来越受到人们的重视。近年来计算机的飞速发展和数字图像技术的日趋成熟,为传统的交通管理带来巨大转变,先进的计算机处理技术,不但可以将人力从繁琐的人工观察、监测中解放出来,而且能够大大提高其精确度,汽车牌照自动识别系统就是在这样的背景与目的下进行开发的。汽车牌照等相关信息的自动采集和管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要的意义,成为信息处理技术的一项重要研究课题。

关于车牌识别技术及定位系统研究,在我国已经有了十几年的发展历程,目前系统的应用还处于起步阶段,大规模投入使用的成熟系统还没有出现,汽车牌照识别系统作为改进交通管理的有效工具,技术水平仍需完善。国内外学者对此已经有了较多工作,但实际效果并不理想,尤其是对车牌自适应性强、速度快、准确率高的高速车牌定位方法还有待进一步研究。另外,对辅助光源要求高,也很难有效解决复杂背景下多车牌移动识别的技术难题,如:车牌图像的倾斜、车牌表面污秽或磨损、光线干扰等都会影响定位的准确性。传统车牌识别一般仅支持单一车辆,背景比较简单。而当今许多实际应用场合,如在繁忙交通路口临时对欠税费、报废、挂失等车辆的稽查,则监视区域比较复杂,现有识别方法无法直接应用;而且多数情况下,同时出现多辆汽车,背景有广告牌、树木、建筑物、斑马线以及各种背景文字等,现有的识别方法也不能很好的适应多变的环境,所

8

以对车牌识别技术的研究依然是目前高科技领域的热门课题之一。车牌识别系统的成功设计、开发和应用具有相当大的社会效益、经济效益和学术意义。

从车牌识别系统进入中国以来,国内有大量的学者在从事这方面的研究,提出了很多新颖快速的算法。中国科学院自动化所的刘智勇等开发的系统在一个样本量为3180 的样本集中,车牌定位准确率为99.42%,切分准确率为94.52%,这套系统后来应用于汉王公司的车牌识别系统,取得了不错的效果。但是包括其他研究人员提出的算法,都存在计算量和存储量大的问题,难以满足实时性的要求。此外,当车辆区域的颜色和附近颜色相近时,定位失误率会增加。国内还有许多学者一直在进行这方面的研究,并且取得了大量的研究成果。

另外,车辆牌照自动识别技术是智能交通系统的一个重要组成部分,广泛应用于交通的监控及管理。车辆牌照识别系统技术能够从一幅车辆图像中准确定位出车牌区域,然后经过字符切割和识别实现车辆牌照的自动识别。目前车牌识别系统主要应用于以下领域:

1)停车场管理系统。利用车牌识别技术对出入车辆的号牌进行识别和匹配,与停车卡结合实现自动计时、计费的车辆收费管理系统。

2)公路自动管理系统。以车牌自动识别技术为基础,与通信等其他高科技结合,对高速公路交通流状况进行自动监测、自动布控,从而降低交通事故的发生率,确保交通顺畅。

3)安防布控。采用车牌识别技术实现对车辆的自动识别,快速报警,既可以有效查找被盗车辆,同时又为公安机关提供了对犯罪嫌疑人的交通工具进行远程跟踪与监查的技术手段。

4)城市十字交通路口的“电子警察”。可以对违章车辆进行责任追究,也可以辅助进行交通流量统计,交通监测和疏导。

5)小区、校园车辆管理系统。社区保安系统将出入的车辆通过车牌识别技术进行记录,将结果与内部车辆列表对比可以实现防盗监管。

四、总结

本小论文是对车牌识别系统的软件部分进行了研究,分别从图像预处理、车牌定位、字符分割以及字符识别等方面进行了系统的分析。主要工作内容及结论如下:

(1)在车牌定位我们采用基于灰度跳变的定位方法,采用先对图像进行预处

9

理,再进行二值化操作的方法。实验表明本方法既保留了车牌区域的信息,又减少了噪声的干扰,从而简化了二值化处理过程,实验表明本方法既保留了车牌区域的信息,又减少了噪声的干扰,从而简化了二值化处理过程,提高了后续处理的速度。

(2)基于彩色分量的定位方法,运用基于蓝色象素点统计特性的方法对车牌是蓝色的车牌进行定位。实验表明,用该方法实现的车牌定位准确率较高。 (3)用MATLAB编程运行结果可以得出,采用图像预处理、边缘检测、开闭运算子、车牌长宽比特征识别等对车牌的定位都是非常有效的。

五、参考文献

[1]. 冀小平.基于Matlab的车牌识别系统研究[J].2009,电子设计工程。 [2]. 叶晨洲等.车辆牌照字符识别[J].2000,上海交通大学学报。 [3]. 张德丰.MATLAB模糊系统设计[M].2009,国防工业出版社。

[4]. 贺兴华、周媛媛、王继阳等.MATLAB 图像处理[M].2006,人民邮电出版社。

10

本文来源:https://www.bwwdw.com/article/ezbg.html

Top