毕业设计论文-基于matlab的车牌识别系统的设计(附程序+详解注释)

更新时间:2024-05-20 09:38:01 阅读量: 综合文库 文档下载

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

焦 作 大 学

毕业设计(论文)说明书

作 者: 学 号: 学院(系): 信息工程学院 专 业: 通信技术 题 目: 基于matlab的车牌识别系统的设计 主 题:

指导教师: 职称: 讲师

2012年12月

焦作大学毕业设计说明书

摘 要

II

汽车车牌的识别系统是现代智能交通管理的重要组成部分之一。车牌识别系统使车辆管理更智能化,数字化,有效的提升了交通管理的方便性和有效性。车牌识别系统主要包括了图像采集、图像预处理、车牌定位、字符分割、字符识别等五大核心部分。本文主要介绍图像预处理、车牌定位、字符分割三个模块的实现方法。本文的图像预处理模块是将图像灰度化和用Roberts算子进行边缘检测的步骤。车牌定位和分割采用的是利用数学形态法来确定车牌位置,再利用车牌彩色信息的彩色分割法来完成车牌部位分割。字符的分割采用的方法是以二值化后的车牌部分进行垂直投影,然后在对垂直投影进行扫描,从而完成字符的分割。本文即是针对其核心部分进行阐述并使用MATLAB软件环境中进行字符分割的仿真实验。

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

焦作大学毕业设计说明书

III

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.1 本课题的研究背景 ................................................ 1

1.2 本课题的研究目的及意义 .......................................... 2 1.3 国内外发展状况 .................................................. 3 1.4 主要应用领域 .................................................... 5 1.5 设计原理 ........................................................ 6 2. MATLAB简介 .......................................................... 7

2.1 MATLAB发展历史 ................................................. 7 2.2 MATLAB的语言特点 ............................................... 7 3.工作流程 ............................................................. 9

3.1 系统框架结构和工作流程 .......................................... 9 4.各模块的实现 ........................................................ 11

4.1设计方案 ....................................................... 11 4.2图像预处理 ..................................................... 11

4.2.1图像灰度化 ............................................... 11 4.2.2图像的边缘检测 ........................................... 12 4.3车牌定位和分割 ................................................. 14

4.3.1车牌的定位 ............................................... 15 4.3.2车牌的分割 ............................................... 16 4.3.3对定位后的彩色车牌的进一步处理 ........................... 17 4.4字符的分割和归一化处理 ......................................... 17 4.4.1字符的分割 ............................................... 18 4.4.2字符的归一化处理 ......................................... 19 4.5 字符的识别 ..................................................... 19 5.实验结果和分析 ...................................................... 22 6.实验总结 ............................................................ 24 致谢 ................................................................... 25 参考文献 ............................................................... 26 程序附录 ............................................................... 27

焦作大学毕业设计说明书 第 1 页 共 43 页

第一章 绪论

1.1 本课题的研究背景

现代社会已进入信息时代,随着计算机技术、通信技术和计算机网络技术的发展,自动化信息处理能力和水平不断提高,作为现代社会主要交通工具之一的汽车在人们的生产生活的各个领域得到大量使用,对他的信息进行自动采集和管理具有十分重要的意义,成为信息处理技术的一项重要研究课题。

此外,智能交通系统,简称ITS(Intelligent Traffic System)已成为现代社会道路交通发展趋势。只能交通系统,是在当代科学技术高速发展的背景下产生的。其目标在于将现金的计算机处理技术、数据通信技术、自动控制技术等综合应用于地面交通管理体系,从而建立起一种高效、准确、实时的交通管理系统。公路交通基础建设的不断发展和车辆管理体制的不断完善,为以视觉监控为基础的智能交通系统的实际应用打下了良好基础。

在智能交通系统中,车牌自动识别系统是一个非常重要的发展方向。车牌自动识别系统简称ALPRS或LPRS,该系统可以对车辆进行自动登记、验证、监视、报警。系统应用场合包括:高速公路,桥梁,隧道等收费管理系统。城市交通车辆管理,智能小区、智能停车场管理,车牌验证,车流统计等。同时,汽车牌照自动识别的基本方法还可以应用到其他检测和识别领域,所以车牌自动识别问题已成为现代交通工程领域中研究的重点和热点问题之一。

车牌识别系统是一项科技含量很高的多种技术结合的产品,主要有计算机视觉、数字图像处理、数字视频处理、模式识别等技术组成。也是智能交通系统的核心技术,产生于60年代。在80年代,由于城市交通问题日益严重,美国和欧洲许多国家投入了大量的人力和物力,建立了自动化高速公路网,安装了摄像、雷达探测系统和光纤网络,简历智能交通系统。在美国、欧洲、日本等发达国家的带动下,世界各国也开始简历智能交通系统。由于公路车流量日益增大、道路交通日益拥挤,车辆管理相对越来越困难,因此各个发达国家和发展中国家都在积极建设适应未来交通运输需求的智能交通系统。

第 2 页 共 43 页 焦作大学毕业设计说明书

车牌号识别系统是基于图像处理技术的基础进行研究的。本课题图像处理分为以下几方面: 1.图像数字化

其目的是将模拟形式的图像通过数字化设备变为数字计算机可用的离散的图像数据。 2.图像变换

