车辆牌照图像识别算法研究与实现毕业论文_第1页
车辆牌照图像识别算法研究与实现毕业论文_第2页
车辆牌照图像识别算法研究与实现毕业论文_第3页
车辆牌照图像识别算法研究与实现毕业论文_第4页
车辆牌照图像识别算法研究与实现毕业论文_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . I / 47西南科技大学毕业设计(论文)毕业设计(论文)题目名称:车辆牌照图像识别算法研究与实现 . I / 47车辆牌照图像识别算法研究与实现摘要:近年来随着国民经济的蓬勃发展,国高速公路、城市道路、停车场建设越来越多,对交通控制、安全管理的要求也日益提高。因此,汽车牌照识别技术在公共安全与交通管理中具有特别重要的实际应用意义。本文对车牌识别系统中的车牌定位、字符分割和字符识别进行了初步研究。对车牌定位,本文采用投影法对车牌进行定位;在字符分割方面,本文使用阈值规则进行字符分割;针对车牌图像中数字字符识别的问题,本文采用了基于 BP 神经网络的识别方法。在学习并掌握了数字图像处理和模式

2、识别的一些基本原理后,使用 VC+6.0 软件利用以上原理针对车牌识别任务进行编程。实现了对车牌的定位和车牌中数字字符的识别。关键词:车牌定位;字符分割;BP神经网络;车牌识别;VC+ . II / 47ResearchResearch andand RealizationRealization ofof LicenseLicense PlatePlate RecognitionRecognition AlgorithmAlgorithmAbstractAbstract: :In recent years, with the vigorous development of the nation

3、al economy,there are more and more construct in the domestic expressway, urban road, and parking area. The requisition on the traffic control, safety management improves day by day. Therefore, license plate recognition technology has the particularly important practical application value in the publ

4、ic security and the traffic control. In the paper, a preliminary research was made on the license location, characters segment and characters recognition of the license plate recognition. On the license location,the projection was used to locate the license plate; On the characters segmentation, the

5、 liminal rule was used to divide the characters; In order to solve the problem of the digital characters recognition in the plate, BP nerve network was used to recognize the digital characters. After studying and mastering some basic principles of the digital image processing and pattern recognition

6、, the task of license plate recognition was programmed with VC+ 6.0 using above principles. The license location and the digital characters recognition in the license plate were implemented.Keywords:Keywords: license location, characters segmentation, BP nerve network, license plate recognition, VC+

7、 . III / 47 . IV / 47目 录第 1 章 绪论11.1 课题研究背景 11.2 车辆牌照识别系统原理 11.3 车辆牌照识别在国外研究现状 21.4 本文主要工作与容安排 3第 2 章 车辆牌照的定位方法42.1 车辆牌照图像的预处理 42.1.1 256 色位图灰度化 42.1.2 灰度图像二值化 52.1.3 消除背景干扰去除噪声 62.2 车辆牌照的定位方法简介 62.3 系统采用的定位方法 72.3.1 车辆牌照的水平定位 72.3.2 车辆牌照的垂直定位 72.3.3 定位的算法实现 102.4 实验结果分析 12第 3 章 车辆牌照的字符分割133.1 车牌预处理

8、 133.1.1 去边框处理 133.1.2 去噪声处理 133.1.3 梯度锐化 153.1.4 倾斜调整 163.2 字符分割方法简介 173.3 系统采用的分割方法 193.3.1 算法介绍 193.3.2 算法的实现 203.4 字符分割实验结果 21 . V / 47第 4 章 特征提取与字符识别224.1 字符的特征提取 224.2 字符的识别方法简介 234.3 系统采用的识别方法 244.3.1 人工神经网络简介 244.3.2 BP 神经网络识别车牌 254.3.3 BP 神经网络识别算法实现 284.4 实验结果分析 29总结32致33参考文献34 . 1 / 47第 1

9、章 绪论1.1 课题研究背景现代社会已经进入信息时代,计算机技术、通信技术和计算机网络技术的不断发展,自动化信息处理能力的不断提高,在人们社会活动和生活的各个领域得到了广泛的应用,在这种情况下,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。 随着汽车数量的急剧增加,车牌自动识别(license plate recognition, LPR)技术日益成为交通管理自动化的重要手段1。车牌自动识别技术是计算机视觉、图像处理技术与模式识别等技术的融合,是智能交通系统中一项非常重要的技术。通过车辆牌照自动识别,就可以对运动车辆查询相关的数据库,根据提取的车辆信息,实现有针对性的车辆检查,极大

10、的提高工作人员的效率,降低工作强度,同时也减少了国家财政收入的流失,减少交通事故的发生以与加强社会治安。因此对车牌识别技术研究有巨大的经济价值和现实意义。由于车牌自动识别技术在智能化交通控制管理中发挥的重要作用,吸引了各国的科研工作者对其进行广泛的研究,目前已有众多的算法,有些已应用于交叉路口、车库管理、路口收费、高速公路等场合。由于需适应各种复杂背景,加之要识别的车辆种类繁多,颜色变化多端,以与检测时要适应不同天气变化导致的不同光照条件,因此,目前的系统都或多或少地存在一些问题。但随着计算机性能的提高和计算机视觉理论与技术的发展,这种技术必将日趋成熟。车牌的定位与识别技术,总体来说是图像处理

