当前位置:文档之家› 毕业论文-基于MATLAB的车牌号码识别系统设计两篇

毕业论文-基于MATLAB的车牌号码识别系统设计两篇

基于MATLAB的汽车车牌的号码识别系统设计01

1 绪论 (1)

1.1 选题背景 (1)

1.2 设计前景 (1)

1.3 车牌号码识别原理 (1)

1.4 MATLAB简介 (2)

2 车牌号码识别系统总体方案 (2)

2.1 车牌号码识别系统硬件介绍 (3)

2.2 车牌号码识别系统软件设计 (3)

2.2.1 图像预处理 (4)

2.2.2 车牌定位 (5)

2.2.3 牌照字符分割 (5)

2.2.4 牌照字符识别 (5)

2.3 本章小节 (6)

3.1 图像灰度化 (7)

3.2. 灰度拉伸 (7)

3.3 图像平滑 (8)

3.4 边缘提取 (9)

4 车牌定位 (9)

4.1 车牌特征的信息分析 (10)

4.1.1 车牌特征的信息分析 (10)

4.1.2 常见车牌颜色特征的信息 (12)

4.1.3 车牌特征分析结论 (13)

4.2 车牌号码初定位 (13)

4.2.1 车牌二值化 (14)

4.2.2 图像二值化的基本原理 (14)

4.3 牌照区域的分割 (15)

5 牌照字符分割 (16)

5.1 字符字符切分综述 (16)

5.1.1 字符分割 (16)

5.1.2 字符归一化 (16)

6 车牌字符的识别 (17)

6.1 车牌字符识别综述 (17)

6.2 模版匹配字符识别 (17)

7 车牌号码识别软件设计结果及分析 (20)

7.1 车牌识别仿真 (20)

7.2 结果分析 (27)

结束语 (29)

参考文献 (30)

附录程序清单 (31)

摘要

汽车车牌的识别系统是现代智能交通管理的重要组成部分之一。车牌识别系统使车辆管理更智能化,数字化,有效的提升了交通管理的方便性和有效性。车牌识别系统主要包括了图像采集、图像预处理、车牌定位、字符分割、字符识别等五大核心部分。

本文主要介绍图像预处理、车牌定位、字符分割三个模块的实现方法。本文的图像预处理模块是将图像灰度化和用Roberts算子进行边缘检测的步骤。车牌定位和分割采用的是利用数学形态法来确定车牌位置,再利用车牌彩色信息的彩色分割法来完成车牌部位分割。字符的分割采用的方法是以二值化后的车牌部分进行垂直投影,然后在对垂直投影进行扫描,从而完成字符的分割。本文即是针对其核心部分进行阐述并使用MATLAB软件环境中进行字符分割的仿真。

关键词:MATLAB、图像预处理、车牌定位、字符分割

ABSTRACT

Vehicle license plate recognition system is one important of the modern intelligent traffic management. License plate recognition system to make more intelligent vehicle management, digital, Effective traffic management to enhance the convenience and effectiveness. License plate recognition system includes image acquisition, image preprocessing, license plate localization, character segmentation, character recognition and other five core parts.

In this paper, preprocessing, license plate localization, character segmentation method for the realization of three modules.This is the image preprocessing module and the use of the image grayscale Roberts edge detection operator steps. License plate location and segmentation using mathematical morphology method is used to determine the license plate location,Re-use license plate color segmentation method of color information to complete the license plate area segmentation. Character segmentation approach is based on the license plate after the binary part of the vertical projection, Then scan in the vertical projection, thus completing the character segmentation. This article is described for the core part and use the MATLAB software environment, the simulation experiments for character segmentation.

Keywords:MATLAB Software, Image preprocessing, License plate localization, Character segmentation

1 绪论

1.1 选题背景