为了达到某种目的而对图像使用一种数学技巧,经过变换后的图像更为方便、容易地处理和操作。 3.图像增强

图像增强的主要目标是改善图像的质量。采用某些处理技术来突出图像中的某些信息,削弱或消除某些无关信息,从而有目的地强调图像的整体或局部特征,让观察者能看到更加直接、清晰的分析和处理图像。直方图修正、灰度变换、强化图像轮廓等都是常用的手段。 4.图像分割

在图像研究和应用中,人们往往仅对图像的某些部分感兴趣。它们一般对应图像中待定的、具有独特性质的区域。图像分割就是把图像中需要的那一个部分分割出来。 5.图像分析

图像分析的内容分为特征提取、图像分割、符号描述、和图像的检测与匹配。 1.2 本课题的研究目的及意义

车牌识别系统的主要任务是分析和处理摄取到的复杂背景下的车辆图像,定位分割牌照,最后自动识别汽车牌照上的字符,车牌识别是利用车辆牌照的唯一性来识别和统计车辆,它是以数字图像处理、模式识别、计算机视觉等技术为基础的智能识别系统。在现代化交通发展中车牌识别系统是制约交通系统智能化、现代化的重要因素,车牌识别系统应该能够从一幅图像中自动提取车辆图像,自动分割牌照图像,对字符进行正确识别,从而降低交通管理工作的复杂度。车牌识别系统将获取的车辆图像进行一系列的处理后,以字符串的形式输出结果,这样不但数据量小,便于存储,操作起来也更容易,因此车牌识别系统的便捷性是人工车牌识别所不能比拟的,它蕴藏着很大的经济价值和发展空间,对车牌识别技术

焦作大学毕业设计说明书 第 3 页 共 43 页

的研究是非常有的意义的。在车牌识别系统中最为重要的两个技术是车牌定位和车牌字符识别,这两个技术的好坏直接影响到整个车牌识别系统的实时性和准确性。国内外己有不少学者对车牌定位技术做了大量的研究,但在实际的应用中还没有一个有效可行的方法,如由于车辆抖动造成车牌图像的歪斜、由于污迹和磨损造成车牌字符的模糊、由于光照不均造成车牌图像的模糊等都会或多或少影响到车牌定位的准确度。针对以上实际情况,很多学者开始在鉴于车牌图像本身特征的基础上研究车牌定位技术,并先后提出了一些有效的定位方法,以减小种种主、客观因素对车牌定位准确度的影响。然而智能交通的不断发展使得对车牌定位系统有了更高的要求,主要表现在系统的实时性和准确性。

车牌字符识别的实质是对车牌上的汉字、字母和数字进行快速准确的识别并以字符串的形式输出识别结果,字符识别技术是整个车牌识别系统的关键。车牌识别系统与其它图像识别系统相比较而言要复杂的多,在字符识别中,汉字识别是最难也是最关键的部分,很多国外较为成熟的车牌识别系统无法进入中国市场的原因就在于无法有效的识别汉字。此外,由于外界环境的影响,系统必须保证能够在任何天气情况下全天不间断的正常工作。到目前为止,在众多的车牌自动识别方法中还没有一个可以达到理想的效果,因此对车牌识别技术的研究意义重大。

1.3 国内外的发展状况

从20世纪90年代初,国外就已经开始了对汽车牌照自动识别的研究,其主要途径就是对车牌的图像进行分析,自动提取车牌信息,确定汽车牌号。在各种应用中,有使用模糊数学理论也有用神经元网络的算法来识别车牌中的字符,但由于外界环境光线变化、光路中有灰尘、季节环境变化及车牌本身比较模糊等条件的影响,给车牌的识别带来较大的困难。国外的相关研究有:(1)J Barroso提出的基于扫描行高频分析的方法; (2) I.T. Lancaster提出的类字符分析方法等。为了解决图像恶化的问题,目前国内外采用主动红外照明摄像或使用特殊的传感器来提高图像的质量,继而提高识别率,但系统的投资成本过大,不适合普遍的推广。

车牌识别系统中的两个关键子系统是车牌定位系统和车牌字符识别系统。 关于车牌定位系统的研究,国内外学者已经作了大量的工作,但实际效果并不是很理想,比如车牌图像的倾斜、车牌表面的污秽和磨损、光线的干扰等都是

第 4 页 共 43 页 焦作大学毕业设计说明书 影响定位准确度的潜在因素。为此,近年来不少学者针对车牌本身的特点,车辆拍摄的不良现象及背景的复杂状况,先后提出了许多有针对性的定位方法,使车牌定位在技术和方法上都有了很大的改善.然而现代化交通系统不断提高的快节奏,将对车牌定位的准确率和实时性提出更高的要求。因而进一步加深车牌定位的研究是非常必要的。

车牌字符识别是在车牌准确定位的基础上,对车牌上的汉字、字母、数字进行有效确认的过程,其中汉字识别是一个难点,许多国外的LPR系统也往往是因为汉字难以识别而无法打入中国市场,因而探寻好的方法解决字符的识别也是至关重要的。目前己有的方法很多,但其效果与实际的要求相差很远,难以适应现代化交通系统高速度、快节奏的要求。因而对字符识别的进一步研究也同样具有紧迫性和必要性。