11、技术与车牌本身特点的有机结合,当然也包括小波分析、神经网络、数学形态学、模糊理论等数学知识的有效运用2。本课题是对汽车图像进行分析,从算法角度来研究车牌的定位与识别。1.2 车辆牌照识别系统原理一个典型的车辆牌照识别系统(LPR)是由图像采集系统和图像识别系统组成的,如图 1-13。当系统发现有车时,图像采集系统便开始采集车辆牌照信息,得到的信息是图像识别系统的输入。通过识别系统的预处理,为目标搜索提供一个良好的定位环境。在预处理的基础上把图像中的车牌从背景中分割出来。对车牌中的字符 . 2 / 47做字符分割,最后把分割后的字符进行识别,便得到了汽车牌照的。整套系统实际是一种硬件和软件的集成

12、。在硬件上,它需要集成可控照明灯、镜头、图像采集模块、数字信号处理器、存储器、通信模块、温控模块、单片机等;在软件上,它包括车牌定位、车牌字符切割、车牌字符识别等算法。这样一体化的结构形式能在现实中降低对环境的要求。CCD摄像机图像输入接口预处理字符识别显示字符分割牌照与背景分割 图图 1-11-1 车辆牌照识别系统原理框图车辆牌照识别系统原理框图1.3 车辆牌照识别在国外研究现状自 1988 年以来,人们就对车辆牌照识别系统进行了广泛的研究,目前国外已经有众多的算法,一些实用的 LPR 技术也开始用于车流监控、出入控制、电子收费等场合。然而无论是 LPR 算法还是 LPR 产品都存在一定的局

13、限性,都需要适应新的要求而不断完善。如以色列 Hi-Tech 公司的 See/Car System 系列,它需要多种变形的产品来分别适应某一个国家的车牌;新加坡 Optasia 公司的 VLPRS 系列,只适合于新加坡的车牌;See/Car Chinese 系统可以对中国大陆的车牌进行识别,但都存在一定的缺陷,而且不能识别车牌中的汉字。我国在 90 年代初期开始了车辆牌照识别技术的研究。但由于以下几个原因使我国的车辆牌照识别技术在研究和应用方面都有一定难度,且落后于其它国家:我国的标准汽车牌照是由汉字、英文字母和阿拉伯数字组成,汉字的识别与字母和数字的识别有很大的不同,从而增加了识别的难度。国

14、外许多国家汽车牌照的底色和字符颜色通常只有对比度较强的两种颜色,而我国汽车牌照仅底色就有蓝、黄、黑、白等多种颜色,字符颜色也有黑、红、白等几种颜色。其他国家的汽车牌照格式通常只有一种,而我国则根据不同车辆、车型、用途,规定了多种牌照格式。我国汽车牌照的规悬挂位置并不唯一,而且由于环境、道路或人为因素造成汽车 . 3 / 47牌照污染的情况比较严重,这都给车牌识别造成了一定的难度。因此,我国车辆牌照识别技术的提高和广泛应用还需广大科研工作者和相关交通部门的共同努力。1.4 本文主要工作与容安排本文主要研究车辆牌照识别系统中的数字识别技术,将数字图像处理技术与模式识别技术紧密结合,针对汽车牌照字符

15、识别的特点,分析了车牌定位与分割、字符分割、特征提取、BP神经网络等算法。在车牌定位、字符分割和特征提取的基础上,详细研究了车牌数字字符的识别。文章在接下来的第二章介绍了车辆牌照的定位方法;第三章介绍了车辆牌照的字符分割算法;第四章介绍了车辆牌照数字字符的识别。其中车辆牌照数字字符的识别是本课题的重点。文章在每一步处理后给出了实验结果,并给出了最后的识别结果。 . 4 / 47 . 5 / 47第 2 章 车辆牌照的定位方法车辆牌照的定位方法是基于图像处理的基础上,对图像进行分析、总结并经过大量的试验所获得的。定位方法的研究与车牌特征和图像处理技术是分不开的。从自然背景中准确可靠地分割出车牌区

16、域是提高系统识别率的关键,但是由于车牌图像摄于背景复杂且光照不均匀的自然场景,因而会出现颜色失真或低对比度的图像,这给车辆牌照的定位带来了很大的困难。为此人们进行了大量的研究,并取得了一定的成果。本课题中,根据车牌的二值图像在水平和垂直方向的投影特性提出了基于二值化图像投影法和数学形态学相结合的车牌定位算法,该算法具有快速、简洁实用和与背景相关性小的特点。车牌的定位算法分为预处理、水平定位、垂直定位。其流程图如图 2-1 所示。图图 2-12-1 车辆车辆图像输入牌照区域定位中值滤波削弱背景干扰灰度图像二值化彩色图像灰度化裁减车牌子图像牌照定位原理牌照定位原理2.1 车辆牌照图像的预处理为了使

17、车牌能够被精确定位,在定位搜索以前,要对车牌图像进行预处理。为了能够方便的进行后期的数字图像处理,需要将彩色图像转化成 256 色的灰度图后进行处理,然后对图像做二值化处理,削弱背景干扰,消除噪声。经过以上的预处理,就可以对车牌进行定位和分割处理。 . 6 / 472.1.1 256 色位图灰度化由于 256 色的位图的调色板容比较复杂,使得图像处理的许多算法都没有办法展开,因此有必要对它进行灰度处理。所谓灰度图像就是图像的每一个象素的 RGB分量的值是相等的。彩色图像的每个象素的 RGB 值是不同的,所以显示出红绿蓝等各种颜色。灰度图像没有这些颜色差异,有的只是亮度上的不同。灰度值大的象素比

