基于单片机的车牌识别设计_第1页
基于单片机的车牌识别设计_第2页
基于单片机的车牌识别设计_第3页
基于单片机的车牌识别设计_第4页
基于单片机的车牌识别设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的车牌识别设计基于单片机的车牌识别设计全文共26页,当前为第1页。基于单片机的车牌识别设计全文共26页,当前为第1页。基于单片机的车牌识别设计LicensePlateRecongnitionTechnoogyBasedOnMCU中文摘要随着整个世界的发展速度,科学技术的迅速提高以及人民生活的不断发展,大批量来自世界各地的机动车越来越出现在人们的视野当中,机动车的出现使得整个世界的交通带来了便利,但同时道路的拥挤,城市的污染也随之加剧,在中国乃至世界各国来说,常常出现拥挤,车祸以及各种各样的违法行为。因此,车辆的识别对于我们来说是非常重要的,可以有效地追中肇事逃逸的车辆,闯红灯以及超速驾驶等行为。本设计是一款基于STM32单片机的车牌识别系统,我们可以通过系统的识别,可以在远程追中每辆违法小车的车牌号码。在整个设计中,运用了TFT液晶显示屏来显示当前信息,OV7670摄像头模块进行图像采集,最后,通过核心处理器上添加一些硬件外设,驱动程序和应用程序,来及时的检测出当前小车的车牌号码。关键词:STM32单片机TFT液晶显示屏OV7670摄像头模块基于单片机的车牌识别设计全文共26页,当前为第2页。基于单片机的车牌识别设计全文共26页,当前为第2页。AbstractWiththedevelopmentspeedofthewholeworld,therapidimprovementofscienceandtechnologyandthecontinuousdevelopmentofpeople'slife,alargenumberofmotorvehiclesfromallovertheworldaremoreandmoreappearinginpeople'svision.Theappearanceofmotorvehicleshasbroughtconveniencetothetrafficofthewholeworld,butatthesametime,thecongestionofroadsandthepollutionofcitiesarealsoincreasing.InChinaandeveninothercountriesaroundtheworld,itisoftenTherearecrowding,caraccidentsandallkindsofillegalactivities.Therefore,vehicleidentificationisveryimportantforus.Itcaneffectivelycatchupwiththehitandrunvehicles,runtheredlightandoverspeeddriving.ThisdesignisalicenseplaterecognitionsystembasedonSTM32single-chipmicrocomputer.Wecanrecognizethelicenseplatenumberofeveryillegalcarbythesystem.Inthewholedesign,TFTLCDisusedtodisplaythecurrentinformation.Ov7670cameramoduleisusedforimageacquisition.Finally,somehardwareperipherals,driversandapplicationsareaddedtothecoreprocessortodetectthelicenseplatenumberofthecurrentcarintime.Keywords:STM32singlechipmicrocomputerLCDcameramodule基于单片机的车牌识别设计全文共26页,当前为第3页。基于单片机的车牌识别设计全文共26页,当前为第3页。目录第一章前言 基于单片机的车牌识别设计全文共26页,当前为第5页。基于单片机的车牌识别设计全文共26页,当前为第5页。前言1.1课题的意义与目的随着科技环境的不断提高,旧时代的传统工具会不断地被新时代的科技工具取代,由于近些年来车辆的不断增加,使得老款的停车系统,汽车检测系统等等不能时时监督大量汽车的运行。从而,智能交通系统不断地壮大,作为智能交通系统比较重要的一项——车牌识别系统尤为重要。因为人们对控制系统的要求不断地提高,因而智能交通系统广泛的运用于人们的生活当中。过去人们常用的滴卡式进入地下车库,如今出现车牌识别使住户更加有效快捷的进入车库,这样就能大大减少住户车辆大面积塞车的后果。当然,车牌识别也运用于高速公路测速、高速公路收费、大型商场的出入停车时间以及停车费的计算等等。此选课的目的是为了解决我们国家现在出现的上下班高峰期出现的大规模的堵塞,防止一些不法分子的肇事逃逸行为,个别不遵守交通规则人员的闯红灯、随意变线等违法行为。由于车牌号码是一辆车最为有标志性意义的符号,所以车牌识别对于我们国家机动车管理具有重大的帮助,大大提高了交通系统的管理制度以及水平,早日帮助机动车管理的规范法。1.2课题的主要内容与要求根据所设计的系统整体结构,我们需要采购STM32单片机、TFT液晶显示屏以及OV7060摄像头模块。此课题主要让我们能熟悉掌握摄像头模块的运用,运用图像采集,学习二值化算法以及字符切割。要求必须用最简洁、最合理化的价格来完成这次课题。1.3课题的发展现状与未来根据整个世界的发展动态,我们可以看出早在许多年前,外国就对机器人发展就具有较大的优势,他们起步研究较早,而且投入了大量的金钱去培养科技人员以及科技设备,所以,在研究机器人方面,我们远远落后于外国。国外展开了对外情报、机器人视觉、自动移动机器人导航和其他系统相关技术的研究。然而在国内,因为一些不可抗拒因素,我们对智能机器人的研究比较慢,受研究智能机器人的教育也比较慢。尽管如此,我们还是有大量的优秀人员参与智能机器人的开发。清华大学是我国最早对智能交通系统深入研究的科研机构。当我们展望未来,我们可以看出中国的自动化技术不断地发展,越来越多的智能小车会不断基于单片机的车牌识别设计全文共26页,当前为第6页。地出现与生成,这就对它的智能化、安全性具有较高的要求。我相信通过我国越来越注重科技研究,我们在此方面的技术会越来越完善。基于单片机的车牌识别设计全文共26页,当前为第6页。1.4研究方法、步骤和措施(1)根据所设计方案的要求,我们需要对整个车牌识别系统的软件部分和硬件部分进行分析。例如单片机的挑选,摄像头的采购等等。(2)根据系统的基本结构和特点,对整体系统的硬件框架进行设计与安装,其中包括液晶显示电路设计,OV7670摄像头的电路设计等。然后根据硬件的电路图,为硬件设计安装的电路板规格,为车牌识别系统软件提供完美的硬件支持。(3)选择符合单片机需求的系统软件,并且在运用此软件的基础上为整个系统撰写代码。根据所设计的系统结构,分别需要撰写系统软件主程序、TFT液晶显示子程序以及OV7670子程序,对各个代码进行调试,然后运用KELL5对整个代码进行整合,设计出简洁、工整的代码部分,并且达到我们预想的效果。(4)将整个软件部分和硬件部分结合起来,将写好的软件烧进单片机,然后对整个车牌识别系统进行测试,如有错误,检查硬件部分的安装以及软件部分的代码,进一步提高稳定性以及可靠性。(5)完成作品,进行包装。基于单片机的车牌识别设计全文共26页,当前为第7页。基于单片机的车牌识别设计全文共26页,当前为第7页。方案设计2.1课题的意义与目的系统设计主要由硬件部分与软件部分组成,首先先将硬件系统组装起来,此课题所选择STM32作为整个系统的核心处理器,再选购传感器以及电子元器件,当所有器件准备完毕,确保所有元器件的正确与畅通,然后通过设计的电路图,将这些硬件按照设计图焊接起来,组成一个单片机系统。硬件部分完成之后,进行软件方面的撰写,这里采用KELL4软件进行编程。整个设计的系统,分别由摄像部分、显示部分以及单片机处理部分组成。我们选用TFT液晶显示屏来完成显示部分,TFT液晶显示屏是薄膜晶体管型液晶显示屏,通过相对应的引脚,将液晶显示器通过导线与STM32连接在一起,这种屏幕操作简单,单片机通过引脚直接控制显示内容。本设计的摄影部分有OV7670摄像头来实现车牌号码拾取。OV7670图像传感器具有体积小、工作电压低,可以提供单片VGA摄像和影像,通过SCCB总线进行控制,通过引脚即可被单片机控制,设定其图像质量、数据格式和传输方式,输出的图像高达30帧/秒,通过IIC输出给单片机。电源电路电源电路单片机单片机STM32F103TFT液晶显示屏TFT液晶显示屏OV7670摄像头复位电路复位电路图2.1系统原理图2.2设计思路整体的思路主要集中于摄像头的读取问题,利用所学习到的摄像头有关的知识,将摄像头的读取只要分成五个步骤(如图2.2)基于单片机的车牌识别设计全文共26页,当前为第8页。(1)读取汽车图:由于诸多外界因素的影响,当我们的摄像头在读取车牌的时候,很多时候可能因为光线影响和摄像机的曝光不同,可能产生车牌读取的对比度不足的弊端。例如细节分析不到位,车牌号码不够突出,车辆在高时速行驶所拍摄的图片产生变形、模糊等等问题,这些问题都会加大预处理图像的难度。基于单片机的车牌识别设计全文共26页,当前为第8页。(2)图片预处理:此操作是为了将所读取到的车的图像转化于车牌定位的二值化图像。(3)车牌定位:此操作是从预处理中所得到的图像中识别车牌的图像。(4)字符切割:此操作是将车牌号码通过矫正、二值化和字符切割,将车牌号码分割成组成车牌号码的每个单个字符。(5)字符识别:将分割出来的字符,进行预处理,然后分析处理,以文本形式的车牌号码提取出来。图2.2车牌号码识别流程图2.3检测原理本次设计最为重要的就是对车牌号码的识别以及读取,首先需要对读取的图像进行二值化的处理,让整体图片变成全黑或者全白,以便之后的操作,再将读取的图像转化成数组的形式才能进行识别匹配,用k与kk来对每个字符的大小进行提取,这里说拾取的图像分辨率为24*50,通过计算得出,一个字符需要150个字节来表示。接下来,利用取整取模的方式,将提取出来的字符与所建立好的字符库进行比较,把所建立的字符库用st1表示,所获取的字符数组用st2表示,一个字节、一个字节的相对应比较(图2.3所示),然后以文本的形式输出相似值最高的字符,通过这种检测,我们可以顺利的对车牌号码的正确识别。基于单片机的车牌识别设计全文共26页,当前为第9页。基于单片机的车牌识别设计全文共26页,当前为第9页。图2.3字符比较图基于单片机的车牌识别设计全文共26页,当前为第10页。基于单片机的车牌识别设计全文共26页,当前为第10页。第三章硬件电路设计3.1硬件原理图及设计图这次的整个硬件设计由以下5个部分通过导线焊接而成:(1)选用了STM32F103单片机作为核心处理器,此单片机具有足够多的硬件,可以为各个模块提供引脚,并且将各个模块的引脚与单片机的引脚相对应的连接起来,从而实现提供信息给各个模块以及从各个模块中接受信息,实现整体的功能控制。此外,此单片机还具有按键复位功能。(2)此次设计选用了TFT液晶显示屏来对车牌号码进行显示,将引脚RST、CS、RD、WR以及RS分别连接到单片机的PC8—PC12,将DB0—DB15分别连接到单片机的PB0—PB15,然后继续连接单片机的3.3V与GND。这个显示屏的特点是具有较高的亮度、对比度等,是一种有源矩阵液晶显示设备。(3)用OV7670摄像头来进行去车牌的读取与识别,首先将相对的引脚连接至单片机的3.3V与GND,然后将D0—D7连接至单片机的PA0—PA7,此摄像头可以比较便于将摄像头所读取的有效信息能都及时的传送给单片机进行处理。(4)选用AMD1117芯片作为降压模块,可以将提高的5V电压转化为3.3V电压,稳压电路由一个十欧的电阻以及两个10uf的电容所组成,输出3.3V的电压给与摄像头,液晶显示屏和单片机进行供电,从而驱动整个单片机系统的正常工作。(5)LED工作指示灯模块,可以通过灯光来显示单片机的工作。实际操作图如下:图3.1系统硬件原理图基于单片机的车牌识别设计全文共26页,当前为第11页。基于单片机的车牌识别设计全文共26页,当前为第11页。图3.2系统硬件实物图(背部)图3.3系统硬件实物图(正面)基于单片机的车牌识别设计全文共26页,当前为第12页。基于单片机的车牌识别设计全文共26页,当前为第12页。3.2电源电路本次所选用的单片机存在着一个电源电路(如图3.4),电源采用的是5V直流供电。此电源模块具有一个三角电源座子,用于连接电脑的USB接口。电源主要用于对整个单片机的开和关的控制。电源座子的2口引脚连接于GND,3口引脚仅仅作为固定的作用。此外,这个电源模块还具有一个六角的电源开关,电源开关的1号引脚直接用于电源的正极输出,除了1号引脚,3号、4号和6号也是作为电源的正极输出,其中,电源开关的3号引脚将与电源座子的1号引脚对应连接。电源开关的2号引脚以及5号引脚作为GND的引脚,其中在选择2号引脚作为GND引脚的时候,正极输出端只能选择电源开关的1号和3号引脚;在选择5号引脚作为GND引脚的时候,只能选择电源开关的2号和6号引脚作为输出端口的选择。这次所选择的单片机的传感器以及无线传输芯片的电压都在5V以内,因此,5V的电压足够供给。如需要12V或其他电压的传感器时,可以通过升压模块将5V电压升高至更好的电压,从而进行供电。图3.4单片机的电源电路图3.3STM32F103概述3.3.1STM32F103简单介绍本次设计所采用的单片机为STM32F103,这款单片机是一款功耗比较低、性能比较高的微控制器——中低端的32ARM,生产厂商为ST公司。STM32F103单片机可以用于控制各种外设以及传感器,将从传感器中得到的数据进行自行的处理与运行,并且提供相符合的操作,在整个系统中属于人体大脑的功能。但如今科技的发达,电脑的广泛使用,单片机只能称之为微小电路集成系统,其功能十分有限,只能进行简单的控制作用。当然,单片机也经常运用于我们的生活当中,我们日常生活所存在的电视、电机驱动、电冰箱、鼠标、医疗系统以及遥控器等等一些器械,里面都拥有一个或者多个单片机为它们进行控制。智能设备的发展也非常依赖单片机,多样化的传感器对单片机也提出了一定的要求,故此越来越多的高级的单片机成出现。相比于STM8单片机,STM32更适于当代大学生的学习,STM32所围绕的基于单片机的车牌识别设计全文共26页,当前为第13页。行业标准ARM®Cortex-M32位内核构建,并受益于与ARM处理器有关的开发工具和软件解决方案的完整生态产业环境。在如今的资料当中,STM32的查找资料比起STM8来说,更容易查询。STM8虽然小巧,但是该有的模块都有,串口、AD、IIC等。STM32可用模块会比STM8更多,同时,STM32还具有较高精准的内部时钟。STM32对于外部设备以及传感器的读取或者传送数据比较简单,只需要将外部设备或者传感器通过导线连接至单片机的TX或RX当中,并且通过相对应的编译器进行烧写代码即可使用。基于单片机的车牌识别设计全文共26页,当前为第13页。3.3.2STM32F103引脚概述单片机作为微型计算机比较重要的一部分,我们经常称之为单片小型计算机。单片机作为整套系统的核心处理器,用于与各种各样的传感器以及外部设备进行信息交流。近些年来,随着科技以及文化水平不断提高,人们对单片机的美观上、体积上有着越来越高的要求,科学家们慢慢设计出可以让一个引脚同时具有双功能甚至是多功能的,这时我们就能大大减少单片机的体积问题。根据从STM32F103的数据手册,我们可以清楚知道当一个产品能够正常的运行时,应该避免由于外部设备的电压低于Vss或者高于Vdd而向I/O引脚注入电流。本次设计运用了GPIOs(通用输入/输出)——可以接受或者发送高达正负8mA的信号,但是PC13、PC14以及PC15可接收或发射高达±3mA的信号。在输出模式下使用GPIOs,PC13至PC15时,速度不应超过2MHz,最大负载为30pF。Vdd或Vss上I/O引脚的电流总和不能超过绝对最大额定值Ivdd或Ivss。(如图3.5所示)图3.5电流特性本设计需要通关电焊的方式,通过导线将TFT液晶显示器以及OV7670摄像基于单片机的车牌识别设计全文共26页,当前为第14页。头与单片机连接起来,以下就是关于整个设计的相关引脚连接图:基于单片机的车牌识别设计全文共26页,当前为第14页。图3.6相关引脚连接图3.3.3STM32F103内部原理STM32单片机内部最为重要的为cup处理芯片——I/O口、中央处理器以及存储器。本次所选择的STM32F103单片机实际上就是增强版的STM32F101单片机,它具有高性能、低功耗、低成本、运行速度较快等特点,它的时钟频率较高,可以高达72MHz。能为所有设备提供12个ADC、3个16位定时器和1个PWM定时器以及3个USARTs、1个USB和1个CAN,这些所有的装置只能在2V—3.6V之内工作。STM32F103单片机是32位的MCU当中性能最强的,在控制以及通讯中具有较大的优势,在低功耗或者低电压的环境下非常适用。STM32没有内部晶振,以下是STM32的介绍图:图3.7STM32介绍图3.4OV7670摄像模块说明基于单片机的车牌识别设计全文共26页,当前为第15页。此次设计选用OV7670摄像头对车牌号码进行读取,OV7670是OV公司生产的一颗1/6寸的CMOSVGA图像传感器。OV7670摄像头功能模块由五大部分组成(如图3.8所示),分别是(1)数据输出;(2)A/D转换;(3)测试图案发生器;(4)656x488图像传感器整列;(5)SCCB通讯接口。基于单片机的车牌识别设计全文共26页,当前为第15页。图3.8OV7670功能模块此摄像头是一种低功率的摄像模块,被广泛的运用于各种摄像机器上,其体积较小,工作电压只需3V。该摄像头的VGA图像可以高达30帧/秒,对于此设备的用户来说,可以很好地控制它的传输方式、图像质量以及数据格式等等。关于摄像头的连接方式(如图3.9所以)也是非常简单的,我们只需将摄像头的VCC引脚连接单片机的3.3V引脚,GND连接单片机的GND,REST连接单片机的VCC,PWDN连接单片机的GND以及将剩下的众多引脚通过之前的硬件设计图与单片机的引脚相对应连接起来即可使用。图3.9摄像头模块设计电路基于单片机的车牌识别设计全文共26页,当前为第16页。3.5TFT液晶显示说明基于单片机的车牌识别设计全文共26页,当前为第16页。本次设计选用了TFT液晶屏来显示从摄像头读取的车牌号码。此液晶屏具有高亮光、高对比度、高层次感以及颜色鲜艳等特点,但是同时它的耗电量以及成本费用比较高。近些年来,电子产品的不断更新换代,TFT液晶屏也被大量的使用与其中,从而也成为了主流的显示器。它是一种工业的字符型液晶,每一个液晶像素点都是由集成在其后的薄膜晶体管进行驱动,其中利用了液晶的特性,通过不断地更变它的电压来控制区域显示,从而等到我们所需要的车牌号码数字。但是车牌号的组成不单单只有数字,还存在着符号、字母以及彩色图像,这时的液晶屏同时还可能满足这些需求。接下来就来介绍一下TFT液晶显示器的连接方式及引脚作用(如图3.10所示)图3.10TFT液晶显示器设计电路图由图我们可以看出,我们需要将BL引脚以及VDD引脚连接到3.3V的单片机引脚中,将GND连接至单片机的GND中,这样我们才能保证显示器的正常运行。RS引脚作为寄存器的选用,当我们选择选用高电平时,作为数据寄存器;当我们选用低电平时,则为指令寄存器。引脚WR的功能为写使能,引脚RD的功能为写使能,分别与单片机的C11和C10引脚相连接。D[15:0]为16双向数据线,与单片机所设置的B0-B15引脚相连接即可使用,如下是关于此单片机的几个重要的命令图:表一指令(读ID)基于单片机的车牌识别设计全文共26页,当前为第17页。基于单片机的车牌识别设计全文共26页,当前为第17页。表二指令(存储访问控制)表三指令(页地址设置)表四指令(列地址设置)表五指令(写GRAM)表六指令(读GRAM)3.6复位电路单片机的复位电路(如图3.11)主要功能就是为了使整个系统恢复到最开始的状态。此单片机的复位拥有好几种方式:基于单片机的车牌识别设计全文共26页,当前为第18页。上电复位:所谓的上电复位就是当系统掉电、上电以及系统从待机模式返回时,发生电源复位,电源复位能够复位除了备份区域寄存器之外的所有寄存器的状态。基于单片机的车牌识别设计全文共26页,当前为第18页。系统复位(能够复位除时钟控制寄存器CRS中的复位标志和备份区域中的寄存器之外的所有寄存器):当下面任意一个事件发生时,即可产生一个系统复位。NRST引脚上的低电平(外部复位);独立看门狗计数终止(IWDG复位);窗口看门狗计数终止(WWDG复位);软件复位;低功耗管理复位。备份区域复位:有两种方式可以产生备份区域复位:一种是当电池以及电源都掉电又重新上电产生的;另一种则是软件复位的时候设定备份区域控制寄存器中的对应位产生的。图3.11复位电路图基于单片机的车牌识别设计全文共26页,当前为第19页。基于单片机的车牌识别设计全文共26页,当前为第19页。第四章系统软件设计4.1系统软件主程序本次系统软件主程序选用KEIL4作为开发环境。首先连接好所有系统硬件部分,将各个硬件所编程的代码整合成系统软件主程序。整个系统开始正式运行时,开始对整个硬件的初始化,当初始化完成时,进入初始界面。整个初始化分别为:TFT液晶显示屏初始化、OV7670摄像头模块初始化、串口初始化、定时器初始化以及外部中断初始化。当一切准备就绪,单片机开始工作,对摄像头模块进行控制,摄像头模块带有视频FIFO以及源晶振,演示代码将摄像头设置为320*240RGB565格式输出,这样就可以完全用2.8寸的液晶显示屏所显示,对读取到的数据进行处理然后发送给TFT液晶显示屏进行显示,显示屏模块能够实时显示从摄像头中拍摄的内容。整个系统软件主程序如图4.1所示:返回开始液晶显示屏显示返回开始液晶显示屏显示是图像采集二进制分化是否采集信息液晶显示器模块初始化摄像头模块初始化识别车牌区域字符切割字符匹配是图像采集二进制分化是否采集信息液晶显示器模块初始化摄像头模块初始化识别车牌区域字符切割字符匹配图4.1系统软件主程序4.2摄像模块子程序首先对摄像头进行通电,进行摄像头进行初始化,OV7670摄像头开始工作。基于单片机的车牌识别设计全文共26页,当前为第20页。此次选用的摄像头是带FIFO芯片的。选用FIFO作为数据缓冲,便于我们采集数据。通过KEIL4开发环境编程代码,整个流程如下:基于单片机的车牌识别设计全文共26页,当前为第20页。首先要让OV7670摄像头往FIFO中写数据,将其分为五个步骤(如图4.2所示):1.OV7670摄像头同步接入单片机的外部中断,等待同步信号;2.复位FIFO的写指针;3.FIFO写使能的开启;4.等第二个同步信息;等待第一个同步信号5.禁止FIFO写使能。等待第一个同步信号激发写使能激发写使能复位写指针复位写指针等待第二个同步信息等待第二个同步信息关闭写使能关闭写使能图4.2往FIFO中写数据单片机读取FIFO中的数据,将其分为N多个步骤(如图4.3所示):复位FIFO的读指针;打开FIFO的读使能;3.给予FIFO读时钟;4.读取第一个像素高字节;5.再次给予FIFO读时钟;6.读取第一个像素低字节;7.再次给予FIFO读时钟;8.读取第二个像素高字节;以此类推,直到数据全部读取完毕即可结束。基于单片机的车牌识别设计全文共26页,当前为第21页。复位读指针基于单片机的车牌识别设计全文共26页,当前为第21页。复位读指针读取第一个像素的高字节给予时钟激活读使能读取第一个像素的高字节给予时钟激活读使能 .图4.3单片机从FIFO中读取数据根据以上两个步骤,可以很好地编程摄像头模块的子程序。4.3TFT液晶显示子程序当将液晶显示器所有东西完成好之后,开始液晶显示子程序的编程。首先将TFT液晶显示器通好电之后,对它进行初始化的设定,进行屏幕清零以及内部存储清零。初始化结束之后,液晶显示屏与STM32F103单片机进行双向通信,单片机可控制液晶显示器的亮度以及显示内容,将从摄像头中所读取的画面经过处理在液晶显示器中显示出来,从而完成对车牌号码的监控。此次所设计的初始化函数LCD_lint,开启了GPIO、FSMC以及AFIO时钟使能,对GPIO初始化,其函数为GPIO_lint以及对FSMC进行初始化,其函数为FSMC_NORSRAMInit()等设置。将RW、CS、RD、WR全部设置为推免输出。以下是整个TFT液晶显示器的子程序流程图(如图4.5所示):单片机对LCD写命令单片机对LCD写命令液晶显示器清屏液晶显示器的初始化显示车牌号码单片机对显示车牌号码单片机对LCD写数据图4.5液晶显示器子程序流程图基于单片机的车牌识别设计全文共26页,当前为第22页。基于单片机的车牌识别设计全文共26页,当前为第22页。第五章车牌识别技术车牌识别技术作为本次设计的重中之重,它是由五部分组成,分别为读取汽车图、图片预处理、车牌定位、字符切割、字符识别匹配。读取汽车图:摄像头首先读取的图片为整个汽车的图片而不是单单的车牌号码图,其图像大小为320*240像素,像素格式为RGB565,每个像素都有两个字节所组成。为了减小图像采集的存储空间,通常会将所采取到的彩色图像转化为灰色图像,同时还能大大提高了单片机对图像采集的速率。图片预处理:这里进行边缘化检测,经过二值化的处理,通过腐蚀图像,填充图像,形态学滤波等方式,可以慢慢得到相当接近于正确车牌号码的位置。车牌定位:通过上面的预处理步骤之后,可以发现车牌位置处有明显的长方形图案,根据这个图案从而可以得知车牌的准确位置,分别确定车牌行与列的起始以及终止位置,进一步的合并获取车牌的行列位置。字符切割:由于当今的车牌号码是有多个字符所组成,因此因先将字符进行切割。当识别知道车牌的具体位置之后,通过二值化对字符进行分割处理,一般来说,字符切割能切割成8个字符,这样的切割比较准确。当然,字符切割在整个车牌识别技术中属于承上启下的作用,为车牌字符匹配完成重要一步。字符识别匹配:通过字符切割之后,首先将字符进行归一化,然后再将各个字符一一进行字符匹配,字符识别准确的最重要的是先将模块库合理的建立起来,当今中国大部分的车牌号码都是由七个字符所组成的。一般来说,车牌号码的第一位都是中文汉字,其目的是为了区分各个省份,接下来都是用字母以及数字相应组成。此时我们需要建立十个阿拉伯数字0-9,26个英文字母A-Z,以及一些汉字所代表的省份,例如京、粤、鄂等,这样就把字符库建立好了。建立字符库需要对这些图片进行统一处理,通过神经网络算法,尽可能的多的采取汽车图像拾取车牌。输入样本,将各个单一的字符进行归一化,通过二值化分析各行的调点,由于字符的存在,出现较多的跳变点,大约有15个左右,得知车牌定位,在通过字符切割,归一化,匹配出相似值最大的相应字符作为最后的车牌号码给予显示出来。基于单片机的车牌识别设计全文共26页,当前为第23页。基于单片机的车牌识别设计全文共26页,当前为第23页。第六章系统调试由于本次设计运用了焊接的技术,所以进对其焊接进行调试。首先准备好电烙铁以及所有电焊材料,根本上述所设计好的硬件电路图,对整个系统进行焊接处理,利用万能板,将STM32单片机、TFT液晶显示器以及OV7670摄像头设计合适的位置。安放完成之后,首先先将单片机与液晶显示器通过用导线的方式以及引脚相对应的连接起来,将事先在KEIL4所编程好的代码烧进STM32单片机里面,这时打开电源,来观察TFT液晶显示器是否能正常的工作,显示出该显示的图像,若发现显示器能正常工作,我们即可进行下一步,若发现显示器不能正常工作,则要考虑是否显示器的3..3V与GND连接正确,如果正确,及排除,再观察剩余的引脚是否连接正确,确保整个电路不出现短路的现象,一步一步的找出问题所在,并且解决。接下来就是要检查OV7670摄像机的使用情况,与检查显示器的原理相同,第一步我们应该将OV7670显示器与单片机通过导线的方式相连接起来,因为我们已经确定了显示器的正常工作,所以我们可以直接将整个系统的代码烧录单片机当中,这时通过连接整体电源,对摄像头进行测试,如果按照正常情况来说,摄像头如果正常使用,我们可以在显示器中看到摄像头所读取的图像,若显示器中没有显示出正确的图像,由于显示器没有问题,这时我们需要对摄像头进行检测,首先对摄像头与单片机的引脚接线检查,重点检测摄像头的读写模块引脚,找到解决摄像头稳定性的方法去完成这次设计。基于单片机的车牌识别设计全文共26页,当前为第24页。基于单片机的车牌识别设计全文共26页,当前为第24页。第七章总结本次的设计论文主要说明了基于STM32单片机的车牌识别技术监测以及对整个设计系统的思路,还包括了各个硬件以及其处理芯片的相关资料和使用方法。从一开始做这个设计的时候,就已经有了很多自己的想法以及所希望达到的目的,无论是硬件方面的焊接还是软件方面的编程,所遇到的困难都不小,但最终都可以一一的破解它们。对于硬件方面,最为重要的就是单片机的使用,它可以说是作为整个系统设计的灵魂,要很全面的连接单片机的芯片、引脚功能等等,再接下来就是各个传感器的学习,翻查各大网页对传感器进行了解,浏览它们与本设计相关联的资料、传感器芯片的优缺点以及各个引脚的使用方法。对于任何设计,都需要耐心的去排查所出现的问题,并且想办法去解决它们,例如发现液晶显示器怎么都没有显示的画面以及背光的反应,通过仔细的排查,才发现原来单片机与显示器的某个引脚连接错误,我们从上述焊接的实际情况可以看出,当发现是焊接错误时,其实排查起

温馨提示

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

评论

0/150

提交评论