从实用产品来看,如以色列的Hi-Tech公司研制的多种See/Car system,适应于几个不同国家的车牌识别,就针对中国格式车牌的See/Car syste而言,它不能识别汉字,且识别率有待提高。新加坡Optasia公司的VLPRS产品,适合于新加坡的车牌,另外日本、加拿大、德国、意大利、英国等西方发达国家都有适合于本国车牌的识别系统。

我国的实际情况有所不同,国外的实际拍摄条件比较理想,车牌比较规范统一,而我国车牌规范不够,不同汽车类型有不同的规格、大小和颜色,所以车牌的颜色多,且位数不统一,对处理造成了一定的困难。在待处理的车牌图像中就有小功率汽车使用的蓝底白字牌照,大功率汽车所用的黄底黑字牌照,军车和警车的白底黑字,红字牌照,还有国外驻华机构的黑底白字牌照等。就位数而言,有七位数字的,有武警车九位数字的,有军车、前两位字符上下排列的等,所以也造成了处理的难度。

国内做得较好的产品主要是中科院自动化研究所汉王公司的“汉王眼”,此外国内的亚洲视觉科技有限公司、深圳市吉通电子有限公司、中智交通电子系统有限公司等都有自己的产品,另外西安交通大学的图像处理与识别研究室、上海交通大学的计算机科学与工程系、清华大学、浙江大学等都做过类似的研究。通常处理时为了提高系统的识别率,都采用了一些硬件的探测器和其他的辅助设备如红外照明等,其中“汉王眼”就 是采用主动红外照明和光学滤波器来减弱可见光的不可控制影响,减少恶劣气候和汽车大小灯光的影响,另外还要求在高速

焦作大学毕业设计说明书 第 5 页 共 43 页

公路管理窗口到“汉王眼”识别点埋设两条线路管 道,一条管道铺设220伏50赫兹1安培的交流供电线路:另一条管道铺设触发信号线路和汉王眼与管理计算机的通讯线路,投资巨大,不适合于大面积的推广。

另外,还有两种专门的技术被用于车牌的识别中,条形码识别技术和无线射频技术。条形码识别要求预先在车身上印刷条形码,在系统的某一固定位置上安装扫描设备,通过扫描来读取条形码,以达到识别车辆的目的。无线射频技术要求在车内安装标示卡,在系统某一位置安装收发器等装置,通过收发器来接受标示卡的信号,从而识别出经过的车辆。显然,这两种技术更难以推广。

从目前一些产品的性能指标可以看出,车牌识别系统的识别率和识别速度有待提高。现代交通的飞速发展以及车牌识别系统应用范围的日益拓宽给车牌识别系统提出了更高的要求。因此,研究高速、准确的定位与识别算法是当前的主要任务,而图像处理技术的发展与摄像设备、计算机性能的提高都会促进车牌识别技术的发展,提高车牌识别系统的性能。 1.4 主要应用领域

车牌自动识别系统具有广泛的应用范围,主要应用于:

(1)高速公路收费、监控管理;(2)小区、停车场管理;(3)城市道路监控、违章管理;(4)车牌登录、验证;(5)车流统计、安全管理等。车牌自动识别系统应用于这些系统,可以解决通缉车辆的自动稽查问题,可以解决车流高峰期因出入口车流瓶颈造成的路桥卡口、停车场交通堵塞问题,可以解决因工作人员作弊造成的路桥卡口、高速公路、停车场应收款流失的问题,还可以以最简单的方式完成交通部门的车辆信息联网,解决数据统计自动化,模糊查询的问题。

车牌自动识别系统可安装于公路收费站、停车场、十字路口等交通关卡处,其具体应用可概括为:

(l)交通监控利用车牌识别系统的摄像设备,可以直接监视相应路段的交通状况,获得车辆密度、队长、排队规模等交通信息,防范和观察交通事故。它还可以同雷达测速器或其他的检测器配合使用,以检测违犯限速值的车辆。当发现车辆超速时,摄像机获取该车的图像,并得到该车的牌照号码,然后给该车超速的警告信号。

(2)交通流控制指标参量的测量,为达到交通流控制的目标,一些交通流指标的测量相当重要。该系统能够测量和统计很多交通流指标参数,如总的服务流

第 6 页 共 43 页 焦作大学毕业设计说明书 率,总行程时间,总的流入量流出量,车型及车流组成,日车流量,小时/分钟车流量,车流高峰时间段,平均车速,车辆密度等。这也为交通诱导系统提供必要的交通流信息。

(3)高速公路上的事故自动测报这是由于该系统能够监视道路情况和测量交通流量指标,能及时发现超速、堵车、排队、事故等交通异常现象。

(4)对养路费交纳、安全检查、运营管理实行不停车检查根据识别出的车牌号码从数据库中调出该车档案材料,可发现没及时交纳养路费的车辆。另外,该系系统还可发现无车牌的车辆。若同车型检测器联用,可迅速发现所挂车牌与车型不符的车辆。

(5)车辆定位由于能自动识别车牌号码,因而极易发现被盗车辆,以及定位出车辆在道路上的行驶位置。这为防范、发现和追踪涉及车辆的犯罪,保护重要车辆(如运钞车)的安全有重大作用,从而对城市治安及交通安全有重要的保障作用。