18、较亮,反之比较暗。图像灰度化有各种不同的算法,比较直接的一种是给象素的RGB 值各自一个加权系数,然后求和。经常用到的灰度化公式由式(2-1)完成: (2-1)BGRI*114. 0587. 0*229. 0式(2-1)中为灰度值。I加权系数的取值是建立在人眼的视觉模型之上的,对于人眼较为敏感的绿色取较大的权值,对人眼较为不敏感的蓝色则取较小的权值。这样可以使得到的灰度图像在视觉上更接近人的主观感觉。应该注意的是最后得到结果一定要归一到 0255之。2.1.2 灰度图像二值化在进行了灰度化处理以后,图像中的每个象素只有一个值,即象素的灰度值。它的大小决定了象素的亮暗程度。为了更加便利的开展下面

19、的图像处理操作,还需要对已经得到的灰度图像做一个二值化处理。图像的二值化就是把图像中的象素的灰度值根据一定的标准分化成两种颜色。在系统中是根据象素的灰度值将图像处理成黑白两种颜色。图像的二值化有很多成熟的方法:可以采用阈值分割法,也可以采用给定阈值法。阈值分割法可以分为全局阈值法和局部阈值分割法。所谓局部阈值分割法是将原始图像划分成较小的图像,并对每个子图像选取相应的阈值。在阈值分割后,相邻子图像之间的边界处可能产生灰度级的不连续,因此需用平滑技术进行排除。局部阈值法常用的方法有灰度差直方图法、微分直方图法。全局阈值分割方法在图像处理中应用比较多,它在整幅图像采用固定的阈值分割图像。根据阈值选

20、择方法的不同,可以分为模态方法、迭代式阈值选择等方法。这些方法都是以图像的灰度直方图为研究对象来确定阈值的。另外还有类间方差阈值分割法、二维最大熵分割法、模糊阈值分割法、共生矩阵分割法、区域生长法等等。在本系统中考虑到所要进行处理的图像大多是噪声比较少的灰度车牌,系统中采用全局阈值分割的方法进行处理,初始阈值的确定方法是由式(2-2)完成:T . 7 / 47 (2-2)3/minmaxmaxGGGT和分别是最高和最低灰度值。该阈值对不同牌照有一定的适应性,能够保maxGminG证背景基本被置为 0,以突出牌照区域。经过二值化,可以进行下一步处理。 . 8 / 472.1.3 消除背景干扰去除

21、噪声对二值化后的图像进行相邻象素灰度值相减,得到新的图像,左边缘可以直接赋值,不会影响整体效果。考虑到图像中的文字是由短的横竖线组成,而背景噪声有一大部分是孤立噪声,所以用模板(1,1,1,1) T 对图像进行中值滤波,得到去除大部分干扰的图像。2.2 车辆牌照的定位方法简介经过以上的预处理,我们就可以对图像进行车牌的定位和分割。为了快速、准确地定位车牌,目前已有很多学者提出许多定位算法。其中,众多算法都是利用了车牌自身异于背景区域的特征来进行车牌定位的。这些特征包括车牌的颜色特征、几何特征、纹理特征和经过处理运算后得到的车牌区域固有的特征(异于背景区域特征)等。车牌定位的算法基本上可以分为两

22、大类:第 1 类是通过一个步骤将车牌定位出来;第 2 类是通过两个步骤将车牌定位出来4。第 1 类:这类算法的主要特点是通过一个步骤就可以将车牌区域定位出来。其主要的算法介绍如下:(1)基于神经网络的车牌定位方法:该方法首先是用神经网络对大量的样本图像进行训练,然后再进行图像预处理,最后用训练的神经网络提取真正的车牌区域。该算法要求把图像中每一个像素所提取特征输入神经网络来进行学习,计算量很大,同时需处理好网络局部收敛的问题,且车牌定位时间长5。(2)基于模板匹配的车牌定位方法:该算法主要是设立一个滑动窗口,该窗口有若干向量值,利用该窗口在汽车图像上滑动,并计算该窗口所覆盖的那块车牌图像的向量

23、值,找出最佳的向量值,认为是车牌区域。(3)直线边缘检测:这种方法主要利用 Hough 变化检测车牌周围边框直线。这种方法的缺点是 Hough 变换计算量大,对于边框不连续的实际车牌,需附加大量的运算6。(4)统计直方图与投影方法:该方法通过对图像的水平和垂直两个方向灰度投影直方图来分析推断出牌照的位置。该方法的缺点是对噪声敏感,且牌照图像存在倾斜时,不能达到预期的效果。第 2 类:即先对车辆图像进行车牌的粗定位,然后再进行精定位。所谓粗定位 . 9 / 47有两种含义:第 1 种粗定位的含义就是从车辆图像中找出车牌的大致位置,它并不要求非常精确的定位出车牌的位置,只需要给出包含车牌的相对较小

24、或较大的一块区域就达到目的;第 2 种粗定位的含义就是利用粗分割,即给出包含车牌区域在的若干候选区域,再从这些区域中提取车牌区域7。这里不再作详细的论述。2.3 系统采用的定位方法在系统中,采用投影法来实现车辆牌照的定位。利用水平投影来检测车牌的水平位置,利用垂直投影和形态学的方法检测车牌的垂直位置8。2.3.1 车辆牌照的水平定位得到二值化图像以后,首先把二值图像投影到 y 轴。根据车牌特征,车牌区域中的垂直边缘较密集,而且车牌一般悬挂在车身较低的位置其下方没有很多的边缘密集区域。因此在车牌对应的水平位置上会出现一个峰值,如图 2-2 所示。峰值的两个低谷点就是车牌的垂直位置,这样就得到了包

