信息处理课程设计————基于MatlabGUI的车牌识别学院:指导教师:班级:姓名:学号:1摘要:此次课程的主题为信息处理,本设计为基于MatlabGUI车牌识别系统,以此例学习研究有关于图像处理方面的原理知识及应用。此次车牌识别系统的设计过程可分为五大模块:原图预处理,车牌提取,车牌预处理,字符分割,字符模板匹配,基于MatlabGUI的程序界面化。最终成功实现通过人机交互界面提取车牌并识别车牌字符的功能。关键词:车牌识别,Matlab,GUI2目录一.绪论.........................................................31.1车牌号识别技现实意义..................................................................................31.2车牌识别技术的研究现状..............................................................................31.3车牌识别技术的未来发展趋势......................................................................4二.车牌识别技术简介.................................................5三.车牌识别系统设计流程.............................................63.1源图像预处理.................................................................................................63.1.1.车牌读取...............................................................................................63.1.2.车牌图像灰度化...................................................................................73.1.3.边缘检测...............................................................................................83.1.4.灰度图腐蚀...........................................................................................93.1.5.图像平滑处理.....................................................................................103.1.6.移除小对象.........................................................................................113.2车牌提取........................................................................................................123.3车牌图像预处理............................................................................................143.4字符分割........................................................................................................153.5字符模板匹配识别........................................................................................19四.系统界面化......................................................23五.补充代码........................................................25六.总结...........................................................293一.绪论1.1车牌号识别技现实意义随着我国公路交通事业的发展,车辆的数量正在迅速增长,在给出行提供方便的同时,车辆管理上存在的问题日益突出,人工管理的方式已经不能满足实际的需要。微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。作为信息来源的自动检测、图像识别技术越来越受到人们的重视。近年来计算机的飞速发展和数字图像技术的日趋成熟,为传统的交通管理带来巨大转变,先进的计算机处理技术,不但可以将人力从繁琐的人工观察、监测中解放出来,而且能够大大提高其精确度,汽车牌照自动识别系统就是在这样的背景与目的下进行开发的。汽车牌照等相关信息的自动采集和管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要的意义,成为信息处理技术的一项重要研究课题。1.2车牌识别技术的研究现状自1988年车辆牌照识别(LicensePlateReeognition,LPR)技术推出以来,人们就对其进行了广泛的研究。国外己有不少相关的文章发表,有的己经非常成熟,投入实际使用。在各种应用中有对静态图像处理的系统,如Huang一MuHwang的《APC一BASEDCARLICENSEPLATEREADER》在收费站硬件设施较好的条件下,平均0.7秒内识别率达到97%,如此一些系统的成功实现大大受益于国外车牌的规范统一。从实用产品来看,比较有名的是以色列的Hi一TeehSolutions公司、Zamir公司、匈牙利的AdaptiveReeognition公司和新加坡的Optasia公司等。我国车牌自动识别的研究起步较晚,大约发生在八十年代末。1988年戴营等人利用常见的图像处理技术方法提出汉字识别的分类是在提取汉字特征的基础上进行的。根据汉字的投影直方图(ProjectionHIStogram),选取浮动阂值,进行量化处理后,形成一个变长链码,再用动态规划法,求出与标准模式链码的最小距离,实现细分类,完成汉字省名的自动识别。上海交通大学计算机戚飞虎等人研究的4基于彩色分割的牌照自动识别系统;华中科技大黄心汉等人研究的基于板匹配和神经网络的牌照识别系统;以及浙江大学图形图像研究所潘云鹤等人研究的“车牌通”产品等。此外,西安交通大学的图像处理和识别研究室、清华大学人工智能国家重点实验室等各大高校也正在做类似的研究。1.3车牌识别技术的未来发展趋势车牌识别产品的竞争将更多的强调成像、图像预处理、算法、业务逻辑等系统各环节的相互配合。特别是物理成像以及图像预处理的水平可能会成为下阶段发展的关键,其原因在于当识别算法的发展达到一定的高度,短期内很难会出现非常突破性的变革,这时如何能够通过成像、光源、降噪等环节来为核心算法扫清障碍就成为了影响产品最终性能的制衡点。此外,与整体安防行业的发展相应,以下几个趋势对车牌识别产品的影响将会非常深远:1.3更高的分辨率及画面质量作为一种典型的模式识别算法,车牌识别一直期望有更高的图像分辨率。如果相机的分辨率可以提升千万量级,车牌识别的识别指标将会更加逼近“几乎不出错”的极限,而且车牌识别能够稳定工作的区域也会明显增大。除了分辨率提升外,画面质量也是同等重要的问题,近年来高清相机的分辨率虽然提升的速度很快,但在动态范围的表现上却差强人意,导致在一些场景下出现亮处细节和暗处细节无法兼顾的问题,这将是下阶段相机发展的关键点之一。2.更高的计算能力和集成度高清相机的发展必然导致车牌识别算法需要更大的计算资源,嵌入式平台核心芯片的更新速度将会直接影响车牌识别产品的形态以及发展方向,可以预见,今后更多的相关业务将会被放置在车牌识别智能相机上。3.更高的易用性、更强的适应能力目前车牌识别算法本身的难题主要集中在车牌受到各种干扰时如何保证尽可能准确地识别,例如大型车常见的车牌污损、私家车辆规避限号的车牌遮挡、光照环境形成的阴影干扰等等。此外,车牌识别产品的参数配置一直相对繁琐,这很大程度上是为了能够通过精确的调整相机成像、补光、算法的各个环节来确5保达到最好的识别效果。如何利用好高分辨率和高计算能力来降低系统的操作难度,进一步解决这些经典的技术问题,提高系统配置的自动化水平是车牌识别产品下阶段需要着重投入的方向。二.车牌识别技术简介一个完整的车牌号识别系统要完成从图像采集到字符识别输出,过程相当复杂,基本可以分成硬件部分跟软件部分,硬件部分包括系统触发、图像采集,软件部分包括图像预处理、车牌位置提取、字符分割、字符识别四大部分,一个车牌识别系统的基本结构如图2.1所示:图2.1车牌识别系统基本结构框图(一):原始图像:由停车场固定彩色摄像机、数码相机或其他扫描装置拍摄到的图像。(二):图像预处理:对动态采集到的图像进行滤波,边界增强等处理以克服图像处理。(三):车牌位置提取:通过运算得到图像的边缘,再计算边缘图像的投影面积,寻找谷峰点以大概确定车牌的位置,再计算连通域的宽高比,剔除不在阈值范围内的连通域,最后便得到了车牌区域。(四):车牌预处理:对提取到的车牌进行二值化,滤波,删除小面积等预处理(五):字符分割:利用投影检测的字符定位分割方法得到单个的字符。原始图像图像预处理车牌位置提取字符分割字符识别输出结果车牌预处理6(六):字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符。(七):输出结果:得到最后的汽车牌照,包括汉字、字母和数字。三.车牌识别系统设计流程3.1源图像预处理3.1.1.车牌读取目前常用的图像格式主要有*.PCX、*.BMP、*.JPG、*.TIFF、*.GIF等,本设计采集到的图片格式为*.JPG格式,这种格式的图像占有的存储空间小,而且是使用最广的图片保存和传输格式,大多数的摄像设备也都是以*.JPG格式保存图像的。利用图像工具的图像读取函数imread()来读取一副图像,其使用格式为:%uigetfile(读取文件名和路径)'图片名.JPG'(文件名和类型)[filename,pathname]=uigetfile('*.JPG','选择图片');str=[pathname,filename];I=imread(str);figure,imshow(I);%显示要处理的图像title('原始处理图像');73.1.2.车牌图像灰度化由于车牌底色跟上面的字符的颜色对比度很大,所以将RGB图像转化为灰度图时,车牌底色跟字符的灰度值也会相差很大,这样就可以很明显的显现出车牌区域,便于后续处理。本系统使用的是MATLAB内的灰度图转换函数rgb2gray(),其图像灰度值计算公式为:G=0.299R+0.578G+0.114B;程序源代码为:I1=rgb2gray(I);figure(2),subplot(1,2,1),imshow(I1);title('灰度图');%画出灰度图的灰度直方图figure(2),subplot(1,2,2),imhist(I1);title('灰度直方图');83.1.3.边缘检测在Matlab中利用函数edge()实现边缘检测,在edge()函数中有Sobel算子,Prewitt算子,Roberts算子,Log算子,Canny算子及Robert算子,几种