车牌自动识别系统拥有广阔的应用前景,但若在每个街口都装配一套全新的车辆探测器的硬件系统则投资巨大,所以急需一个纯软件实行的车牌自动识别系统来最大限度的减少费用,而纯软件的设计,不仅投资小而且灵活性高,适合我国的国情。 1.5 设计原理

车牌识别系统的摄像头通过对经过指定区域的机动车辆进行拍照,因为照片会受到光照、拍摄位置和车辆行驶速度的影响,导致拍摄的图片不能准确的确定汽车的车牌。而车牌识别系统就通过对机动车辆的照片进行图像预处理、车牌定位、字符分割、字符识别等技术手段,从而得到清晰的机动车牌照的照片,从而提高现代智能交通的管理效率,可以说车牌识别系统对于现代智能交通至关重要。

焦作大学毕业设计说明书 第 7 页 共 43 页

第二章 MATLAB简介

2.1 MATLAB发展历史

MATLAB是一门计算机编程语言,取名来源于Matrix Laboratory,本意是专门以矩阵的方式来处理计算机数据,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱,工具箱越来越多,应用范围也越来越广泛。

MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的 UMIST ,瑞典的 LUND,和 SIMNON ,德国的 KEDDC )纷纷淘汰,而改以 MATLAB 为平台加以重建。在时间进入 20 世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。

到九十年代初期,在国际上 30 几个数学类科技应用软件中,MATLAB 在数值计算方面独占鳌头,而 Mathematica 和 Maple 则分居符号计算软件的前两名。 Mathcad 因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。

国际学术界,MATLAB 已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到 MATLAB 的应用。

在设计研究单位和工业部门,MATLAB 被认作进行高效研究、开发的首选软件工具。如美国 National Instruments 公司信号测量、分析软件 Lab VIEW ,Cadence 公司信号和通信分析设计软件 SPW 等,或者直接建筑在 MATLAB 之上,或者以 MATLAB 为主要支撑。又如 HP 公司的 VXI 硬件,TM 公司的 DSP ,Gage 公司的各种硬卡、仪器等都接受 MATLAB 的支持。 2.2 MATLAB的语言特点

一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点:

第 8 页 共 43 页 焦作大学毕业设计说明书