25、含了车牌的带状区域。所以问题转成确定低谷点的位置。但是从图中可以发现投影图不是十分的光滑,会给精确定位带来一些困难,所以对投影图进行平滑。窗口尺寸比较关键,选小了不足以平滑,选大了则会改变投影图原有的基本变化特性。对于实际的投影曲线可以通过找差分曲线的过零点来确定低谷点,所以对平滑以后的投影图求一阶差分:)(nh (2-3) 1()()(nhnhnh找出其由正至负的点,也就是局部最小值。但是并不是所有的局部最小值之间都能称为峰的,它可能附属邻近的一个峰,因而要确定哪一个局部最小值是峰谷,哪一个是毛刺。如何判决峰的独立性呢?本文采取了 3 个判决依据:1. 独立峰具有一定峰顶和峰谷的落差,当局部

26、最大值和邻近的局部最小值的差大于阈值,则该局部最小值为谷底,反之则为毛刺。2独立峰具有一定的宽度,这是由车牌的宽度信息决定的。3独立峰具有一定的面积,这是因为在经过边缘提取,二值化后,在车牌区域具有明显的纹理特征。在光照均匀和背景不是很复杂的图像中,车牌的峰值特性十分明显,很容易就可以定位出车牌区域的水平位置。但在光照不均匀或背景复杂的图像中峰值特性就不是很明显了。如何准确地确定局部最小值是否为谷底,关键在于阈值的选取。2.3.2 车辆牌照的垂直定位 . 10 / 47根据车牌的特征可以知道,车牌在垂直方向的投影呈现有规律的“峰、谷、峰”的分布。字符与字符之间的间隔是近似相等的,而且字符的宽度

27、是近似相等的,而车 (a a)二值化图像)二值化图像 (b b)水平投影图)水平投影图图图 2-22-2 水平投影水平投影牌具有 7 个字符,所以车牌区域在垂直方向上的投影应该存在 6 个低谷点,而且相邻低谷点之间的距离是近似相等的,第二和第三字符之间的距离略大于其他字符间的距离。但在现实中得到二值图像的“峰、谷、峰”的特点并不十分明显,采用这种方法对车牌的垂直位置进行定位效果不是很好,本文考虑使用形态学与投影法相结合的方法来对车牌进行垂直定位,下面简单介绍图像形态学9。最初形态学是生物学中研究动物和植物的一个分支,后来也用数学形态学来表示以形态学为基础的图像分析数学工具。形态学的基本思想是使

28、用具有一定形态的结构元素来度量和提取图像中的对应形状,从而达到对图像进行分析和识别的目的。数学形态学可以用来简化图像数据,保持图像的基本形状特性,同时去掉图像中与研究目的无关的部分。使用形态学操作可以实现增强对比度、消除噪声、细化、填充和分割等常用的图像处理任务。数学形态学的数学基础和使用的语言是集合论,其基本运算有四种:膨胀(Dilation ) 、腐蚀(Erosion )、开启(Open)和闭合(Close )。基于这些基本运算还可以推导和组成各种数学形态学运算方法。其运算对象是集合,通常给出一个图像集合和一个结构元素集合,利用结构元素对图像进行操作。结构元素是一个用来定义形态操作中所用到

29、的邻域的形状和大小的矩阵,可以具有任意的大小和维数。下面简单介绍一下以上 4 种运算。1、膨胀膨胀的运算符为“”,图像集合用结构元素来膨胀,记作,其定ABBA义见式(2-4),其中表示的映像,即与关于原点对称的集合。式(2-4)表BBB . 11 / 47明,用对进行膨胀的过程是这样的:首先对作关于原点的映射,再将其映像BAB平移,当与映像的交集不为空集时,的原点就是膨胀集合的像素。也就是xABB说,用来膨胀得到的集合是的位移与至少有一个非零元素相交时的原点BABAB的位置的集合。(2-4)ABxBAx|膨胀的作用效果如图 2-3 所示。其中白色表示目标,背景为黑色,结构元素为一 33 正方形

30、对象。(a a)膨胀前)膨胀前 (b b)膨胀后)膨胀后图图 2-32-3 图像膨胀前后的显示效果对比图像膨胀前后的显示效果对比2、腐蚀腐蚀的运算符是,图像集合用结构元素来腐蚀记作,其定义为:ABBA (2-ABxBAx)( |5)式(2-5)表明,用来腐蚀的结果是所有满足将平移后,仍全部包含在ABBxB中的的集合,从直观上看就是经过平移后全部包含在中的原点组成的集合。AxBA腐蚀的操作效果如图 2-4 所示,其中白色为目标,黑色为背景,结构元素为一33 正方形对象。(a a)腐蚀前)腐蚀前 (b b)腐蚀后)腐蚀后图图 2-42-4 图像腐蚀前后的显示效果对比图像腐蚀前后的显示效果对比 .

31、12 / 473、开启开启的运算符为“ ”, 用来开启记为,其定义如下:ABBA (2-6)BBABA)(4、闭合闭合的运算符为“ ”,用来闭合记为,其定义见式(2-7):ABBA (2-7)BBABA)(开启和闭合运算不受原点位置的影响,无论原点是否包含在结构元素中,开启和闭合的结果都是一样的。开启和闭合操作的效果如图 2-5 所示,其中白色为目标,黑色为背景。对形态学了解后,我们用形态学来进行定位,具体算法为:1、对得到的带状区域用结构算子先进行一次腐蚀运算,消除一些独立的亮点,但使用的结构算子不能太大,否则会失去一部分车牌的信息。(a a)原图)原图 (b b)对原图开启操作后)对原图开