汽车牌照自动识别系统是制约道路交通智能化的重要因素,包括车牌定位、字符分割和字符识别三个主要部分。由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割,从而定位车辆牌照,然后利用车牌的彩色信息的彩色分割方法。在字符识别部分,利用模板匹配字符识别算法进行对车牌号码的识别。实验结果表明,本文提出的方法具有不错的识别性能。随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。汽车牌照的自动识别技术已经得到了广泛应用。

1.2 设计前景

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

车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。我们知道输入的彩色图像包含大量颜色信息,会占用计算机较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,通常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。具体步骤如下:首先通过MATLAB软件对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连

通。在进行形态学滤波去除其它区域。

1.4 MATLAB简介

Matlab(Matrix Laboratory)是美国MathWorks公司开发的一套高性能的数值分析和计算软件,用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境,是目前最好的科学计算类软件之一。

MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。

MATLAB已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。在中国,MATLAB 也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。

2 车牌号码识别系统总体方案

一个完整的车辆牌照识别系统是一个复杂的系统,应该包括图像采集、图像预处理、车牌定位、字符切分、字符识别以及图像编码、数码传输与更新等步骤,基本可以分为硬件部分和软件部分,硬件部分主要完成车辆图像的摄取采集,软件部分主要完成对采集到的车辆图像进行车辆牌照定位、车牌字符切分与车牌字符识别等工作,这部分工作最为复杂,最后对识别结果进行数据传送和存储,将处理后的识别信息交给管理系统进行管理。整个系统的核心是软件部分的工作,能否通过牌照对车辆进行有效管理,很大程度上取决于软件部分识别车牌的准确性。目前,研究的车牌识别系统大部分都是基于直接法,即是基于图像理解的汽车牌照识别,该方法的一般结构如下:

图像采集图像预处理车牌定位字符分割字符识别

图1 车牌识别系统流程图

2.1 车牌号码识别系统硬件介绍

一个车牌识别系统的基本硬件配置由摄像机、主控机、采集卡和照明装置组成。例如在停车场管理系统中,系统硬件主要包括车辆传感探测器、高性能工控计算机、高分辨率CCD摄像机、高放大倍数镜头、CCD自动亮度控制器和视频采集卡等。

首先是探测车辆的接近、通过和停留等。常用的有光探测器、微波雷达通过型探测器、测速雷达探测器、声探测器、红外探测器、电磁感应探测器和压敏探测器等。我国停车场应用较多的是红外探测器和电磁感应环探测器。设置在停车场入口和出口的两对红外发射和接收设备进行车辆检测。利用编码调制信号,增强抗干扰的能力,具有较强的可靠性。前端工控机利用红外线探测到车辆经过的信号时,控制图像采集卡抓拍图像,并对抓拍的汽车图像进行牌照识别,同时控制摄像机光圈的大小,以适应外界环境不同的光照条件。然后将识别出的牌照信息储存到服务器中,当车辆离开时,同样的进行牌照识别,将其与前面输入的牌照信息进行对比,计算出停车时间,然后计费。

本课题主要侧重算法的研究,主要工作是设计软件,对已摄取到的卡口车辆照片实现车牌识别。

2.2 车牌号码识别系统软件设计

硬件设备采集到图片后首先要考虑图像的存储格式。目前比较常用的图像格式有*.BMP 、*.JPG、*.GIF、*.PCX 等,本课题采集到的图片是*.JPG 的格式。软件系统的编写大多采用VC或者MATLAB语言,本课题选用了 MATLAB语言。

MATLAB具有以下优点:

(1)MATLAB编程效率高,使用方便。MATLAB以矩阵作为基本语言要素大大提高了数值计算的编程效率。MATLAB本身拥有丰富的函数库,并具有结构化的流程控制语句和运算符,用户在使用过程中能够方便自如地应用。其图像处理工具箱更是大大扩展了MATLAB解决图像处理问题的能力,其他还有诸如用于神经网络和小波的工具箱等,对于算法的分析都有着很大的帮助。

