版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TheLicensePlateRecognitionSystemBasedOnSTM32摘要在日常的交通管理中,车牌识别技术早已成为智能交通中必不可少的关键技术,以它为核心的车牌识别系统,得到越来越广泛的运用。目前,交通系统中用的车牌识别系统主要是固定式设备,但它有一定的局限性。随着单片机的迅速发展,为具有车牌识别功能的手持移动设备提供了很好的契机。本设计是一个基于STM32F103RBT6的车牌识别系统。该系统携带方便,通过摄像头OV767O对车辆进行拍照采集,然后经过主控器进行图像数据的读取,并将图像进行二值化、车牌定位和字符匹配等处理,进而完成车牌号的识别,并在TFTLCD(ThinFi
2、lmTransistor-LiquidCrystalDisplay)显示屏上显示识别出来的车牌号。本论文的主要研究工作如下:本设计完成了系统的硬件设计,包括最小系统、OV7670摄像头模块、TFT显示屏模块、串口模块以及其他相关电路的设计。本设计对车牌识别相关算法进行研究,以便应用于STM32嵌入式系统。本文先将采集到的彩色车牌图像变换成二值化图像,再以二值化车牌图像为对象,然后进行车牌定位、分割、识别,进而不仅简化了运算过程,还加快了辨识的速率和正确率。进一步学习研究了STM32的ARMCortex的软件架构、CMSIS文件结构、STM32标准库函数,在此基础上完成了系统软件的设计,并设计了
3、一个清晰简洁的显示界面。最后,系统的测试结果显示,本设计可以识别5个汉字:桂粤晋冀渝皖,数字和字母可以全部识别,可以实现预期的功能。关键字:车牌识别;STM32F103RBT6;手持式;TFTLCD;OV7670AbstractInthedailymanagementoftransportation,Licenseplaterecognitiontechnologyhasbecomeaindispensablekeytechnologyinintelligenttransportationsystem.Itsapplicationisbecomingmoreandmorewide.Nowada
4、ys,licenseplaterecognitionsystemfortrafficsystemismainlyfixedequipment,butithassomecertainlimitations.withtherapiddevelopmentofsinglechipmicrocomputer,anditcanprovidesagreatopportunityforthehandheldmobiledeviceswithlicenseplaterecognitionfunction.ThisthesisdesignsaLPRSofhandheldmobileterminalbasedon
5、STM32F103RBT6.thesystemnotonlycantakealongwhereveryougo,recordtheillegalvehicle,th-enfinishthelicenseplaterecognition.AndsendtheidentificationlicenseplatenumbertoPCviaserialport.violation,time,thenumberoflawenforcementofficialstothevehicleviolationmanagementsystem.Thusitachievesacombinationoflicense
6、platerecognitionandInternetofthings.Themainresearchworkofthisthesisareasfollows:Inthisthesis,thesystemshardwaresdesignarecompleted,includingtheminimumsystem,OV7670cameramodule,TFT-LCDdisplaymodule,Aserialportmoduleandotherrelatedcircuitdesign.histhesisdoestheresearchontherelatedalgorithmsoflicensepl
7、aterecognitionandimprovesthem,inordertoapplysomealgorithmstoSTM32embeddedsyste-m.Firstly,licenseplateimagesaretransformedintothebinaryimageinthisthesis.The-malltheprocessessuchaslicenseplatelocation,segmentationandrecognitionarebasedonthebinaryImage.Thisnotonlyreducesthecomputation,butalsoimprovesth
8、espeedandaccuracyofrecognition.FurtherstudyofthesoftwarearchitectureofSTM32sARMCortex,thestructureofCMSISfileandthefunctionsofSTM32sstandardlibrary.Onthisbasis,thesystemsoftwaredesigniscompleted,Aclearandconcisedisplayinterfaceisdesigned.Finally,thesystemtestresultsshowthatthissystemcanachievethedes
9、iredfunt-ion.Thesystemiseasytocarryandlowcost.Therefore,ithascertainapplicationvalue.Keywords:LicensePlateRecognition;STM32F103RBT6;Handheldequipment;TFTLCD;OV7670TOC o 1-5 h z HYPERLINK l bookmark2 第1章绪论1 HYPERLINK l bookmark4 研究的背景与意义1 HYPERLINK l bookmark6 国内外研究现状2 HYPERLINK l bookmark8 1.3中国车牌的特
10、征3 HYPERLINK l bookmark10 1.4本设计的主要研究内容4 HYPERLINK l bookmark12 1.5本文的组织结构4 HYPERLINK l bookmark14 第2章车牌识别算法的研究5 HYPERLINK l bookmark16 2.1车牌图像预处理5 HYPERLINK l bookmark22 基于彩色图像定位车牌法7 HYPERLINK l bookmark26 2.3字符分割9 HYPERLINK l bookmark28 2.3.1字符的归一化10 HYPERLINK l bookmark30 2.4模板匹配算法10 HYPERLINK l
11、bookmark32 第3章系统硬件设计12 HYPERLINK l bookmark34 3.1系统的整体设计12 HYPERLINK l bookmark36 系统模块设计12 HYPERLINK l bookmark38 第4章系统软件设计18 HYPERLINK l bookmark40 STM32开发环境的介绍18 HYPERLINK l bookmark42 STM32的ARMCortex的软件架构介绍18 HYPERLINK l bookmark44 车牌识别系统的总体设计19 HYPERLINK l bookmark56 第5章系统测试23 HYPERLINK l bookma
12、rk58 第6章总结与展望26 HYPERLINK l bookmark60 6.1总结26 HYPERLINK l bookmark62 6.2展望26 HYPERLINK l bookmark64 参考文献27附录错误!未定义书签。 HYPERLINK l bookmark66 致谢29 第1章绪论研究的背景与意义当代中国正处于经济持续稳定快速增长时期,国内人们对汽车的需求越来越强烈,国内的汽车总量一直呈快速增长趋势。特别是国内近期的车辆数量和增加的速度甚为明显,由2017年车辆统计报告可知,我国机动车持有数量为8.5亿多辆,仅仅汽车就占了68%。因此,巨大数目的车辆不仅给交通增加了沉重的
13、负担,而且给我们造成了一些严重的社会问题,如加大了管理的难度、增加了违规事故的发生、给停放场所增加深重的负担、停车场车辆计时收费、以及车辆的安全管理等。针对怎么有效地解决这些难题,智能交通1就这样应运而生了,各种各样的车辆监管、车辆控制以及公交系统等有效地构建成了一个巨大的全方位的交通管理网络即交通智能化系统2。然而,车牌是一辆汽车的身份证,它具有独一无二性,只有对车牌进行自动识别,才能真正达到交通车辆监管的高效化、合理化。所以,车牌识别系统是现代化、智能化交通的一个重要环节。因此,车牌识别系统(设备)在日常交通监管中占有举足轻重的地位,在实际生活中拥有着极为普遍的使用,例如高速公路、主要路口
14、、隧道等车流量较大的地方大部分都设有自动收费管理;对道路上超车以违章车辆的自动识别、记录和公寓停车、停车场收费管理3,还有违规停车、酒驾稽查等。随着嵌入式以及手持设备的迅速发展,给予了现代化、智能化交通领域带来更多的发展前景和更广阔的市场经济,在科学技术上也带来了全新的变化。嵌入式是发展信息化、数字化技术的重要工具,按照相应的接口协议进行连接与通信,实现嵌入式作为主控器,驱动其他电路模块执行相应的程序操作,及时采集外部信息,并与主控器进行信息的实时传递交换,由此形成了可以实现对外部环境、外部物体的信息采集分析,以此为我们更加现代化、高速化的生活创造更多智能、高效的管理模式。在目前的日常交通智能
15、化规划管理中,主要依靠的智能监控设备大部分都是固定式设备,就是在关键卡口或道路处设立长期的交通监测管理点,如具有车牌识别功能的监测系统。这种方式的优点是可针对重要路段实行24小时全天候无人监控。然而这种监测设备存在很大的不足,由于它的成本较高,灵活性差,它不能够对街道道路的所有路段进行观察。由于固定监控系统的不足之处,手持移动式、便携式的车辆识别设备成为未来发展的重要方向。具备车牌识别功能的可移动交通监控系统通常主要有流动式车载监控系统以及便携式手持识别设备。流动式车载监测系统,指的就是在稽查车辆车顶处放置车辆监测装置,针对行使路过的地方采取移动监测。另一方面的缺点是,它在拍照采集信息时,由于
16、不固定、易摆动等等原因,导致图像的信息缺失、画面不清楚等;还有不够灵活,在一些不方便移动稽查车行驶的道路不能监测,还有很多的监控死角等不足之处。移动便携式手持车牌识别设备与传统的车牌识别设备相比,它能够灵活地用于智能交通中,具有节约成本、体积小、功耗低普及面广、可以随身携带、执行效率高等优点,可以供执法人员随时随地对违规需要查处的车辆进行近距离拍照,并且能够快速有效地记载车辆的相应信息;可以实现车辆的自动快速的收费模式等等。不仅减轻了管理的工作量,而且提高了工作效率,从而能够很好地促进识别技术普遍地使用到智能交通管理中去,将会使其在车辆管理中拥有更加突出的地位,这使得我们对车牌识别系统的进一步
17、探索和开发更具有现实意义。国内外研究现状车牌识别技术是视觉技术在车牌识别领域的一种极其重要的应用,国外在车牌识别领域上的研究较早,Johns。为代表的研究人员在20世纪末就已经提出把图像处理技术和视觉领域融合起来的设想,针对视觉传感器所采集到到图像数据有序地进行图像预处理、获取牌照位置、分割字符、模式匹配、构造模板以及字符识别处理,最终成功设计出了具有较高识别率的自动识别车牌功能的智能系统。R.Mullot所带领团队开发了一种根据文字纹理特征的共同点进行定位识别的车牌识别系统。随之后来的有自适应阀值法、边界跟踪法、垂直投影法和模板匹配法等车牌图像处理算法。国外并在成熟理论的基础上,很多公司对其
18、进行商业的开发,将其应用到实际生活中,让交通管理变得更快捷有序。而国内在车牌识别领域的研究相对与国外的发达国家开始的较晚。由于国内车牌的构成特点与国外车牌存在很大的不同,国外的车牌识别系统并不适用于国内的车牌,因为国内的车牌中含有汉字,汉字结构较为复杂且形状各异,而且国内车牌背景不统一,主要有蓝、黄、白颜色的背景。所以,国内必须研究适合国内的车牌识别系统,国内该领域的研究工作者进行了极其广泛的探索专研,同时提出了很多不错的车牌识别算法。目前,国内外采用的比较实用有效的车牌定位方法主要有模板匹配法、边缘特征提取法、小波变换法以及车牌颜色特征法等算法。此后,以张引为核心的研发团队巧妙运用国内车辆牌
19、照的颜色特征提出了一种基于彩色图像的边缘检测算子法对车牌进行定位,主要应用于国内车牌,并取得了非常不错的效果。国内的很多高校也建立了车牌识别研究所,同时还取得了一些突破性的成果,如上海交通大学的戚飞虎等人提出较为创新的一种基于彩色分割的车牌自动识别系统。现在国内在这方面的技术发展也在日益崛起,例如,科拓、优位停车、立方、高德威等公司研发的一些车牌识别智能系统。1.3中国车牌的特征车牌被视为车辆的身份证,它具有唯一性,是鉴别车辆身份信息的关键之处,然而,弄清车牌的特征是研究车牌识别的基础。相对于外国的车牌,中国的车牌是由汉字、字母、数字组成,并且有各种各样的种类,这是由于我国的各地区及其传统文化
20、共同决定的。依据我国由公安部颁发的中华人民共和国机动车号牌5可知,我国车牌的特征有独特字符特征、颜色特征、几何特征等如下:字符组成:我国车牌具有独特字符特征,它分别由汉字、英文字母、阿拉伯数字构成的七个字符的车牌号。其中,第一个是汉字:代表该车户口所在省的简称,第二个是英文:代表该车所在地的地市一级代码,后五位是除了I和O的大写英文字母或阿拉伯数字所排列组成的。而且我国的车牌的中还存在一个小圆点状的间隔符,颜色特征和几何特征。常见车牌规格,如表1.1所示。表1.1常见的车牌规格序号:车辆类型车牌尺寸i颜色组合1i小型汽车440mm*140mm丨蓝底白字2i大型汽车440mm*140mm1黄底黑
21、字3i军用汽车440mm*140mm丨白底黑字4i外籍驻华汽车440mm*140mm丨黑底白字以上介绍为我国车牌的字符、颜色以及几何的主要特征,常见车牌的标准车牌样本,如图1.2所示:B)max-min600 xG_+360。,(ifmax=R,andGB)max-min60 xB_+120,(ifmax=G)max-min2.8)600 xR_G+240。,(ifmax=B)max-minH的值通常规范化到位于Oo到360o之间,而H=0o时,用max二min(就是灰色)的时候而不是留下H未定义。HSV颜色的S和V的值定义如下:0,(ifmax=0)S=max-min、max=1-En,(o
22、therwise)max2.9)V=max(2.10)在系统对蓝底白字车牌识别中,将采集到的图像进行颜色空间的转换,RGB模型与HSV模型的三个分量是相互对应的。根据它们相互之间的距离,和相似性进行运算比较。选择一个合适的色度数值,作为车牌底色和背景图像的分离点阈值。按照这样的方式,可以不用改变图像的颜色,就可以将车牌区域以外的部分设置为背景黑色,由此可以准确获取车牌的左右边界。基于彩色图像定位车牌法将彩色车牌图像直接进行分析和判断定位出车牌号的左右边界,其基本原理是将RGB彩色图像转换到HSV颜色空间上,简称为“蓝色相似法”。RGB彩色图像有R(红色)、G(绿色)、B(蓝色)的三个颜色分量坐
23、标,而且均易收到光照的不均匀和噪声等等因素的限制和干扰,对在提取到图像的颜色特征、频率特征的时候,易造成图像信息的丢失或削弱了图像本身的质量,导致在进行字符分割和字符识别达不到系统的性能标准。而HSV颜色空间模型也有色度(H)、饱和度(S)和明度(V)的三个分量坐标,每个分量上都包含着不同的颜色特点,收光线信号影响的分量是V坐标,假如对V分量的信息进行舍弃,只采集H和S坐标的颜色信息,就可以排除光照条件所带来的干扰,从而提高了系统识别的性能指标。在定位车牌左右边界的过程中,先进行从左到右的扫描,读取RGB图像的三个颜色分量的信息特征,然后进行RGB和HSV的颜色空间转换,接着设置H、S、V三个
24、分量的阀值,对图像进行分析与判断,找出蓝色相似的区域,最后进行左右边界的判断,从而获取车牌的左右边界线。车牌区域的识别定位经过车牌图像水平和垂直校正后,车牌区域通常会存在边框和铆钉,所以想要达到最佳的识别效果,还需要对车牌加以准确的定位。本文采用灰度跳变定位法对校正后的车牌图像区域进行精确定位。该方法的基本原理是对二值化车牌图像采取逐行扫描的方法,通过统计每一行黑、白像素点的跳变次数29,结合车牌的字符区域跳变频繁的特性,从而确定字符的精确区域。并能够达到消除车牌上的边框、铆钉等引起的干扰的目的。根据我国的车牌特征,一般车牌含有七个字符,然而车牌区域的每一行每一个字符将发生两次以上的跳变,所以
25、我们不妨把字符跳变次数最少的阀值设置为14,假设经过扫描统计得到跳变的次数大于14次的行设置为车牌区域,反之,则判断为非车牌区域,所以就能够准确地找出车牌图像中字符区域的上下边界30。再通过RGB-HSV颜色转换,识别出车牌区域的左边边界X-left和右边边界X-right,即可获取车牌区域的准确边界。图2.7车牌区域的识别定位考虑到本文的设计方案是基于STM32的车牌识别的研究,所以在保证定位成功率的前提下,减少图像的信息量,提高图像的处理速度,本文是以二值化图像为定位图像。本设计采用二值化跳变法和RGB-HSV颜色转换,分析并判断出车牌区域的精确定位。通过定位过程中的图像和原图进行比较分析
26、,造成车牌定位错误的主要原因是车身某个区域与车牌区域有一定的相似度,而造成一定程度的干扰,是由于预处理阶段还不够完善,还要进一步的深入研究和改进。字符分割经过了解以字符串为单位的识别方法均没有达到较好的识别效果,而以单个字符为单位的算法是准确率较高的字符识别方法。字符分割的效果对后续的单个字符图像进行特征提取环节起着至关重要的决定性作用。然后把分割出来的单个字符进行归一化处理,得到尺寸大小统一的字符图像,为后续的字符识别环节做好准备。在精确定位出车牌字符区域后,我们对车牌字符进行分割能够获得一个个独立的字符。本文采用的是垂直投影分割法,它的基本思想是向二值化车牌图像的垂直方向上投影,以便获取各
27、个字符的左边边界L和右边边界R。首先从左到右依次对车牌图像每列在垂直方向上的黑色像素(或白色像素)的数目加以记录统计,能够得到车牌字符的垂直投影图,如图2.20所示,由图可知,车牌字符的垂直投影图存在不止一个波峰和波谷,波峰处所代表的是一个字符所在的位置,而波谷处所代表的是一个字符的左右边界。这是因为字符所在处的黑色像素点(或白色像素点)比较密集,相反两个相邻字符的中间位置的黑色像素点(或白色像素点)则较为稀疏。对于大部分的字符,采用该方法可以得到比较准确的字符边界,但是对于一些比较特殊的字符如“陕”、“泸”、“川”、“渝”、M”等,容易将其误分割,此时则需要考虑到字符间隔、字符宽度、车牌由7
28、个字符组成以及汉字、字母、数字在车牌中的位置等先验知识,加以进一步分析,目的就是克服特殊字符所引起的误分割问题。字符的归一化在字符识别之前需要对其进行归一化,将原来的字符高度和宽度,与系统的要求作比较,得出要变换的系数,然后根据得到的系数按照插值的方法映射到原图像中,从而将字符统一到同一尺寸,便于系统对每个字符进行相应的特征提取,以提高识别率。对车牌进行字符分割并归一化的结果。模板匹配算法经过字符分割和归一化后,接着进行车牌识别系统的最后一个核心环节字符识别,字符识别的准确性决定着整个系统的识别率和识别速度,因此在这方面的理论研究也非常的成熟,例如字符统计识别,字符结构识别,基于神经网络的字符
29、识别和字符模板匹配识别等等算法。在拍摄图像的过程中,常常由于外部环境的复杂多变,导致难以找到一幅完整的、有代表性的原始图像进行字符的统计分析,因此该理论算法不适用于这种情况下的字符识别。字符结构识别算法是基于字符的完整性、清晰的基础上完成的,但是由于在采集车牌图像的时候,也容易受到外部条件的限制和干扰,造成字符的断裂、缺失和变形等等。因此在实际的应用中主要是后面两种理论算法。基于神经网络的字符识别拥有很强的容错性、分类性、并行处理和自我学习能力等等,对于图像信息复杂、背景模糊不清的情况下具有很明显的优势。但是为了保证识别系统的准确率,需要大量的样本进行训练识别,并通过学习改进自身的统计性能,神
30、经网络通过这些外部环境的学习,将这些特征统计作为经验值记忆。模板匹配的字符识别的过程中,其实现简单,运算简便,速率较快;对比较规整的字符图像中的缺损、污迹干扰有较强的适应性,对于提高字符识别率有很大的优势,且应用广泛。综合考虑,本设计选用基于字符模板匹配的算法进行字符识别。其基本思想是:首先需对待识别字符进行二值化处理,并将其尺寸大小与模板作比较,进行归一化处理;然后将待识别字符与模板库进行逐一匹配;最后输出匹配相似度最大的字符。其字符识别流程图如图4所示:图4字符识别流程图其字符模板匹配效果如图2.4所示:图2.4字符模板匹配第3章系统硬件设计3.1系统的整体设计本设计的是基于STM32的车
31、牌识别系统,能够实现对实物车辆的蓝底白字车牌进行采集识别,并在TFT显示屏和PC端上显示识别的车牌号。由OV767O摄像头模块、STM32F103最小系统、TFT显示屏模块和串口模块组成。图3.1整体电路原理图整个系统由5V电源供电,在稳定的工作状态下,图像通过OV7670摄像头进行图像数据采集,采集的图像大小为320*240像素,像素格式为RGB565,并TFT显示屏可以实时显示OV7670摄像头所采集到的RGB图像;然后STM32单片机读取OV7670摄像头采集到的图像数据,并将图像进行二值化处理、识别车牌区域、字符分割、归一化、字符匹配等过程;最后把识别出来的车牌号显示于TFT显示屏上。
32、3.2系统模块设计处理器的选择本设计处理器采用的是设计灵活、功能强大的ARMCortex-M3内核,32位超前的体系结构的嵌入式微控制器芯片STM32F103RBT6,如图3.2所示,主要是考虑到其以下主要优点:F吕2了PB22SPCD8PCJ3PC210FCH12VCC3J9FM2LPBQ26PB10西VCC3J32STEZFLOJRBT*VCC3.5J42PBSMBooro52PCL150PAIS舶PA144S.vg46PA13:45PA121卫HML143PAIDJ41PAS:37PCS跖PEL535PBL4弭PBLS:33PBL2PC332RESET?VEHTPCLBANTPCIDSC
33、IZPCIlSnSCPDttnSCINPDl-OSCOUTnrsttPCQADC10PCL.-ADC1LPCJADCIZPCADCUVSSAVDD孔PAWWKUPADCQTIM2_CHLETRTIM二CHITIMLETRPCIOUTXSDIO-DZPAt-ADCL.Ta2_CH2!tTILiS_CH2P.-2厉斗PC5/ADC15PBOADCS-TIMj_CH3TIMS.CmNPBL/AM9-mB_CH4TBfS_CH3NPBlBOOTlPBLOI2C2_SCLiU3_TXPB11班匸沁亘远駄VSEVDDRVDDVfigPEPTTM匕CTW,SDIO_D5PBSTIKi4CH3喈DIolMBO
34、OTOPBJrCL&DA-TM.Cffi:PE6I2CL_SCL!Tn4_CHlPBS*rCl_SB.SPlJ.MOSirS3_SDpb屮misT-sPB_nsoPB3-JTDO.!5PI3_SCK1253_CKPD-TINK_ETRU5_RX-SDIO_CMDPCiZSTXSDld.CKPCLTJ4RX-SDIOD3PAbJTDMPI3_K卑血LWEPAH/JTCKSWCLKVDDVSEPALSmiSSTOIOPA12CAN_TXPSBDPTlM_ErLPAL1CAN3,USBDNrTMl_CH4PAlQULRXTnil.CHJPA?IDS11132TSCfc104.i2D_D百DALCDD
35、J2LCDD14图4.4TFTLCD显示屏电路图像采集电路设计摄像头采集到清晰有效的图像是系统识别处理的第一步,采集到的图像质量决定着识别的正确率。经过与其它类型的摄像头对比,OV767O在价格上、性能上、功耗上都具有很大的优势,因此,本设计选用OV7670进行图像的采集。OV7670是OV(OmniVision)公司生产的一款1/6寸的CMOSVGA图像传感器,体积小,工作电压低,提高单片VGA摄像头和影像处理器的所有功能。通过主控器对SCCB总线的控制,可以得到整帧、子采样、取窗口等方式的各种分辨率8位影像数据;该产品的VGA图像最快达到30帧/秒;可以控制图像质量、数据格式、和传输方式等
36、;支持自动曝光控制、自动增益控制、自动白平衡等功能;还支持色饱和度、色相、伽马、锐度等设置。因为OV7670的像素时钟(PLCK)最高可达到24MHZ,用STM32F103的I/O口直接进行读取时非常困难的,也十分占耗CPU,所以本设计并不采取直接读取来自OV7670的数据,而是通过FIFO读取。AVO口DOVDDDVDDAGNDClIaapdAl104C210400131FlC3DTDCl104-用OV1SIOOSIOCXCLKVSWCPCLKHREFBlE2PWDlSTROBEC2KTVi4eF2VKKF1VKEF2RESET01234507DDDDOOODA2QVSDAOVSCLE3OV
37、XCLKEHOV匸ElOVPCLJ2QVHREFB4OVDOA4OVDIB5OVD2ASOV03FSOV3Eov4F4OVD6E4ovD7图3.7图像采集电路第4章系统软件设计STM32开发环境的介绍Keil是美国KeilSoftware公司推出的针对各类单片机和ARM结构嵌入式的微处理器C语言软件开发系统,C语言在功能上、结构上、可读性、可维护性上都具有明显的优势。Keil提供了包括C编译器、宏汇器、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境(口Vision)将这些功能组合在一起。Keil和Dos的集成开发环境(IDE)可以共同完成编辑、编译、连接、调试
38、、仿真等整个开发流程。开发者可以选用IDE或其他编辑器编辑C或汇编源文件。然后由编辑器编译生成目标文件(.obj),接着目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.abs),最后abs文件由OH51转换成标准的hex文件,以供调试器dscope51或tscope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。相比较于其他的ARM嵌入式开发环境,Keil开发平台具有目标代码效率高、汇编代码紧凑、操作便捷的特点,并且在开发大型软件时更能体现高级语言的优势,所以选择合适的开发环境可以加快开发进度,
39、节省开发成本。STM32的ARMCortex的软件架构介绍STM32是基于ARMCortex内核的嵌入式微控制器,而其ARMCortex微控制器软件接口标准(CortexMicrocontrollerSoftwareInterface,简称CMSIS)是MCortex处理器,是和芯片生产商共同提出的一套标准的硬件抽象层。CMSIS一共有3个基本功能层,分别为核内外设访问层、中间件访问层、外设访问层;CMSIS层在整个系统中处于中间层,有着上传下达的重要枢纽地位,向上提供实时操作系统用户程序调用的函数接口,向下负责与内核、各个外设直接连接。使用CMSIS,给处理器和外设之间提供一个简单、一致的软
40、件接口,便于开发者编程开发与应用。车牌识别系统的总体设计车牌号是一辆汽车独一无二的“身份”标识,系统经过检测路面的车辆并自动分析提取车牌照信息,进行图像处理、模式匹配等识别过程,从而得到汽车唯一车牌号码,因此,对车牌号的识别技术可以作为辨别一辆汽车的最为有效的方法。车牌识别系统由图像采集、二值化分析、识别车牌区域、字符分割、归一化、字符匹配的六个部分组成,如图4.3车牌识别流程图所示。图4.3.1车牌识别工作流程图本设计是基于STM32的车牌识别系统,能够实现对蓝底白字车牌进行识别,其系统的主程序流程图,如图4.3.2所示。当系统开机运行后,首先STM32、TFT显示屏、0V7670摄像头、定
41、时器进行初始化;然后通过OV7670摄像头采集图像;接着STM32单片机读取摄像头采集到图像数据,并进行纵向跳变点和蓝色区域的分析,从而获取车牌上下、左右边界;再然后对车牌区域进行二值化处理,和横向跳变点的分析,进而定位出车牌区域的准确边界;再接着对字符进行分割和归一化;最后对字符进行模式识别并在TFT上显示识别结果。图4.3.2车牌识别主程序流程图4.3.1图像采集图像通过OV767O摄像头进行数据采集,采集的图像大小为320*240像素,像素格式为RGB565。每个像素由两个字节组成,第一个字节的高五位是R,第一个字节的低三位和第二个字节的高三位组成G,第二个字节的低五位是B。OV7670
42、摄像头模块自带了一个FIFO芯片,用于暂存图像,可以高速获取图像数据,减轻了CPU的负担。所以,本文采取通过FIFO的方式来读取OV7670的数据。图像采集过程的主要函数如下:0V7670_Gpio_Init();/OV7670引脚初始化Data_Image_Capture();/图像采集函数4.3.2二值化分析一般采取的方法是选择一个合适的阈值,把原来多个灰度值的彩色图像变换成能够呈现出图像局部特征的黑白二值化图像。二值化是图像处理中极为重要的一个环节,图像经过二值化处理后,我们就会得到更为简单明了、图像信息量更少的图像,而且把我们需要的那一部分信息突显出来了,把我们不关心的图像部分给抹去了
43、,进而大大提高了图像处理的效率。OV7670摄像头在采集数据的过程中,对图像中的每个像素进行二值化处理,即设定R、G、B的阈值。通过二值化处理,将像素值分为全黑0 x0000和全白0 xffff两种。同时通过程序分析出每行的跳变点。分析跳变点的目的是识别出车牌区域。4.3.3识别车牌区域车牌定位的工作对最后能不能成功地识别出来车牌号起着举足轻重的作用,也正因为这样国内外的许多这方面的专家很早就开始了对这一问题的关注。并且,他们都已经提出了许多各具特色的解决方案和算法。经过查阅大量的资料,目前在解决车牌定位这方面的技术大概可分为两种。第一种是在二值化后的黑白图像上做一系列的处理。第二种利用颜色空
44、间距离和相似度进行车牌的底色的颜色分割,基于边缘颜色对来对车牌图像进行提取和定位10。本文通过二值化分析出各行的跳变点,车牌区域处由于字符,导致跳变点明显较多,约大于15个,通过跳变点的分析和判断,即可识别出车牌区域位置。如下图中左侧红色标记点,即为各行的跳变点数目。本系统程序中设定跳变点大于15个,在连续行存在多个跳变点大于15的位置处,将起始位置设定为车牌区域的上边边界,结束位置设定为车牌区域的下边边界。再通过RGB-HSV颜色转换,识别出车牌区域的左边边界和右边边界。这样就可以获取车区域的准确边界。主要函数如下:voidChangePoint_Show_240();/240方向跳变点显示
45、240方向跳变点显示函数首先先建立参考线,纵方向划三条绿色的线,分别是在横坐标为10、20、30处划线,目的是为了以后画点使用。如果这一行的跳变点是10个就在这条线画一个红点。划绿线的程序如下:LCD_DrawPoint(10,a,0 x635);/10LCD_DrawPoint(20,a,0 x635);/20LCD_DrawPoint(30,a,0 x635);/30240方向跳变点显示函数之后执行240跳变点分析函数,主要是通过这个函数分析出车牌区域的上边界和下边界。首先进行240方向上的扫描,通过跳变点阈值的分析获取车牌的上下限。再根据上下限横向画两条长的蓝色的线,标识车牌区域。其函数
46、如下:voidChangePoint_Analysis_240()/240跳变点分析4.3.4字符分割处理过程中,获取各个字符的左边边界kk和右边边界k,若分割出来的字符数为8,则分割比较准确。如下图所示,竖向蓝线为各个字符的边界标记。字符分割,为下一步字符匹配准备总要参数。4.3.5字符匹配分割后,进行归一化处理。再一个一个地对字符进行匹配。字符模板通过取模软件先提取出,存放于程序中,其大小为24*50的单一像素。匹配后,将相似性最大值的对应字符作为输出结果,并予以显示。车牌识别过程中的部分主要数组及函数如下:Stm32_Clock_Init(16);/初始化时钟Data_LCD_Color
47、Change();/车牌测定MoShiShiPie_All(u8begin,u8end)/字符匹配,模式识别,选择性匹配第5章系统测试本系统是以统以STM32F103RBT6单片机为主控,它的内核最高工作频率为72MHZ,在存储器的0等待周期访问时可达1.25DMips/MHZ,0V7670摄像头为30万像素。在系统开机的情况下,摄像头对准测试车牌,通过显示屏可以实时看到摄像头所采集到的图像,选择合适的角度,使车牌信息完全在蓝色边框区域内,系统会自动识别,并对其二值化、字符分割、模式匹配等,识别结果一栏会显示识别出来的车牌号。其车牌识别结果如表5.1所示:表5.113张车牌识别结果车牌号识别结
48、果识别时间错误原因桂DZX12110s桂D886999s皖A378J3X12s汉字识别错误皖AL203L彳13s冀AF570AX11s定位失败冀AMX081X14s字母识别错误渝F20F19X15s数字识别错误粤GQ7665X13s分割错误晋FC9325彳12s晋FZ063210s渝D52160X15s汉字识别错误晋F8995710s粤FQK8838s在实验中对13张进行测试,其中识别正确为7张,准确率为54%;汉字识别错误为2张,误识率为15%;定位失败为1张,误识率为7.8%;数字和字母识别错误各为1张,误识率各为7.8%;分割错误为1张,误识率为7.8%;其识别率如图5.1所示:数字识别
49、错溟壬确率宇母识别错误分劃错误图5.1车牌识别率实验分析:字符识别错误:可能是因为字符出现了变形、断裂,和字符的模糊或者分割错误等原因造成的。可以通过进一步完善字符模板库,进行纠正;改进识别算法,与神经网络字符识别相结合,对信息复杂、背景模糊和推理不明确的图像进一步提取特征统计。定位失败:可能在拍摄图像的过程中,受到光线、车牌的晃动等复杂多变的外部因素所干扰。由此可以改进摄像设备、提高图像的质量和完善图像的校正、灰度化的预处理等等。分割错误:主要由于拍摄角度、杂质等因素影响图像的处理,导致在分割时出现字符粘连、缺失,或者将单个字符进行分割两次。可以改进识别分割方式,图像采集的规范,和增加腐蚀、
50、膨胀、滤波等处理。1.成功识别图例:图5.2成功识别图例定位失败图例:IFC93251分割错误图例:图5.3定位失败图例图5.4分割错误图例字符识别错误图例:Q7665I图5.5字符识别错误图例第6章总结与展望6.1总结本设计选用ARMCortex内核的STM32F103RBT作为主控制器对车牌识别进行学习与研究,采用TFTLCD显示屏和0V7670摄像头模块,完成了一套简易的基于STM32的车牌识别系统设计,相比于基于FPGA或DSP为平台的系统相比,本系统电路简单、成本低、功耗少。本设计的硬件电路包括了最小系统、OV7670摄像头、TFTLCD显示屏等其他辅助电路。在焊接完成后,经过系统测试,可以地实现了预期的功能。但本设计还存在很多不足之处,距离实际应用的要求仍有很大的距离。在复杂、模糊的背景中,不能有效地将目标图像与背景进行分离;在图像的预处理中,使用单一、简单的算法,进而无法达到预期的效果,导致整个系统的识别性能下降;在程序中,减少代码冗余,优化读取,提高运算速度。在以后的学习中,应汲取掌握更多的识别技术和方法,将多种方法有机地结合,从而有效地提高系统的识别能力。6.2展望本设计基于STM32的车牌识别系统,经过实际的调试与测试,成功地完成相应的功能要求。但是还存在很多的不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新型核反应堆研究-洞察分析
- 微生物降解塑料技术-洞察分析
- 虚拟现实行业投资分析-洞察分析
- 系统可靠性建模方法-洞察分析
- 《家用电器》课件
- 《有教无类》课件
- 渔业生态环境保护国际合作-洞察分析
- 信息传播与虚假识别技术分析-洞察分析
- 水电安装技术创新趋势-洞察分析
- 用户反馈在服务质量中的应用-洞察分析
- 教科版小学二年级上册科学期末测试卷附参考答案(满分必刷)
- 【温病学】叶天士《温热论》
- 公路工程有关费率
- 形势与政策智慧树知到期末考试答案2024年
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- 2024年中国人保招聘笔试参考题库附带答案详解
- YYT 1849-2022 重组胶原蛋白
- 初中家庭教育课件
- 安徽省合肥市琥珀中学2023-2024学年八年级上学期期中物理试卷
- 2024年江苏省普通高中学业水平测试
- 期末《电子商务概论》机考试题与答案(国开第四套)
评论
0/150
提交评论