32、启操作后 (c c)对原图闭合操作后)对原图闭合操作后 图图 2-52-5 图像的开启、闭合操作的显示效果图像的开启、闭合操作的显示效果2、再进行二次膨胀运算,由于膨胀的目的是要把车牌区域连通,因此使用的结构算子和腐蚀的结构算子不一样,要略大一些。3、最后进行一次开运算,将车牌区域平滑一下。可以发现车牌在图像中形成了一个块状区域。如图 2-6 所示。将得到的图像再投影到垂直方向,再根据车牌的宽度信息,设定一个围,可以把这个围设置大些,这是因为经过形态学变化后,车牌的长度会变大,而且有可能把附近的一些杂点连在一起了,从而增大了车牌连通区域的长度,如果围定的太小,就有可能检测不到车牌区域10。2.

33、3.3 定位的算法实现利用投影法,在 Visual C+中用 C+语言对以上算法进行编程,对车辆牌照进 . 13 / 47行定位。实验中水平方向上的定位函数为 HprojectDIB();垂直方向上的定位函数为 VprojectDIB();定位以后分割过程所用的函数为 TempSubert();iTop 和iBottom 分别是车牌的上下边缘,iLeft 和 iRight 为车牌的左右边缘。定出车牌的四个边缘以后,就可以通过分割函数 TempSubert()将车牌从源图像中裁减出来,为了使裁减的准确,可以设置边缘的微量调整。图像定位算法流程图如图 2-7 所示。(a)(a) 水平投影分割得到的

34、图像水平投影分割得到的图像 (b)(b) 腐蚀运算得到的图像腐蚀运算得到的图像 (c)(c) 第一次膨胀运算得到的图像第一次膨胀运算得到的图像 (d)(d) 第二次膨胀运算得到的图像第二次膨胀运算得到的图像图图 2-62-6 形态学变化得到的图像形态学变化得到的图像 . 14 / 47图图 2-72-7 定位流程图定位流程图 . 15 / 472.4 实验结果分析经实验,大部分图片中的牌照能够被正确的定位出来如图 2-8,极少部分牌照不能正确定位。实验表明,投影法基本上实现了车辆牌照的定位,但同时不难看出被定位的车牌还包括车牌边框,与理想要求还有很大差距,如果在这些车牌上进行字符分割,将会有很

35、大的困难。另外在实验中还发现该算法对车牌背景环境要求比较严格,车牌如果比较倾斜或者车牌颜色与汽车颜色相近或者车牌背景中的噪声较大,则定位起来比较困难,不能实现车牌的精确定位,以后需要进一步改进。图图 2-82-8 定位前后的图像定位前后的图像 . 16 / 47第 3 章 车辆牌照的字符分割在做字符分割以前,必须对定位出来的图像做进一步的处理,要对车牌做去边框处理、去噪声处理、梯度锐化、倾斜度调整等预处理才能进行字符分割。3.1 车牌预处理3.1.1 去边框处理一般蓝底白字的车牌都有白色边框,与字符的颜色一样,它的存在将对后继的字符识别造成影响,因此它的滤除十分必要。1、滤除上下边框将检测到的

36、二值牌照图像进行水平投影,在 0IHeight 的围,计算各 sumI,( sumI为从 0 到 Width 的围,二值化牌照图像的白像素点数)然后,将所有的sumI累加起来,记为一值,然后将该值除以 2*Height-(2/3)*Height,如果 sumI小于该商,就令该 sumI为 0。这样直方图中必有连零块和非连零块,测试每个非连零块的宽度,如果它不在车牌高度的围,就置其为零,那么就将边框滤除了(其中Height,Width 为牌照图像的高度和宽度)。2、滤除左右边框滤除左右边框的方法与滤除上下边框的方法类似,只是阈值有些不同,不再赘述。3.1.2 去噪声处理图像在扫描或者传输过程中夹

37、带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如空间域滤波和同态滤波。采用合适的滤波方法不但可以滤除噪声还可以对图像进行锐化,增强图像的边缘信息。下面介绍几种常用的滤波方法。1、邻域平均法为了消除图像中的噪声,可以直接在空间域上对图像进行平滑滤波。它的作用有两种:一种是模糊;另一种是消除噪声。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像素点的平均亮度值,称为邻域平均法。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需要合理选择邻域的大小。典型的邻域有两 . 17 / 47种:四邻域和八邻

38、域,其模板见式(3-1)。如果图像中的噪声是随机不相关的加性噪声,窗口各点噪声是独立分布的,经过上述模板平滑后,信号与噪声的方差比可提高许多倍。这种算法简单,处理速度快,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别在边缘和细节处。而且,(3-1)010101010414M111101111818M随着邻域的增大,虽然增强了去噪声的能力,但同时模糊程度也更严重。2、高通滤波在进行图像处理时,我们经常要对图像进行锐化以便突出图像的边缘。同样的,可以采用在空间域对图像进行滤波的方法,只不过这时采用的冲激响应阵列与空间域低通滤波时所采用的完全不同。采用高通滤波器让高频分量顺利通过,而对低频分量

39、则充分限制,使图像的边缘变得清晰,实现图像的锐化。但是,对图像进行空间域的高通滤波,在增强图像边缘的同时,孤立的噪声点也得到了增强。常用于空间域高通滤波的冲激响应阵列有以下几种: (3-2)0101510101H1111911112H1212521213H3、中值滤波中值滤波是一种非线性滤波,它也是一种邻域运算,类似于卷积。但中值滤波的计算不是加权求和,而是把它邻域的所有像素按灰度值进行排序,然后取该组的中间值作为邻域中心像素点的输出值。中值滤波的突出优点是在消除噪声的同时,还能防止边缘模糊。如果图像的噪声多是孤立的点,这些点对应的像素又很少,而图像则是由像素较多、面积较大的块构成,中值滤波效