(2)MATLAB扩充能力强,交互性好,移植性和开放性较好。MATLAB的库函数同用户文件在形式上是一样的,用户可以根据自己的需求方便地建立与扩充新的库函数,扩充其功能。MATLAB可在Windows 系列、UNIX、Linux、VMS 6.1 、PowerMac 平台上使用,且所有的核心文件和工具箱文件都是公开的,用户可以修改源文件构成新的工具箱,从而可以扩充很多新的功能,利于算法的研究和改进。

(3)较强的图形控制和处理功能,自带的API 使得用户可以方便地在MATLAB 与C、C++ 等其他程序设计语言之间建立数据通信。本文设计的系统采用MATLAB 搭建车辆牌照识别系统,具有非常明显的优势:

a.可以直接使用MATLAB的Image Acquisition Toolbox 、Image Processing Toolbox 以及Neural Network Toolbox作为骨架来搭建整个系统。

b.使用MATLAB的图形用户界面技术(GUI )编写牌照识别系统面板,可以达到与牌照定位切分程序及字符识别程序的无缝连接。

c.使用专业工具箱,使得研究人员不必过于关心程序的细节问题,可以将主要的精力放在算法的研究、设计方面,极大地减少了工作量,为算法的研究改进提供了先决条件。

我们知道输入的彩色图像包含大量颜色信息,会占用计算机较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,通常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。具体步骤如下:首先通过MATLAB软件对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。在进行形态学滤波去除其它区域。

2.2.1 图像预处理

由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。因此,需要对字符在识别之前再进行一次针对性的处理。

2.2.2 车牌定位

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

导入原始图像图像预处理增

强效果图像

边缘提取

对图像开

闭运算

车牌定位图2 牌照定位流程图

2.2.3 牌照字符分割

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

计算水平投影进行车牌水平校正去掉车牌

的框架

分析垂直投影找到

每个字符中心位置

按左右宽度

切割出字符图3 牌照字符分割流程图

2.2.4 牌照字符识别

字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。基于人工神经元网络的算法有两种:一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影

响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。

切割出的字符送入库中与数据库的

图片相减

分析之差最小

的图片是哪张

字符依次分析显示误

差最小的图片名字图4 牌照字符识别流程图

2.3 本章小节

本章主要介绍了车牌识别系统的总体设计方案。首先,简单介绍了车牌识别系统的组成部分,包括硬件部分和软件部分。硬件部分主要完成车辆图像的摄取,获取高质量的含有牌照的图像,受条件限制,关于硬件的研究本文未展开具体工作。软件部分在整个系统中占有很重要的地位,而且软件的优化和升级能在很大程度上弥补硬件的不足,因此是本文研究的重点,软件研究主要是设计车牌识别系统的主体,包括基于小波变换的车牌定位模块、基于Otsu 算法的车牌字符切分模块以及基于改进的BP神经网络算法的车牌字符识别模块。在确定总体设计方案后,后面将对每一模块依次进行介绍。

利用摄像头拍摄到的车辆图像往往存在很多噪点,因此在进行识别前要进行车辆图像的预处理。车辆图像的预处理[8]是指对采集到的车辆图像进行灰度化和去噪处理,以使车辆图像尤其是牌照区域的图像的质量得到改善,同时保留和增强车牌中纹理和颜色的信息,去除可能影响牌照区域纹理和颜色信息的噪点,为牌照定位提供方便。[3]其流程图为:

输入车牌图像

灰度校正

平滑处理

提取边缘

图5 预处理及边缘提取流程图

3.1 图像灰度化

灰度图是指只包含亮度信息,不包含色彩信息的图像,例如平时看到的亮度连续变化的黑白照片就是一幅灰度图。灰度化处理就是将一幅彩色图像转化为灰度图像的过程。彩色图像分为 R 、G 、B 三个分量,分别显示出红、绿、蓝等各种颜色,灰度化就是使彩色的R 、G 、B 分量相等的过程。灰度值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素值最小为0,是黑色)。 图像灰度化的算法[4]主要有以下3 种:

