基于matlab车牌识别系统设计与实现毕业设计论文.docx
- 文档编号:5122339
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:40
- 大小:547.05KB
基于matlab车牌识别系统设计与实现毕业设计论文.docx
《基于matlab车牌识别系统设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于matlab车牌识别系统设计与实现毕业设计论文.docx(40页珍藏版)》请在冰豆网上搜索。
基于matlab车牌识别系统设计与实现毕业设计论文
本科生毕业设计(论文)
车牌识别系统设计与实现
DesignandImplementationofLicensePlateRecognitionSystem
总计:
30页
表格:
1个
插图:
19幅
南阳理工学院本科毕业设计(论文)
车牌识别系统设计与实现
DesignandImplementationofLicensePlateRecognitionSystem
学院:
电子与电气工程学院
专业:
电气工程及其自动化
学生姓名:
学号:
指导教师(职称):
评阅教师:
完成日期:
南阳理工学院
NanyangInstituteofTechnology
毕业论文(设计)原创性声明
本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:
日期:
毕业论文(设计)授权使用说明
本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。
有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。
学校可以公布论文(设计)的全部或部分内容。
保密的论文(设计)在解密后适用本规定。
作者签名:
指导教师签名:
日期:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
车牌识别系统设计与实现
[摘要]汽车车牌的识别系统是现代智能交通管理的重要组成部分之一。
车牌识别系统使车辆管理更智能化,数字化,有效的提升了交通管理的方便性和有效性。
车牌识别系统主要包括了图像采集、图像预处理、车牌定位、字符分割、字符识别等五大核心部分。
本文主要介绍图像预处理、车牌定位、字符分割三个模块的实现方法。
本文的图像预处理模块是将图像灰度化和用Roberts算子进行边缘检测的步骤。
车牌定位和分割采用的是利用数学形态法来确定车牌位置,再利用车牌彩色信息的彩色分割法来完成车牌部位分割。
字符的分割采用的方法是以二值化后的车牌部分进行垂直投影,然后在对垂直投影进行扫描,从而完成字符的分割。
[关键词]:
MATLAB;图像预处理;车牌定位;字符分割
DesignandImplementationofLicensePlateRecognitionSystem
ElectricalEngineeringandAutomationSpecialtyYangHui-bin
Abstract:
Carlicenseplaterecognitionsystemisanimportantpartofthemodernintelligenttrafficmanagement.Thevehiclelicenseplaterecognitionsystemmanagementmoreintelligent,digital,effectivelyimprovetheconvenienceandeffectivenessoftrafficmanagement.LicensePlateRecognitionsystemincludesfivecorepartoftheimageacquisition,imagepreprocessing,licenseplatelocation,charactersegmentationandcharacterrecognition.
Thispaperdescribestheimagepreprocessing,licenseplatelocation,charactersegmentationmethodofthreemodules.Imagepre-processingmoduleofthisarticleistoimagegrayandstepbyRobertsoperatoredgedetection.Platepositioningandsegmentationusingmathematicalmorphologyisusedtodeterminethelicenseplatelocationmethod,andthenusethecolorinformationofthelicenseplatecolorsegmentationmethodtocompletethelicenseplatepartsdivision.Themethodusedisbasedonthecharactersegmentationplateafterbinarizingtheverticalprojection,theprojectionandtheverticalscanning,tocompletesplitcharacters.
Keywords:
MATLABsoftwar;imagepreprocessing;license plate localization;character
segmentation
1引言
1.1车牌号识别系统概述
(1)车牌号识别系统的研究背景
随着经济社会的迅猛发展,人们的生活水平的提高,私有车辆不断增多,公路上的车辆超速,超载以及日常丢车的现象越来越严重,尤其在高速公路的出口或者进口处,由现在的科技的限制无法采用自动计费方式,所以就造成了收费缓慢,造成了交通的堵塞,严重影响了社会的安定和人们的日常生活,为了提高车辆的管理效率,缓解公路上的交通压力,我们必须找到一种解决方案。
汽车车牌是每辆车的名片,在生活中每辆车的车牌是不同的,因此车牌是确定每辆车的依据。
而城市尤其是大中城市的公路交通管理变得越来越复杂,智能交通管理系统的设计和实施因而受到大众和政府的重视,汽车牌照自动识别可用于公路路口,停车场,高速公路收费站以及收费公路路段(如隧道)等场合,车辆号码牌识别系统,对现在人们的生活有着极大的现实意义,它大大提高了交通管理水平,为人们的出行带来了便利[1]。
(2)选题的目的与意义
随着人们生活水平的逐渐提高,私家车的出现越来越多,城市交通的压力扩大,如何高效进行交通管理也成为现在生活中所关注的焦点问题,于是各种各样的交通道路监视、管理的系统出现在了人们的视线当中,这些系统主要是通过对其过往的车辆进行检测,提取中间的交通数据,以达到监控,管制,指挥调度的目的。
汽车车牌的识别是当中的重要环节,是实现现代化交通管理和智能化的关键,也是现今交通工程研究领域的重点。
识别算法的好坏关系到识别的正确性好高效性。
而传统设备如IC卡识别因价格昂贵,设备复杂无形中增加了企业的成本,因此基于图像处理的车牌识别方法,努力提高车牌识别系统的性能是有非常重要的现实意义。
(3)国内外发展状况
在上个世纪人们就开始了对车牌识别技术的开发和应用。
车牌识别系统最主要的就是怎样获得车牌图片并自动从图像中分析出车辆号码牌。
在车牌识别系统研究中,许多的新技术和新方法被不断地提出并应用,例如图像处理技术、模糊数学理论、神经元网络算法等等,也有人将一些传统方式和高新技术相结合来进行应用,但到目前为止在车牌识别的过程中,虽然运用了很多的技术方法,但由于外界环境光线变化、光路中有灰尘、季节环境变化及车牌本身被污染而模糊等条件的影响,使得车牌识别系统一直处于实验室阶段,得不到很好的应用;而且,很多的方法都需要大量的数值计算,不能很好地满足实时性要求。
由于各种客观的不利环境因素存在,还没有一种解决办法可以作为最有效的方式来解决应用中的所有技术难题。
所以车辆号码牌识别系统的研究具有非常重
要的现实意义。
国外在这方面的研究工作开展较早。
早在上世纪70年代,英国就在实验室中完成了"实时车牌检测系统,的广域检测和开发。
同时代,还诞生了面向被盗车辆的第一个实时自动车牌监测系统。
直至今日,国外对车牌检测的研究已经取得了一些令人瞩目的成就,如YuniaoCul提出了一种车牌识别系统,在车牌定位以后,利用马尔科夫场对车牌特征进行提取和二值化,对样本的识别达到了较高的识别率。
关于车牌识别技术及定位系统研究,在我国已经有了十几年的发展历程,目前系统的应用还处于起步阶段,大规模投入使用的成熟系统还没有出现,汽车牌照识别系统作为改进交通管理的有效工具,技术水平仍需完善。
由于我国汽车车牌识别的特殊性, 采用任何一种单一识别技术均难以奏效。
目前正在研制的无源型汽车牌照智能识别系统综合利用了车辆检测技术、计算机视觉(Computer Vision) 技术、图象处理技术、人工智能技术和人工神经网络技术等, 是一个比较有发展前途的车牌识别系统。
1.2MATLAB介绍
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平[2]。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
2车牌识别系统整体方案设计
2.1系统的基本原理
车辆牌照识别系统的基本工作原理为:
将摄像头或其它图像采集装置采集到的包含车辆牌照的图像输入到计算机中进行图像预处理,再经过定位,并分割出包含牌照字符的矩形区域,最后对牌照字符进行二值化并将其分割成单个字符并输出车牌号码的数字。
我们知道采集的彩色图像包含大量颜色信息,会占用计算机较多的存储空间,并且会降低图像处理速度,因此对图像进行识别等处理时,通常将彩色图像转换为灰度图像,以加快处理速度。
对图像进行灰度化处理、边缘提取、再对车牌进行定位。
然后字符分割、车牌识别[3]。
具体步骤如图1所示:
图1系统基本原理示意图
2.2系统硬件设计
系统的硬件主要是对车辆号码牌进行图像采集的设备,其主要作用就是对车辆号码牌进行采集和存储,车牌识别系统的基本硬件配置由摄像机、主控机、采集卡和照明装置等组成。
例如在十字路口车辆管理系统中,系统硬件主要包括车辆传感探测器、高性能工控计算机、高分辨率CCD摄像机、CCD自动亮度控制器、高放大倍数镜头和视频采集卡等。
在此系统中首先是探测车辆的所在位置和行驶状况等。
常用的有微波雷达通过型探测器、测速雷达探测器、声探测器、光探测器、红外探测器、电磁感应探测器和压敏探测器等。
应用场合较多的是红外探测器和电磁感应环探测器。
它们利用编码调制信号,主要特点是增强抗干扰的能力,具有较强的可靠性。
当车辆通过时,前端工控机利用红外线探测到车辆经过的信号时,控制图像采集卡抓拍图像,并对抓拍的汽车图像进行牌照识别,同时控制摄像机光圈的大小,以适应外界环境不同的光照条件。
这样就完成了图像的采集过程。
本课题主要软件的研究即对matlab的运用,主要工作是设计软件,对已摄取到的车辆照片进行一系列处理,实现车辆号码牌的识别。
2.3系统软件设计
本课题软件方面主要采用MATLAB对硬件设备采集到的图像进行全面处理,进而达到识别车牌号码的目的。
硬件设备采集到图片后首先要考虑图像的格式。
目前比较常用的图像格式有 *.BMP、*.JPG、 *.JPEG、 *.GIF、 *.TIF 、*.TIFF、 *.PNG 、*.PCX、 *.XWD、 *.HDF、*.ICO 、*.CUR 等,MATLAB 的图像处理工具箱,功能十分强大,支持的图像文件格式丰富,如*.PNG、*.JPG、*.GIF、*.PCX、*.BMP等。
软件系统的编写大多采用C语言或者MATLAB语言,本课题选用了 MATLAB语言。
因为MATLAB具有以下优点[4]:
(1) 用户使用方便
MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。
人们用任何一种语言编写程序一般都要经过四个步骤:
编辑、编译、链接,以及执行和调试。
各个步骤之间是顺序关系,编程的过程就是在它们之间做瀑布型的循环。
MATLAB语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接和执行融为一体。
它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以及语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。
具体的说,MATLAB运行时,如直接在命令行输入MATLAB语句(命令),包括调M文件的语句,每输入一条语句,就立即对其进行处理,完成编译、链接和运行的全过程。
又如,将MATLAB源程序编辑为M文件,由于MATLAB磁盘文件也是M文件,所以编辑后的源文件就可以直接运行,而不需要进行编译和链接。
在运行M文件时,如果有错,计算机屏幕上会给出详细的出错信息,用户经修改后再执行,直到正确为止。
所以说,MATLAB语言不仅是一种语言,广义上讲是一种该语言的开发系统,即语言调试系统。
(2) 编程效率高
MATLAB是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。
因此,MATLAB语言也可通俗地称为演算纸式科学算法语言。
由于它编写简单,所以编程效率高,易学易懂。
(3) 移植性和开放性很好
MATLAB是用C语言编写的,而C语言的可移植性很好。
于是MATLAB可以很方便地移植到能运行C语言的操作平台上。
MATLAB合适的工作平台有:
Windows系列、UNIX、Linux、VMS6.1和PowerMac。
除了内部函数外,MATLAB所有的核心文件和工具箱文件都是公开的,都是可读可写的源文件,用户可以通过对源文件的修改和自己编程构成新的工具箱。
(4)扩充能力强,交互性好
高版本的MATLAB语言有丰富的库函数,在进行复杂的数序运算时可以直接调用,而且MATLAB的库函数同用户文件在形成上一样,所以用户文件也可作为MATLAB的库函数来调用。
因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB的使用效率和扩充它的功能。
另外,为了充分利用FORTRAN、C等语言的资源,包括用户已编好的FORTRAN、C语言程序,通过建立Me调文件的形式,混合编程,方便地调用有关的FORTRAN、C语言的子程序,还可以在C语言和FORTRAN语言中方便地使用MATLAB的数值计算功能。
(5)语句简单,内涵丰富
MATLAB语言中最基本最重要的成分是函数,其一般形式为
[a,b,c,...]=fun(d,e,f,...),即一个函数由函数名,输入变量d,e,f,...和输出变量a,b,c,...组成,同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性)。
这不仅使MATLAB的库函数功能更丰富,而且大大减少了需要的磁盘空间看,使得MATLAB编写的M文件简单、短小而高效。
(6)方便的绘图功能
MATLAB的绘图是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标、半对数坐标及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。
另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。
这种为科学研究着想的设计是通用的编程语言所不能及的。
2.3.1图像预处理及其MATLAB实现
图像在形成、 传输或处理过程中,由于获取图像工具的影响,获取图像无法完全体现原始图像的全部信息。
受多种因素的影响,如系统噪声、光学系统失真、曝光不足或过量、相对运动等,往往会与原始景物之间或图像与原始图像之间产生了某种差异,这种差异称为降质或退化。
因此要改善图像数据,抑制不需要的变形或者增强。
对于后续处理来说,以提取图像特征为目的的图像预处理在图像处理过程中显得非常重要。
2.3.2车辆号码牌定位
牌照的定位是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置。
在采集到的图像中车辆号码牌均在自然背景下,在自然背景中准确地确定牌照所在区域是整个识别过程的关键。
首先对采集到的图像进行全面搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。
车辆定位流程图如图2所示:
图2车牌定位流程图
2.3.3车辆号码牌的字符分割
完成车辆号码牌定位后,再将号码牌区域分割成单个字符,然后进行识别。
针对车牌字符串的特点,字符分割一般采用垂直投影法。
由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。
利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。
车辆号码牌字符分割流程图如图3所示:
图3车辆号码牌字符分割流程图
2.3.4车辆号码牌的识别
目前用于车牌字符识别中的算法主要有两种,分别是基于模板匹配的字符识别算法以及基于人工神经网络的字符识别算法。
基于模板匹配的字符识别的基本过程是:
首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小;然后与所有的模板进行匹配;最后选最佳匹配作为结果。
用人工神经网络字符识别进行字符识别主要有两种方法:
一种方法是先对待识别字符进行特征提取,然后用所获得的特征来训练神经网络分类器。
识别效果与字符特征的提取有关,而字符特征提取往往比较耗时。
因此,字符特征的提取就成为研究的关键。
另一种方法则充分利用神经网络的特点,直接把待处理图像输入网络,由网络自动实现特征提取直至识别。
实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。
牌照质量会受到各种自然因素的影响,如字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。
这些影响因素降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。
在本次设计中我们选用的方法就是基于模板匹配的字符识别的方法,这种方法虽然工作量较大,但是本方法相对而言容易实现。
3图像预处理及其MATLAB实现
利用摄像头拍摄到的车辆图像往往存在很多噪点,因此在进行识别前要进行车辆图像的预处理。
常用的图像预处理方法包括图像的灰度变换,图像平滑等处理方法。
车辆图像的预处理主要目的是使车辆图像尤其是牌照区域的图像的质量得到改善,同时保留和增强车牌中纹理和颜色的信息,去除可能影响牌照区域纹理和颜色信息的噪点,为牌照定位提供方便。
同时图像预处理是整个系统的首个处理过程对以下一系列的处理过程奠定了基础。
其流程图如图4所示:
图4图像预处理流程图
3.1图像的读取
在MATLAB中,使用函数imread来读取图像文件,函数的调用格式如下:
imread('filename')
Imread所支持的图像格式有很多,我们在此为大家呈现一些重要的图像格式。
如表1所示[5]:
表1imread所支持的一些常见图像格式
格式名称
描述
可识别扩展符
TIFF
加标识的图形文件格式
.tif,.tiff
JPEG
由联合图像专家组开发的图像格式
.jpg,.jpeg
GIF
图形交换格式
.gif
BMP
Windows位图
.bmp
PNG
可移植网络图形
.png
XWD
XWindows转储
.xwd
3.2图像的灰度化处理
灰度图像即指黑白图像,即只包含亮度信息,不包含色彩信息的图像。
真彩色图像都是由三基色R,G,B图像合成后显示的,其原理是自然界中客观存在的任一种颜色都可由3种相互独立的颜色按一定的比例混合而成——R(红),G,(绿),B(蓝)。
对于灰度图来说0代表黑,255代表白,1-254的每个值分别代表了介于黑色与白色之间的所有深浅不同的灰色色调。
在MATLAB中用函数rgb2gray实现图像灰度化的转换,通过加权法平均法,平均值法,最大值法三种方法,实现彩色图像的灰度化处理[6]。
三种算法的计算过程如下:
(1)加权平均值法:
按照一定的权值,对R、G、B 的值加权平均,即:
其中,
、
、
分别为R、G、B 的权值。
(2)平均值法:
使转化后R、G、B 的值为转化前R、G 、B 的平均值
(3)最大值法:
使转化后R、G、B 的值等于转化前3 个值中最大的一个,即:
去不同的值会得到不同的灰度图。
经过函数的计算我们就可以将读入图片进行灰度化处理,本次设计中所需图片的原图和灰度图如图5和图6所示:
图5车辆原图
图6车辆灰度图
3.3图像的边缘检测及提取
图像的边缘信息是重要的图像信息,图像边缘是指图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 车牌 识别 系统 设计 实现 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)