40、果很好。4、同态滤波同态滤波器的思想就是用一系列方法把乘性信号变换成加性组合信号,经过处理后再反变换回乘性信号。同态滤波以图像的照明反射模型作为频域处理的基础,它在数字图像处理中有着十分重要的应用。这里不再详细论述。去除噪声处理要根据不同的噪声特点选取合适的方法。本系统采用的是去除杂点的方法来进行去噪声处理。具体的算法如下:扫描整个图像,当发现一个黑色点 . 18 / 47的时候就考察和该点直接或间接相连接的黑色点的个数有多少,如果大于一定的值,就说明该点不是离散点,否则就是离散点,把它去除掉。在考察相连的黑色点的时候用的是递归的方法。 . 19 / 473.1.3 梯度锐化我们所得到的二值化

41、图像的字体一般是比较模糊的,对识别造成了一定的困难,所以有时要对图像进行锐化处理使模糊的图像变得清晰,同时可以对噪声起到一定的抑制和去除作用。图像的锐化有很多方法,一种是微分法,一种是高通滤波法,梯度锐化的方法就是微分法的一种。梯度对应一阶导数,梯度算子是一阶导数算子。对一个连续函数它在位),(yxf置的梯度可以表示为一个矢量:),(yx (3-3)TTyxyfxfGGyxf),(这个矢量的幅度(也常直接简称为梯度)和方向角分别为: (3-2122)(yxGGfmag4) (3-)arctan(),(xyGGyx5) 以上三式中的偏导数需要对每个象素位置计算。在实际中常用小区域模板卷积来近似计

42、算。对和各用一个模板,所以需要两个模板组合起来构成一个梯度xGyG算子。根据模板的大小,其中元素值的不同,人们提出了许多种不同的算子如图 3-1。在这三个算子中,最简单的算子是 Roberts 算子,Roberts 算子是效果比较好的一种,我们采用的就是这个算子,效果如图 3-2 所示。算子运算时是采用类似卷积的方式,将模板在图像上移动并在每个位置计算中心象素的梯度值。在边缘灰度值过渡比较尖锐且图像中噪声比较小时,梯度算子的工作效果较好。-1-11-11-111-11-111121-1-2-1-1-2-121(a a)RobertsRoberts (b)(b) PrewittPrewitt (

43、c)(c) SobelSobel图图 3-13-1 几种常见的梯度模板算子几种常见的梯度模板算子通过图 3-2 可以看出梯度锐化可以让模糊的边缘变的清楚,同时选择合适的阈值还可以减弱和消除一些细小的噪声。实验证明梯度锐化具备一定的去噪声能力,但同时也会对字符的边缘有所损伤。 . 20 / 47从处理结果可以看出图像的边缘变得清晰而且少了很多细小的杂点,但梯度锐化有其自身的缺陷,当处理的图像边缘很细的时候可能造成边缘信息的损失。在实验中,如果图像中的字符较为细小,则不使用梯度锐化。 (a a)原始图像)原始图像 (b b)利用)利用 RobertsRoberts 算子检测到的边缘算子检测到的边缘

44、 (c c)利用)利用 PrewittPrewitt 算子检测到的边缘算子检测到的边缘 (d d)利用)利用 SobelSobel 算子检测到的边缘算子检测到的边缘图图 3-23-2 梯度算子的检测效果比较梯度算子的检测效果比较3.1.4 倾斜调整虽然在拍摄车辆车牌时,可以调整 CCD 摄像机的俯仰角度、摄取方向和水平度,以保持车牌的横向边缘的倾斜度尽可能小,并且让车牌在整幅图像中处于相对居中的位置,即图像的视觉中心上。但是,实际上 CCD 摄像机通常安装在路边或顶部,这将造成车辆车牌与 CCD 摄像头成像平面不平行,产生不同程度的车牌图像的倾斜与变形,影响车牌的检测和分割。就图像的旋转倾斜的

45、问题,更多的情况下,图像的水平校正是放在车牌的二值化和分割,甚至是在车牌字符切分之后再进行,这样图像的运算量大大减少。然而,倾斜的车牌图像本身就极不利于车牌字符的切分,因此,将图像水平校正放在图像预处理过程中是切实可行的11。一般情况下,可将倾斜的车牌图像近似看成一个平行四边形,它有三种倾斜模式:水平倾斜见图 3-3,垂直倾斜见图 3-4 和水平垂直倾斜见图 3-5,分别如下所示。水平倾斜时,字符基本上无倾斜,车牌的水平轴与图像坐标系的水平轴有xx一个倾斜角度,只要求取,将图像绕轴旋转即可。垂直倾斜时,倾斜实际x上是同一行间像素的错位偏移,只要检测到垂直倾斜角度进行错位偏移校正即可。水平垂直倾

46、斜时,既存在水平倾斜又存在垂直倾斜,是最一般的情况。可先检测水平倾斜角度,进行水平倾斜校正,然后再求取垂直倾斜角度进行垂直倾斜校正。对车辆牌照做预处理以后就可以进行字符分割的步骤。 . 21 / 47xyx/y/x/xy/y(a) 水平倾斜水平倾斜() (b) 水平倾斜水平倾斜(0)0 图图 3-33-3 水平倾斜水平倾斜ijij(a) 垂直倾斜垂直倾斜() (b) 垂直倾斜垂直倾斜()00 图图 3-43-4 垂直倾斜垂直倾斜xx/yy/xy/yx(a) 水平垂直倾斜水平垂直倾斜() (b) 水平垂直倾斜水平垂直倾斜(0)0 图图 3-53-5 水平垂直倾斜水平垂直倾斜3.2 字符分割方法简