(1)最大值法:使转化后R 、G 、B 的值等于转化前3 个值中最大的一个,即: ),,max(B G R B G R === (1)这种方法转换的灰度图亮度很高。

(2)平均值法:使转化后R 、G 、B 的值为转化前R 、G 、B 的平均值 3/)(++===G R B G R (2) 这种方法产生的灰度图像比较柔和。

(3)加权平均值法:按照一定的权值,对R 、G 、B 的值加权平均,即: 3/)(B G R B G R B G R ωωω++=== (3) 其中,R ω 、G ω 、B ω分别为R 、G 、B 的权值。

R ω 、G ω 、B ω取不同的值,

将形成不同的灰度图像。由于人眼对绿色最为敏感,红色次之,对蓝色的敏感性最低,因此使G ω> R ω>B ω 将得到较易识别的灰度图像。一般情况下,当R ω=0.299 、G ω=0.587 、B ω=0.114 时,得到的灰度图像效果最好。

3.2. 灰度拉伸

对车辆图像进行灰度化处理之后,车牌部分和非车牌部分图像的对比度并不是很高,此时如果直接进行边缘提取,由于车牌界限较为模糊,难以提取出车牌

边缘,因而难以准确定位车牌。为了增强牌照部位图像和其他部位图像的对比度,使其明暗鲜明,有利于提高识别率,需要将车辆图像进行灰度拉伸。

所谓灰度拉伸,是指根据灰度直方图的分布有选择地对灰度区间进行分段拉伸以增强对比度。如图7 所示。它将输入图像中某点),(y x 的灰度),(y x f ,通过映射函数T ,映射成输出图像中的灰度),(y x g ,即:

()],([),(y x f T y x g = (4) 假定原图像),(y x f 的灰度范围为[s1,s2] 希望变换后图像),(y x f 的灰度范围扩 展至[t1,t2] ,可采用下述线性变换来实现。

1),()]12/()12[(),(t y x f s s t t y x g +--= (5)

3.3 图像平滑

车牌图像往往存在一些孤立的噪点。在汽车牌照图像处理初期,若不能有效抑制或者去除这些噪点,将影响车牌定位的准确性或者造成无法定位。通常采用图像平滑的方法去除噪点。图像平滑包括空域滤波和频域滤波。其中空域滤波中采用平滑滤波器的中值滤波去除噪点的效果最好。中值滤波的主要原理是:首先确定一个以某个像素为中心点的邻域,一般为方形邻域;然后将jk F 邻域中的各个像素的灰度值进行排序,取其中间值作为中心点像素灰度的新值,这里的邻域通常被称为窗口;当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理。

但实际中为了简化算法也可以直接在空域中用求邻域平均值的方法莱削弱噪声的影响,这种方法称为图象平滑处理。例如,某一象素点的邻域S 有两种表示方法:8邻域和4邻域分别对应的邻域平均值为:

表2 8领域 表3 4领域

∑∈=s j i j i f M j i g ),(),(1),( (6)

其中,M 为邻域中除中心象素点f(i,j) 之外包括的其它象素总数,对于4邻 2

3 i,j 1

4 4 3 2

5 i,j 1

6

7 8

域M=4,8 邻域M=8。然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。

3.4 边缘提取

边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘检测主要是精确定位边缘和抑制噪点,其基本思想是首先利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置门限的方法提取边缘点集。

图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。

边缘提取是较经典的算法,能够进行检测的方法有多种,如Roberts 边缘算子、Prewitt 算子、Sobel 算子以及拉普拉斯边缘检测;Robert算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图像边缘可能大于2个像素。这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。LOG滤波器方法通过检测二阶导数过零点来判断边缘点。LOG滤波器中的a正比于低通滤波器的宽度,a越大,平滑作用越显著,去除噪声越好,但图像的细节也损失越大,边缘精度也就越低。

4 车牌定位

车牌图像往往是在复杂的环境中拍摄得到的,车牌由于与复杂的车身背景融为一体,由于车牌在使用中磨损与灰尘及拍摄仪器的影响以及由于拍摄角度的不同,车牌在图像中往往有很大的形变,如何在复杂背景中准确、快速找出车牌的位置成为车牌识别中的难点。

目前已有不少学者在这方面进行了研究。总结起来主要有如下几类方法[2]:

(1) 基于水平灰度变化特征的方法,这种方法主要在车牌定位以前,需要对图像进行预处理,将彩色图像转换为灰度图像,利用车牌区域水平方向的纹理特征进行车牌定位;

(2) 基于边缘检测的定位方法,这种方法是利用车牌区域丰富的边缘特征进行车牌定位,能够进行检测的方法有多种,如Roberts 边缘算子、Prewitt 算子、Sobel 算子以及拉普拉斯边缘检测;

(3) 基于车牌颜色特征的定位方法,这种方法主要是应用车牌的纹理特征、形状特征和颜色特征即利用车牌字符和车牌底色具有明显的反差特征来排除干扰进行车牌的定位;

(4) 基于Hough 变换的车牌定位方法,这种方法是利用车牌边框的几何特征,采取寻找车牌边框直线的方法进行车牌定位;

(5) 基于变换域的车牌定位方法,这种方法是将图像从空域变换到频域进行分析,例如采用小波变换等;

(6) 基于数学形态学的车牌定位方法,这种方法是利用数学形态学图像处理的基本思想,利用一个结构元素来探测一个图像,看是否能将这个结构元素很好的填放在图像内部,同时验证填放元素的方法是否有效。腐蚀、膨胀、开启和关闭是数学形态学的基本运算。

这些方法各有优缺点,要实现快速、准确地定位车牌,应该综合利用车牌的各种特征,仅靠单一特征很难奏效。本文结合车牌纹颜色与数学形态学两方面的特征对车牌进行定位,对于提高车牌定位准确率提供更有利的保障。该方法包括牌照区域的粗定位和细定位两个步骤。在粗定位阶段中采用了基于数学形态学的定位方法,在得到定位图像后进行细定位,在细定位中采用车牌颜色特征的方法以获得最后定位图像。本方法对在多种光照条件下采集的车辆牌照图像、车牌本身不洁、或者牌照存在倾斜和扭曲等情形,均能取得较好的定位效果。

4.1 车牌特征的信息分析

4.1.1 车牌特征的信息分析

机动车牌照作为机动车的“身份证”,制造和使用都有严格的规范加以明确规定。根据中华人名共和国公共安全行业标准GA36-92,汽车车牌有10种。这10种汽车车牌的几何外形大小和颜色信息如下表所示(均、警车牌这里暂时不考虑)。

表1 车牌特征信息统计

编号分类外廊尺寸(mm)颜色

1 大型汽车前:440×140 黄底黑字黑框线

后:440×220 蓝底白字白框线

2 小型汽车440×140 蓝底白字白框线

3 使馆汽车440×140 黑底白字红“使”字白框线

4 领馆汽车440×140 黑底白字红“领”字白框线

5 境外汽车440×140 黑底白字白框线,或黑底红字

红框线

6 外籍汽车440×140 黑底白字白框线

7 教练汽车440×140 黄底黑字黑框线

8 试验汽车440×140 黄底黑字黑框线

9 临时入境汽车300×165 白底红字黑“临时入境”字红

框线(字有金色轮廓线)

10 临时行驶汽车440×140 白底(有哦蓝色暗纹)黑字黑

框线

另外,民用汽车的好牌上有省、直辖市、自治区的名称和发证及监督机关的代号,编号是英文大写字母。后面的编号一般5位编号,从00001-99999,编号超过10万就由A,B,C等字母代替。即“A”代表10万,“B”代表11万,“C”代表12万,最后一个字母代表33万。英文字母中的I和O不用,避免和数字中的1和0冲突。使馆的外籍车牌上的是建交国家的代号,与所在地区的监管机关编号无关。

在这10种汽车中,编号为9和10的临时入境和临近行驶汽车以及使领馆汽车由于数量很少、出现的概率极小,为了简化算法和节省时间,忽略这几种车型的特殊性,认为它们与其他的7种汽车车型一致,采用相同的方法进行识别。由于编号为1的大型汽车,由于系统的CCD摄像头收集的是汽车头部的牌照图像,因此对于大型汽车后车牌的特殊性也可以忽略不计。

本论文中,不考虑车牌在背景色和前景色上的差异,在这些车牌中,大型汽车(前)、小型汽车、使领馆汽车、境外汽车、外籍汽车、教练车和试验汽车的号牌格式完全一样,同时,由于小型车数量最多,出现概率最大,牌照规范与其它几种车牌很相似,算法的识别对象最终设定为小型车。

4.1.2 常见车牌颜色特征的信息

对目前8种常见车牌(对大型车辆取前置车牌)的颜色分布和格式分布进行分析,可以得出如下结论:

●工存在5种颜色:黄石、黑色、蓝色、白色和红色;

●存在5中前景和背景的颜色组合;黄底黑字黑框线、蓝底白字白框线、

黑底白字红“使”(或“领”)字白框线、黑底白字白框线,黑底红字

红框线;

●字符颜色与背景颜色的亮度相差很大:要么亮度高于背景颜色的亮度

(蓝底白字白框线、黑底白字红“使”(或“领”)字白框线、黑底白

字白框线、黑底红字红框线;要么字符颜色低于背景颜色亮度(黄底

黑字黑框线),对于这种车牌,其二值化结果颜色相反,前景字符为黑

色,背景为白色,需要进行处理;

●牌照上的文字由7个字符和一个分隔符横向水平排列组成,字符高度

为90mm,宽度为45mm,分割符的直径为10mm(实际上,每个字符是剧

中分布在一个高位90mm,宽为45mm的矩形区域。)

●字符和字符之间或字符和分割符之间的距离为12mm;

●使馆牌照的间隔符在第4和第5个字符之间,其余的车牌的间隔符在

●2个和第3个字符之间。由于使馆牌照出现的概率很小,将之视为小型

车牌照一种变形情况,不单独处理,后面提出的车牌格式均值后一种

格式情况;

●从左到右,车牌中每一位的可能字符如下:第1位,30个省份的简称

和“使”字,共有31个字符(暂时不考虑军警车);第2位,除去字

母“I”之外的25个英文大写字母;第3位,除去字母“I”和字母“O”

之外的24个英文大写字母和10个数字,共有34个字符;第4~6位,

10个数字字符;第7位,10个数字字符和“领”“学”“试”“境”,共

有14个字符。字符总数共有70个。

●观测和分析车牌外形特点,无论哪种车牌,外轮廓都有一个宽度不大

的轮廓线,轮廓线的颜色和字符颜色一致,与背景的亮度差异很大。

现实环境下,车牌有时安装后,车辆厂商的商标会遮挡牌照外轮廓线,

但商标本身又是一个轮廓线,其亮度与背景的亮度差异也很大,同样

可以利用之。

4.1.3 车牌特征分析结论

首先,结合车牌分析结论,利用其中的特征4、5、6点可以构造牌照字符的格式模型,这个模型在其后的用来指导牌照定位后、字符识别前的字符分割。结合GA36-92标准,牌照图像的实际大小可能随着CCD摄像头采集的时机不同而产生一定的缩放,但是总体比例不会发生大的变化。设第1个字符中心和第2个字符的中心间距为一个长度单位,以第1个字符中心为原点,那么非使馆车牌的其余字符中心的横向位置应分别为:1,2.39,3.39,4.39,5.39和6.39,字符的宽度同样为0.79。

其次,利用分析结论7,可以利用字符在牌照的排列缩小候选字符的集合规模,加快识别速度或进行识别后结果的纠正判别。如果不知道字符在牌照中的排列位置,那么每个位置的候选字符可以达到70个,如果知道了它的位置,那么该位置的候选字符至多有34个,尤其是对牌照的第4、5、6位,候选字符只有10个数字。

4.2 车牌号码初定位

牌照的定位[6]和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割。

对图像进行腐蚀

去除杂质

通过计算寻找X和

Y方向车牌的区域

完成车牌定位

对分割出的车牌

做进一步处理

图6 牌照定位与分割流程图

牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。但是车牌边缘并不是连续的,不利于根据其特征进行进一步的判断。此时可进一步确定牌照在整幅图象中的准确位置。这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。

4.2.1 车牌二值化

经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,即对图像二值化。图像中对象物的形状特征的主要信息,常常可以从二值图像中得到。二值图像与灰度图像相比,信息量大大减少,因而处理二值图像的速度快,成本低,实用价值高。因此,在车牌字符切分前,首先对图像进行二值化处理。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值。

4.2.2 图像二值化的基本原理

图像的二值化处理就是将图像上的点的灰度值置为0 或255,这样处理后

整个图像呈现明显的黑白效果,即将256 个亮度等级的灰度图经过合适的阈值选取,而获得的二值化图像仍然可以反映图像整体和局部特征。

二值化处理后的图像,其集合性质只与像素值为0 或255 的点的位置有关,不再涉及像素的其他级值,处理过程简单,且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255,否则,灰度值为0,表示背景或者其他的物体区域。如果某图像在内部有均匀一致的灰度值,并且处在一个具有其他等级灰度值的均匀背景下,利用阀值法就能得到较好的切分效果。如果物体同背景的差别难以用不同的灰度值表现(比如纹理不同),可以把这些差别特征转换为灰度的差别,然后利用阀值法来切分该图像。动态调节阀值来实现图像的二值化可动态地观察其切分图像的具体结果。

4.3 牌照区域的分割

对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。

国内汽车牌照种类很多,为研究方便以常见的蓝色车牌为例来说明。2007 年颁布的车牌规范规定车牌总长440mm,牌照中的7 个字符的实际总长为409mm 左右,宽140mm,每个字符45mm 宽,90mm 高,字符间距为10mm ,其中第二个字符与第三个字符的间距较为特殊,为15.5mm,最后一个字符与第一个字符距边界25mm 。这样,如果平均分配每个字符在牌照中占据的宽度,那么每个字符宽度为:width/7(width为车牌图像的宽度)。但是,实际上,第二个第三个字符之间存在一个黑点,牌照左右两边与图像边缘也都有一定的宽度,所以每个字符的宽度应该小于width/7。考虑所有的情况,一般情况下最小的宽度为width/9。因此,字符的宽度可以从width/9到width/7之间渐进的变化得到。

5 牌照字符分割

5.1 字符字符切分综述

在车辆牌照准确定位后,本章主要是对车辆牌照识别中的字符切分算法进行研,车牌字符切分的流程框图如图12所示。

[m,n]=size(d),逐排检查有没有白色像素点,设置1<=j

若图像两边s(j)=0,则切割,去除图像两边多余的部分

切割去图像上下多余的部分

根据图像的大小,设置一阀值,检测图像的X轴,

若宽带等于这一阀值则切割,分离出七个字符

归一化切割出来的字符图像的大小为40*20,

与模板中字符图像的大小相匹配

图7 字符分割与归一化流程图

5.1.1 字符分割

在汽车牌照自动识别过程中,字符分割有承前启后的作用。它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别[7]。字符识别的算法很多,因为车牌字符间间隔较大,不会出现字符粘连情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割。

5.1.2 字符归一化

一般分割出来的字符要进行进一步的处理,以满足下一步字符识别的需要。但是对于车牌的识别,并不需要太多的处理就已经可以达到正确识别的目的。在此只进行了归一化处理,然后进行后期处理。

相关主题
文本预览
相关文档 最新文档