(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。

(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。

(3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。

(4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。

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

(6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。

(7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。

(8)功能强劲的工具箱是MATLAB的另一重大特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。下表列出了MATLAB的核心部分及其工具箱等产品系列的主要应用领域。

焦作大学毕业设计说明书 第 9 页 共 43 页

第三章 工作流程

3.1系统框架结构和工作流程

汽车牌照识别(LPR)系统通过引入数字摄像技术和计算机信息管理技术,采用先进的图像处理、模式识别和人工智能技术,通过对图像的采集和处理,获得更多的信息,从而达到更高的智能化管理程度。在LPR 系统产品的性能指标中,识别率和识别速度难以同时提高其中原因既包括图像处理技术不够成熟,又受到摄像设备计算机等性能的限制。因此,研究高速准确的定位与识别算法,是当前的主要任务。

汽车车牌自动识别系统主要包括触发拍照、图像采集、图像预处理、车牌定位、字符分割、字符识别、输出结果等单元。

触发牌照 图像采集 图像预处理 车牌定位 输出结果 字符识别 字符分割 图1.1车牌识别系统工作流程图

触发拍照:该单元会自动检测车辆在指定区域的存在,现有的成熟技术的有线圈触发、视频触发、红外触发、雷达触发以及激光触发。其中线圈触发和视频触发得到了广泛的应用。

图像采集:该单元是指道路上安装的摄像头在检测到有车辆通过的同时进行拍照并借助网络传送到汽车自动识别系统。

图像预处理:该单元是指车牌识别系统对拍摄的汽车图片进行灰度化和边缘检测等处理。在外界光照不均匀,光照强度不稳定的情况下,通过摄像机采集到的车牌原始图像会模糊不清,因此需要对其进行图像增强的处理;在外界环境噪声以及电子器件自身产生的噪声干扰下,车牌图像质量会有所下降,因此需要对

第 10 页 共 43 页 焦作大学毕业设计说明书 原图像进行去噪处理等等。以上所做的这些处理均属于图像预处理的工作。

车牌定位:是指对预处理过的汽车图片进行处理,把车牌部分进行定位,把无用的部分去除,得到定位好的车牌图片。在一张完整的车辆图像中,大部分区域都是背景图像,对识别工作毫无意义,我们可以将背景区域视为无用区域,并设法将其去除,即从复杂的背景图像中准确的定位并分割出车牌区域图像,从原图像中提取出需要的部分舍弃不需要的部分,以便节省系统识别时间,这也是车牌定位分割的目的及意义所在。在定位分割的过程中要保证不能把非车牌区域误判为车牌区域,也不能漏检车牌区域,否则后继的工作将无法进行。

字符分割:对已经定位的车牌图片的进行字符分割,将车牌分割为7个单一的字符图片。被分离出的车牌区域图像,系统并不能直接对其进行识别,还需要将车牌上的每一个字符都独立的完整的分割出来,即从车牌区域图像中将车牌上所包含的每一个字符都切分出来,使其成为不具有任何相关性的单个字符图像,再由系统分别对每个字符进行识别,在对字符进行切分时,要注意保证每个字符的完整度。

字符识别:车牌字符识别是最为关键的一步,前面对车牌图像所做的处理都是为了完成最终的识别。系统输入的是单个的字符图像,输出的却是文本格式的完整的车牌号码,车牌字符识别的准确率直接反映出车牌识别系统性能的好坏。 输出结果:输出识别结果,并进行数据存储。

对于车牌识别系统而言,以上的每一个步骤都是必不可少的,并且后一步骤均是建立在前面步骤的基础之上进行的,因此,只有确保做好每一步才能顺利完成系统最终的识别工作。

焦作大学毕业设计说明书 第 11 页 共 43 页

第四章 各模块的实现

车牌识别系统包括图像采集、图像预处理、车牌定位、字符分割、字符识别等模块,本文主要研究图像预处理、车牌定位和字符分割三个模块。 4.1 设计方案:

该系统主要是由图像处理和字符识别两部分组成。其中图像处理部分包括图像预处理、边缘提取模块、牌照的定位以及分割模块。字符识别部分可以分为字符分割与特征提取和单个字符识别两个模块。

字符识别部分要求照片清晰,但由于该系统的摄像头长时间在室外工作,加上光照条件、摄像头角度和距离、车辆自身条件以及车辆的行驶速度的影响,想拍出较理想的图片很困难。因此,我们要对摄像头拍摄的图片进行预处理,主要包括图片灰度化和图片边缘提取等。

车牌定位和车牌分割是整个系统的关键,其作用是在经图象预处理后的灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。

车牌识别系统的最终目的就是将不清楚的车牌照片进行识别,输出清晰的图片。现在字符识别的常用方法有模板匹配法和神经网络模型法。 4.2图像预处理 4.2.1图像灰度化:

汽车图像样本目前大都是通过摄像机、数码相机等设备拍摄获取的,因而预处理前的图像都是彩色图像。真彩色图像又称RGB图像,它是利用R、G、B分量表示一个像素的颜色,R、G、B分别代表红、绿、蓝3种不同的颜色,通过三基色可以合成出任意颜色。而每个分量有255种值可取,这样一个像素点可以有,1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,每一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。所以,对一个尺寸为m*n的彩色图像来说,存储为一个

第 12 页 共 43 页 焦作大学毕业设计说明书 m*n*3的多维数组。

彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度。由于图像的每个象素都具有三个不同的颜色分量,存在许多与识别无关的信息,不便于进一步的识别工作,因此在对图像进行识别等处理中,经常将彩色图像转变为灰度图像,以加快处理速度。

数字图像分为彩色图像和灰度图像。在RGB模型中,如果R=G=B,则颜色表示一种灰度颜色,其中R=G=B的值叫做灰度值。由彩色转换为灰度的过程叫做灰度化处理。灰度图像就是只有强度信息而没有颜色信息的图像,存储灰度图像只需要一个数据矩阵,矩阵每个元素表示对应位置像素的灰度值。彩色图像的象素色为RGB (R, G, B ),灰度图像的象素色为RGB ( r, r, r ), R, G, B可由彩色图像的颜色分解获得.而R, G, B的取值范围是0-255,所以灰度的级别只有256级。 对于将彩色图像转换成灰度图像时, 目前比较主流的灰度化方法叫平均值法,公式为: H=0.229R+0.588G+0.144B

公式中H表示灰度图的亮度值;R代表彩色图像红色分量值;G代表色彩图像绿色分量值;B代表彩色图像蓝色分量值。RGB 三分量前的系数为经验加权值。加权系数的取值建立在人眼的视觉模型之上。对于人眼较为敏感的绿色取较大的权值; 对人眼较为不敏感的蓝色则取较小的权值。通过该公式转换的灰度图能够比较好地反应原图像的亮度信息。

在MATLAB中我们可以调用im2gray函数对图像进行灰度化处理。 4.2.2图像的边缘检测:

边缘是指图像灰度发生空间突变或者在梯度方向上发生突变的像素的集合。用摄像机采集到的机动车图像由于受到噪声干扰以及车辆本身的影响,使得获得的图像质量不理想。因此,在进行对汽车牌照的定位及字符识别之前需要先对车辆图像进行边缘检测处理,提高图像的质量,使其易于后面的分割和识别。通过良好的边缘检测可以大幅度的降低噪声、分离出复杂环境中的车辆图像、保留完好的车牌字符信息,方便后面的车牌精确定位与字符识别。

由于车牌识别系统摄像头安装位置固定以及机动车车牌的固有属性,我们可以发现机动车车牌图像都处在水平的矩形区域,在图像中位置较为固定,车牌中字符都是按水平方向排列。因为有这些明显的特征,经过适当的图像变换,可以

焦作大学毕业设计说明书 第 13 页 共 43 页

清晰的呈现出车牌的边缘。本文采用经典的Roberts边缘检测算子来对图像进行边缘检测。

灰度化和边缘检测的MATLAB程序如下: 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算子边缘检测')

图4.1 原图

第 14 页 共 43 页 焦作大学毕业设计说明书

图4.2 灰度图

图4.3 Robert算子边缘检测

4.3车牌定位和分割

该系统的摄像头拍摄的图片是整个机动车的图片,而只有车牌部分是对系统有用的。所以我们要对照片进行车牌定位和分割。车牌的定位和分割是从经过图像预处理后的灰度图像中确定牌照位置,并将车牌部分从整个图像中分割出来,从而进行字符识别。车牌图像的灰度图的车牌部分是一个水平度很高的长方形图样,在原图中比较集中,且灰度值和周围图样有明显差异,因此很容易用边缘检测来对图像进行分割。车牌定位和分割的准确度直接关系到最后的字符识别的质量。

焦作大学毕业设计说明书 第 15 页 共 43 页

对图像进行图像腐蚀 除去图像杂质 通过计算寻找X和Y方向车牌的区域 对定位后的彩色车牌的进一步处理 完成车牌定位 图4.4车牌定位流程图

4.3.1车牌定位

机动车图像经过灰度化和边缘检测的处理后,边缘得到了加强,牌照区域已经非常明显。本文采用的是用数学形态学来进行图像处理和模式识别。数学形态学用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的,能有效的去除噪声,保留图像原有信息的同时提取的边缘比较平滑,提取的图像骨架也比较连续,断点少。现在我们将经过预处理的图像进行图像腐蚀以及去除杂质,就可以得到相对准确的车牌位置。

图4.5腐蚀后的图像

第 16 页 共 43 页 焦作大学毕业设计说明书

图4.6 平滑图像的轮廓

图4.7从对象中移除小对象后图像

4.3.2车牌分割

车牌字符分割是车牌自动识别系统中的重要步骤,这一模块的正确性受到很多因素的影响,最大问题是二值化不彻底使投影图像中字符间的波谷不够分明;其次,车牌污损、反光、光照不均等原因使车牌图像交差,存在大量噪声;再次,车牌边框和铆钉也会造成分割不正确;还有车牌的前两个字符和后面五个字符之间的间隔符(小圆点)对字符识别有影响;车牌旋转对水平分割有较大影响。本文车牌部分的分割采用的是利用车牌彩色信息的彩色分割法。使用统计彩色像素点的方法分割出车牌区域,确定车牌底色蓝色RGB对应的灰度范围,然后统计在行方向的颜色范围内的像素点数量,确定车牌在行方向的区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。

图4.8车牌对位的图像

焦作大学毕业设计说明书 第 17 页 共 43 页

4.3.3对定位后的彩色车牌的进一步处理

定位后车牌图像是彩色的,会占用较大的存储空间,加重计算机负担。且车辆图片不可避免存在噪声,所以要对图像进行灰度化,二值化以及滤波处理。图像的二值化处理就是将图像上的点的灰度置为两个数值,通常为0或255,使整个图像呈现出明显的黑白效果。也就是将256个亮度等级的灰度图像通过适当的门限值选取而获得仍然可以反映图像整体和局部特征的二值化图像。滤波则是为了除去图像噪声。滤波方法有多种,本文采取的滤波方法为均值滤波。均值滤波是典型的线性滤波算法,指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值。

图4.9车牌的进一步处理

4.4字符分割与归一化

第 18 页 共 43 页 焦作大学毕业设计说明书

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

图4.10 字符分割和归一化流程图

4.4.1字符分割

在汽车牌照自动识别过程中,字符分割有承前启后的作用。它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。将得到的车牌区域图像进行二值化处理后,对图像进行垂直投影,投影图上有明显的类似于峰谷的波形起伏变化, 通过对投影图上的波形从左向右进行扫描,根据谷和峰的特征就可以判断出每个字符的位置;计算垂直峰,检测合理的字符高宽比。在字符切割时,往往由于阈值取得不好,导致字符切割不准确,针对这种情况,可以对切割出的字符宽度进行统计分析,用以指导切割,对因错误切割过宽的字符进行分裂处理。

图4.11 字符分割后的图像

焦作大学毕业设计说明书 第 19 页 共 43 页

4.4.2字符归一化处理

由于数码相机拍摄的汽车图像大小不一样, 所以得到的牌照上的字符大小就不一样,为了便于字符的识别,需要对字符进行归一化处理。归一化处理的目的就是使车牌字符同标准模块里面的字符特征一样。而大小归一是指在长度和宽度方向上分别乘以一个比例因子,使其等于标准模块的字符大小,本文采用的大小归一的方法是分别从水平投影和垂直投影两个方向上对字符象素的大小进行归一化处理。

图4.12字符归一化后的图像

4.5字符的识别

字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法。基于模板匹配的OCR的基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。模板匹配的主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。综合模板匹配的这些优点我们将其用为车牌字符识别的主要方法。

模板匹配是图象识别方法中最具代表性的基本方法之一,它是将从待识别的图象或图象区域f(i,j)中提取的若干特征量与模板T(i,j)相应的特征量逐个进行比较,计算它们之间规格化的互相关量,其中互相关量最大的一个就表示期间相似程度最高,可将图象归于相应的类。也可以计算图象与模板特征量之间的距离,用最小距离法判定所属类。然而,通常情况下用于匹配的图象各自的成像条件存在差异,产生较大的噪声干扰,或图象经预处理和规格化处理后,使得图象的灰度或像素点的位置发生改变。在实际设计模板的时候,是根

第 20 页 共 43 页 焦作大学毕业设计说明书 据各区域形状固有的特点,突出各类似区域之间的差别,并将容易由处理过程引起的噪声和位移等因素都考虑进去,按照一些基于图象不变特性所设计的特征量来构建模板,就可以避免上述问题。

建立自动识别的代码表 读取分割出来的字第一个字符与模板中的汉字模板进行匹配 第二个字符与模板中的字母模板进行匹配 后5个字符与模板中的字母与数字模板进行匹配 待识别字符与模板字符相减,值越小相似度越大,找到最小的一个即为匹配的最好的 识别完成,输出此模板对应值 图4.13 字符识别流程图

此处采用相减的方法来求得字符与模板中哪一个字符最相似,然后找到相似度最大的输出。汽车牌照的字符一般有七个,大部分车牌第一位是汉字,通常代表车辆所属省份,或是军种、警别等有特定含义的字符简称;紧接其后的为字母与数字。车牌字符识别与一般文字识别在于它的字符数有限,汉字共约50多个,大写英文字母26个,数字10个。所以建立字符模板库也极为方便。为了实验方便,结合本次设计所选汽车牌照的特点,只建立了4个数字26个字母与10个数字的模板。其他模板设计的方法与此相同。

首先取字符模板,接着依次取待识别字符与模板进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。把每一幅相减后的图的0值个数保存,即为识别出来的结果。

焦作大学毕业设计说明书 第 21 页 共 43 页

图4.14识别结果

第 22 页 共 43 页 焦作大学毕业设计说明书

第五章 实验结果和分析

本文以MATLAB7.0为实验平台,以摄取的彩色车牌照片为对象进行实验。实验的最终结果如图4.14所示。

在得到这个结果之前,需要对车牌图像进行预处理、车牌定位、车牌分割等处理。

由于摄像部分多工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离和角度以及车辆行驶速度等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进行识别前的预处理。预处理包括灰度化、车牌校正、平滑处理等。对于光照条件不理想的图象,可先进行一次图象增强处理,使得图象灰度动态范围扩展和对比度增强,再进行定位和分割,这样可以提高分割的正确率。在本文中根据采集到的图像本身的特点,对它进行了灰度化的处理。因为彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此将彩色图像转化为灰度图像,以缩短处理速度。图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘,于是对其边缘提取,此处边缘的提取采用的是Roberts算子。

在定位模块。本文采用的是车牌颜色与数学形态学相结合的定位方法。首先,将预处理后的图像用数学形态学的方法进行处理。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。本文中对图像进行了腐蚀、平滑处理,腐蚀和平滑都具有滤波的作用,腐蚀是对图像内部做滤波处理,平滑是对噪声进行滤波。这样可以把字符与字符之间的杂色点去除,只有白色的字符和黑色的背景存在,这样有利于的字符分割进行。最后还用了bwareaopen来去除对象中不相干的小对象。再根据车牌底色等有关的先验知识,采用彩色像素点统计的方法,先确定行方向的车牌区域,再确定列方向的区域,得出最终的车牌区域。

车牌分割即把车牌的整体区域分割成单字符区域,具有承上启下的作用。其

焦作大学毕业设计说明书 第 23 页 共 43 页

难点在于噪声合字符粘连,断裂对字符的影响,因此必须先将定位后的车牌进一步处理。包括灰度化、二值化、均值滤波、膨胀或腐蚀处理。分割采用的方法为寻找连续有文字的块,若长度大于某阈值T,则认为该块有两个字符组成,需要分割。为满足下一步字符识别的需要,将分割后的字符归一化。

最后将分割出来的字符运用模板匹配的方法与模板字符进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。把每一幅相减后的图的0值个数保存,然后找数值最大的,即为识别出来的结果。模板的制作很重要,必须要用精确的模板,否则就不能正确的识别。

对于识别错误情况的分析可知,主要原因:一是牌照自身的污渍等影响了图象的质量;二是牌照字符的分割失败导致的识别错误;再就是部分字符的形状相似性,比如,B 和8;A 和4 等字符识别结果可能发生混淆的情况。

总之,尽管目前牌照字符的识别率还不理想,但是只要在分割出的字符的大小、位置的归一化,以及尝试提取分类识别能力更好的特征值和设计分类器等环节上再完善,进一步提高识别率是完全可行的。

第 24 页 共 43 页 焦作大学毕业设计说明书

第六章 实验总结

高速公路、城市交通、停车场等基础设施建设水平的不断发展和车辆管理体制的不断完善,为以计算机视觉为基础的智能交通管理系统的实际应用提供了契机。在智能交通系统中,车牌自动识别系统是智能化交通系统非常重要的发展方向。从开始的收费辅助系统演变过来的车牌识别技术现在运用的领域是越来越广。它在车辆过路、过桥全自动不停车收费,交通流量控制指标的测量,车辆自动识别,高速公路上的事故自动测报,不停车检查,车辆定位,汽车防盗,稽查和追踪车辆违规、违法行为,维护交通安全和城市治安,防止交通堵塞,提高收费路桥的服务速度,缓解交通紧张状况等方面有重要作用,有重要的现实应用意义。

本文对车牌识别系统的软件部分进行了研究,分别从图像预处理、车牌定位、字符分割以及字符识别等方面进行了系统的分析。主要工作内容及结论如下: (1)整理和总结了国内外在车牌定位、分割、字符识别方面的研究成果和发展方向,系统介绍了我国车牌的固有特征,以及车牌识别的特点。

(2)在车牌定位我们采用基于灰度跳变的定位方法,采用先对图像进行预处理,再进行二值化操作的方法。实验表明本方法既保留了车牌区域的信息,又减少了噪声的干扰,从而简化了二值化处理过程,提高了后续处理的速度。 (3)基于彩色分量的定位方法,运用基于蓝色象素点统计特性的方法对车牌是蓝色的车牌进行定位,实验表明,用该方法实现的车牌定位准确率较高。 (4)本设计采用的图像预处理、边缘检测、车牌长宽比特征识别等对车牌的定位都是非常有效的,而本设计提出的投影分析和阈值技术有效检测了车牌图像的上下左右边框、旋转角度,准确实现的车牌字符的分割,对多个车牌进行实验,均有很高的正确率。

本设计虽然只对蓝底白字车牌进行分割识别,对黑底白字车牌原则上整个算法可直接适用,对白底黑字车牌、黄底黑字车牌,需要对车牌定位算法进行调整,并将图像反转,而车牌字符的分割算法仍然行之有效。 因此,本设计提出的车牌字符的分割算法实验证明是准确、有效、可行的。

焦作大学毕业设计说明书 第 25 页 共 43 页

致 谢

大学专科的学习生活即将结束,在此,我要感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长过程中给予了我很大的帮助。本文能够成功的完成,要特别感谢我的指导老师的关怀和教导,感谢各位师兄师姐的关心和帮助。

最后还要感谢我的父母,是他们一直在背后支持着我。使我心灵的天平永远倾向执著奋斗。使我深深的体会到:在这个竞争的社会里,没有真才实学,没有吃苦精神,是无法立足,无法生存的。

我要时时刻刻的记住人的一生要“活到老,学到老”紧跟时代步伐,以豪情勃发的远足迈向新的征途,新的挑战。让我们用科学知识来武装自己的头脑,用高科技技术来描绘未来的憧憬和期盼。再此感谢我的老师和同学。

第 26 页 共 43 页 焦作大学毕业设计说明书

参考文献

[1] 白利波.车牌检测与识别算法研究[D].北京交通大学,2007.30-31. [2] 谢盛嘉,梁竞敏.车牌识别系统的设计与实现[J].微计算机信息,2010(6) [3] 王刚,冀小平.基于MATLAB的车牌识别系统的研究[J].电子设计工程,2009(11)

[4] 王广宇.车辆牌照识别系统的原理及算法研究[D].郑州大学,2000

[5] 崔江,王友仁.车牌自动识别方法中的关键技术研究[J].计算机测量与控制,2003.11(4)

[6] 许志影,李晋平.MATLAB在图像处理中的应用[J].计算机与现代化,2004(4) [7] 刘卫国.MATLAB程序设计与应用[M].北京:高等教育出版社,2002 [8] 成瑜.汽车牌照自动识别技术研究[J].南京航空航天大学学报,2006.4:29-30

焦作大学毕业设计说明书 第 27 页 共 43 页

程序附录:

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'); %高斯滤波器,方差为0.08 figure(3),imshow(I2);title('robert算子边缘检测') se=[1;1;1];

I3=imerode(I2,se); %图像的腐蚀

figure(4),imshow(I3);title('腐蚀后图像');

se=strel('rectangle',[40,40]); %构造结构元素,以长方形构造一个se I4=imclose(I3,se); %对图像实现闭运算,闭运算也能平滑图像的轮廓,但与开运算相反,它一般融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙。 figure(5),imshow(I4);title('平滑图像的轮廓');

I5=bwareaopen(I4,2000); %从二进制图像中移除所有少于p像素的连接的组件(对象),产生另一个二进制图像

figure(6),imshow(I5);title('从对象中移除小对象');

[y,x,z]=size(I5); %返回I5各维的尺寸,并存储在变量y、x、z中 myI=double(I5); %换成双精度数值 ?gin横向扫描

tic %计算tic与toc之间程序的运行时间 Blue_y=zeros(y,1); %产生y*1的全0矩阵 for i=1:y for j=1:x

if(myI(i,j,1)==1)

%如果myI(i,j,1)即myI图像中坐标为(i,j)的点为蓝色

第 28 页 共 43 页 焦作大学毕业设计说明书 %则Blue_y的相应行的元素white_y(i,1)值加1 Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计 end end end

[temp MaxY]=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

IY=I(PY1:PY2,:,:);

%IY为原始图像I中截取的纵坐标在PY1:PY2之间的部分 %end横向扫描 ?gin纵向扫描

Blue_x=zeros(1,x);%进一步确定x方向的车牌区域 for j=1:x

for i=PY1:PY2

if(myI(i,j,1)==1)

Blue_x(1,j)= Blue_x(1,j)+1; end end end PX1=1;

焦作大学毕业设计说明书 第 29 页 共 43 页

while ((Blue_x(1,PX1)<3)&&(PX1

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); %将数组filepath,filename水平地连接成单个字符串,并保存于变量jpg中

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 为二值化的阈值

[m,n]=size(b); %返回矩阵b的尺寸信息, 并存储在m、n中。其中m中存储的是行数,n中存储的是列数。

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

Top