47、介 . 22 / 47图像分割是一种基本的计算机视觉技术,是由图像处理进行到图像分析的关键步骤,这是因为图像的分割、目标的分离、特征的提取和参数的测量将原始图像转化为更抽象更紧凑的形式,使得更高层的分析和理解成为可能。图像分割多年来一直得到人们的高度重视,至今已提出各种类型的分割算法12。字符分割的算法很多,通常根据处理对象的不同有许多相应的方法。为了实现更好的分割,有关景物的总体知识和先验信息是很有用的,根据包含在图像中的信息,可以定制相应的判决准则和控制策略,使其完成自动分割,比如对多行文本的处理,邮政部门对邮政编码和地址的识别,金融等部门对支票签名手写字迹的分割识别等等,都是针对具体的不

48、同研究对象而采用不同的算法。传统的字符分割算法可以归纳为以下三类:直接的分割法,基于识别基础上的分割法,自适应分割线聚类法13。直接的分割法简单,但它的局限是分割点的确定需要较高的准确性;基于识别结果的分割是把识别和分割结合起来,但是需要识别的高准确性,它根据分割和识别的耦合程度又有不同的划分;自适应分割线聚类法是要建立一个分类器,用它来判断图像的每一列是否是分割线,但是对于粘连的字符是很难训练的。因为分割不可能做到完全正确,现在有的算法已经把字符的分割作为不必要的步骤,而是直接把字符组成的单词当作一个整体来识别。利用诸如马尔可夫数学模型等方法进行处理,这主要是应用于文本识别。以上的字符分割算

49、法均是基于二值图像进行的。考虑到二值图像丢失掉了很多信息,而且可能会造成字符粘连、模糊或断裂的缺陷,对灰度图像的直接处理已经有人开始研究。在一般的字符识别系统中,字符识别之前要经过阈值化过程和行字切分过程,以分割出一个具体的二值表示的字符图像点阵,作为单字符识别的输入数据。其中,识别字符过程中的第一步就是要将获得的数字灰度图像转变为数字二值图像,这个过程称为二值化过程,采用的技术,通常称为阈值化技术。由于获得的文本图像不但包含了组成文本的一个个字符,而且包含了字符行间与字间的空白,甚至还会带有各种标点符号,这就需要采用一定的处理技术,将文本中的一个个字符切分出来,形成单个字符的图像阵列,以进行

50、单字识别处理。这就是字符文本的行字切分问题,分为行切分和字切分两个主要步骤,首先由行切分得到一行行文本字行,然后在文本字行中进行列切分得到一个个单独的字符点阵。车牌的字符切分是在车牌定位的基础上,对取出的牌照图像区域进行下一步处理,定出牌照上每一个字符的上下左右边界,从而将牌照上的字符完整准确地切割 . 23 / 47下来,作为下一步字符识别的数据源。牌照切分是在二值图上进行的。字符切分分为两步进行,先进行字符的垂直切分,定出每个字符的左右边界,然后进行字符的水平切分,定出每个字符的上下边界。字符切割过程往往容易被人忽视,但是它对于字符识别的重要性是不言而喻的,因为切割错误的字符被正确识别的概

51、率基本上等于零。3.3 系统采用的分割方法根据以上介绍的算法,本文采用了一种比较实用的方法,通过对图像的扫描,得到分割的字符。3.3.1 算法介绍经过处理后的车牌可以进行字符分割,本文的分割算法如下:1、先自上而下对图像进行逐行扫描直至遇到第一个黑色象素点。记录下来。然后在自下而上对图像进行逐行扫描直至找到第一个黑色象素,记录下来。这样就可以找到图像的大致高度围。2、在上面得到的高度围对图像进行自左向右逐列进行扫描,遇到第一个黑色象素时认为是字符分割的起始位置,然后继续扫描,直至遇到有一列中没有黑色象素,则认为是第一个字符分割结束,然后继续扫描,按照上面的方法一直扫描到图像的最右端。这样就得到

52、了每个字符比较精确的宽度围。3、在已知的每个字符的比较精确的宽度围,按照第一步的方法,分别进行自上而下和自下而上的逐行扫描来获取每个字符精确的高度围。经过以上 3 个步骤的循环,就可以实现字符的分割。字符分割以后要做归一化和紧缩排列,以便做特征提取14。因为扫描进来的图像字符大小存在差异,而相对来说,统一尺寸的字符识别的标准性更强准确率自然也更高,标准化图像就是要把原来各不一样的字符统一到同一尺寸,在本系统中是统一到同一高度然后根据高度来调整字符的宽度。具体算法为:先得到原来字符的高度,并与系统要求的高度作比较,得出要变换的系数,然后根据得到的系数求变换后应有的宽度。在得到宽度高度之后,把新图

53、像里面的点按照插值的方法映射到原图像中。图像标准归一化的高度和宽度信息可以通过一个对话框输入,但为了以后特征提取的时候处理方便。建议归一化的宽度为 8,高度为 16。 . 24 / 47经过标准归一化处理后的各字符在图像中的位置不定,要对它进行特征提取处理起来比较麻烦,所以要把归一化处理后的字符进行紧缩排列,以形成新的位图句柄,以方便下一步的提取工作至此已经基本上完成图像中字符的分割工作。此外还可以采用其他方法以达到更好的效果。3.3.2 算法的实现根据以上算法在 VC+中用 C+语言编程,可以实现字符分割,并实现字符的归一化和紧缩排列。实验中的字符分割函数为 CharSegment();Dr

54、awFrame()函数用来给分割后的字符周围画边框;StdDIBbyRec()函数用来实现归一化处理;紧缩排列由函数 AutoAlign()完成。下面图 3-6 显示了分割算法实现流程: . 25 / 47图图 3-63-6 分割算法的实现流程分割算法的实现流程 . 26 / 473.4 字符分割实验结果实验结果如下面几幅图所示,为了便于观察分割结果,每个被分割后的字符都用方框分割开来。从实验可以得出,该字符分割模块基本上可以完成大部分的数字字符分割。图 3-12 中“川”字被分割成了三份,这说明分割算法的正确性,但它对汉字的分割却是错误的。图 3-13 中为了可以清楚的观察字符的紧缩排列,归

55、一化的字符宽度为 12,高度为 24(图 3-11 中的字符宽度为 8,高度为 16)。由于汉字结构比较复杂,所以该算法不能对汉字作字符的分割。在实验时,图中如果含有汉字,则系统就会出现错误而拒绝作字符分割,实现汉字分割还需要作进一步改进。图图 3-73-7 字符分割的结果字符分割的结果 图图 3-83-8 紧缩排列的结果紧缩排列的结果 图图 3-93-9 车牌的字符分割结果车牌的字符分割结果 图图 3-103-10 车牌的字符紧缩排列结果车牌的字符紧缩排列结果 . 27 / 47第 4 章 特征提取与字符识别经过上面的一系列变换,车牌中的字符被分割提取出来。下面就要从被分割归一化处理完毕的字

56、符中提取最能体现这个字符特点的特征向量。将提取出的训练样本中的特征向量代入 BP 网络之中就可以对网络进行训练,提取出待识别样本的特征向量代入到训练好的 BP 网络中,就可以对字符进行识别。4.1 字符的特征提取特征提取的方法多种多样,有逐象素特征提取法,骨架特征提取法,垂直方向数据统计特征提取法,13 点特征点提取法,弧度梯度特征提取法等很多种方法,根据具体情况的不同我们可以选择不同的方法。1、逐象素特征提取法这是一种最简单的特征提取方法,对图像进行逐行逐列的扫描,当遇到黑色象素时取其特征值为 1,遇到白色象素时取其特征值为 0,这样当扫描结束以后就形成了一个维数与图像中象素点的个数一样的特

57、征向量矩阵。2、骨架特征提取法两幅图像由于它们的线条的粗细不同,使得两幅图像的差别很大,但将它们的线条细化后,统一到一样的高度,这时两幅图像的差距就不那么明显。利用图形的骨架作为特征来进行数码识别,就使得识别有了一定的适应性。一般使用细化的方法来提取骨架,细化的算法很多如 Hilditch 算法、Rosenfeld 算法等。对经过细化的图像利用 EveryPixel 函数进行处理就可以得到细化后图像的特征向量矩阵。骨架特征提取的方法对于线条粗细不同的图像有一定的适应性,但图像一旦出现偏移就难以识别。3、垂直方向数据统计特征提取法这种算法就是自左向右对图像进行逐列的扫描,统计每列黑色象素的个数,

58、然后自上向下逐行进行扫描,统计每行的黑色象素的个数,将统计结果作为字符的特征向量,如果字符的宽度 w,长度为 h,则特征向量的维数是 w+h。该提取方法的缺点是适应性不强,当字符存在倾斜和偏移时都会对识别产生误差。4、13 点特征点提取法 . 28 / 47首先把字符平均分成 8 份,统计每一份黑色象素点的个数作为 8 个特征,分别统计这 8 个区域黑色象素的数目,可以得到 8 个特征。然后统计水平方向中间两列和竖直方向中间两列的黑色象素点的个数作为 4 个特征,最后统计所有黑色象素点的个数作为第 13 个特征。也就是说,画 4 道线,统计线穿过的黑色象素的数目。可以得到 4 个特征示意图,最

59、后将字符图像的全部黑色象素的数目的总和作为一个特征总共即得到 13 个特征。13 特征提取法有着极好的适应性,但是由于特征点的数目太少所以样本训练的时候比较难收敛。系统采用了第一种方法即逐象素特征提取法做特征提取。因为这种方法算法简单,运算速度快,可以用 BP 网络很快的收敛,训练效果好。4.2 字符的识别方法简介同模式识别中的其它问题一样,字符识别方法基本上也分成统计决策识别和句法结构识别两大类,而每一类中又包含有许多具体的方法。然而无论采取何种识别方法,其中的关键都是特征的选取与提取以与相应的分类算法。与两种识别方法相对应,特征也大体上分为统计特征和结构特征两类。1、结构法结构方法是发展最

60、早的一种方法,它的基本思想是把字符图像分割化为若干的基元,例如笔划、拓扑点、结构突变点等,然后和模板比较进行判别。由这些结构基元与其相互关系完全可以精确地对字符加以描述。主要的方法有基于轮廓、骨架和字符链码的方法。其主要优点在于对字符变化的适应性强,区分相似字符能力强。但是在实际应用中,面临的主要问题是抗干扰能力差,因为在实际得到的字符图像中存在着各种干扰如倾斜、扭曲、断裂、粘连和对比度差等。这些因素直接影响到结构基元的提取,此外结构方法的描述比较复杂,匹配过程的复杂度因而也较高。2、统计法统计法依赖于大量的原始样本和数值计算,它是从车牌字符原始数据中提取与分类最相关的信息,使得类差距极小化,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论