《电子信息工程 基于单片机的车牌识别设计.docx》由会员分享,可在线阅读,更多相关《电子信息工程 基于单片机的车牌识别设计.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科毕业设计(论文)本科毕业设计(论文)基于单片机的基于单片机的车牌识别车牌识别设计设计License Plate Recongnition Technoogy Based OnMCU院院(系)(系)计算机学院专专业业电子信息工程班班级级16 级电子三班学学号号16210420311学生姓名学生姓名洪华森指导教师指导教师艾广燚提交日期提交日期2020 年 4 月 22 日毕业设计(论文)原创性声明毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和
2、结果为本人独立完成,不包含他人已经发表或撰写的作品及成果。对本文的研究作出贡献的个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。毕业论文作者(签字):签字日期:年月日成绩评定成绩评定成绩项成绩项论文成绩论文成绩(百分制百分制)折合折合比例比例实得成绩(折合实得成绩(折合分分)指导教师成绩30%评阅教师成绩20%答辩成绩50%总评总评成绩成绩注注:毕业设计(论文)成绩:毕业设计(论文)成绩按按百分制评定。答辩百分制评定。答辩成绩不及格成绩不及格的的(评分(评分低于低于 60 分的)分的),则该毕业设计(则该毕业设计(论文论文)总评成绩为答辩总评成绩为答辩成绩。成
3、绩。中文摘要中文摘要随着整个世界的发展速度,科学技术的迅速提高以及人民生活的不断发展,大批量来自世界各地的机动车越来越出现在人们的视野当中,机动车的出现使得整个世界的交通带来了便利,但同时道路的拥挤,城市的污染也随之加剧,在中国乃至世界各国来说,常常出现拥挤,车祸以及各种各样的违法行为。因此,车辆的识别对于我们来说是非常重要的,可以有效地追中肇事逃逸的车辆,闯红灯以及超速驾驶等行为。本设计是一款基于 STM32 单片机的车牌识别系统,我们可以通过系统的识别,可以在远程追中每辆违法小车的车牌号码。在整个设计中,运用了 TFT 液晶显示屏来显示当前信息,OV7670 摄像头模块进行图像采集,最后,
4、通过核心处理器上添加一些硬件外设,驱动程序和应用程序,来及时的检测出当前小车的车牌号码。关键词关键词:STM32 单片机TFT 液晶显示屏OV7670 摄像头模块AbstractWith the development speed of the whole world,the rapidimprovement of science and technology and the continuous developmentof peoples life,a large number of motor vehicles from all over the worldare more and mor
5、e appearing in peoples vision.The appearance of motorvehicles has brought convenience to the traffic of the whole world,but atthe same time,the congestion of roads and the pollution of cities are alsoincreasing.In China and even in other countries around the world,it isoften There are crowding,car a
6、ccidents and all kinds of illegal activities.Therefore,vehicle identification is very important for us.It caneffectively catch up with the hit and run vehicles,run the red light andoverspeed driving.This design is a license plate recognition system basedon STM32 single-chip microcomputer.We can reco
7、gnize the license platenumber of every illegal car by the system.In the whole design,TFT LCDis used to display the current information.Ov7670 camera module is usedfor image acquisition.Finally,some hardware peripherals,drivers andapplications are added to the core processor to detect the license pla
8、tenumber of the current car in time.Keywords:STM32 single chip microcomputerLCDcameramodule目录目录第一章第一章 前言前言.错误!未定义书签。错误!未定义书签。1.1 课题的意义与目的.11.2 课题的主要内容与要求.错误!未定义书签。错误!未定义书签。1.31.3 课题的发展现状与未来.错误!未定义书签。错误!未定义书签。1.41.4 研究方法、步骤和措施.错误!未定义书签。错误!未定义书签。第二章第二章 方案设计方案设计.错误!未定义书签。错误!未定义书签。2.1 系统构成.错误!未定义书签。错误!未
9、定义书签。2.2 设计思路.42.3.3 检查原理.4第三章第三章 硬件电路设计硬件电路设计.63.1 硬件原理图及设计图.63.2 电源电路.83.3.3 STM32F103 概述.83.3.1 STM32F103 简单介绍.83.3.2 STM32F103 引脚概述.93.3.3 STM32F103 内部原理.103.4.4 OV7670 摄像头模块说明.103.5.5 TFT 液晶显示说明.123.6.6 复位电路.13第四章第四章 系统软件设计系统软件设计.15 54.1 系统软件主程序.154.2 摄像头模块子程序.154.3 TFT 液晶显示子程序.17第五章第五章 车牌识别技术车
10、牌识别技术.1 18 8第六章第六章 系统调试系统调试.1 19 9第七章第七章 项目总结项目总结.2 20 0参参 考考 文文 献献.2 21 1致谢致谢.2 22 2广东东软学院本科毕业设计(论文)1第一章第一章 前言前言1.11.1 课题的意义与目的课题的意义与目的随着科技环境的不断提高,旧时代的传统工具会不断地被新时代的科技工具取代,由于近些年来车辆的不断增加,使得老款的停车系统,汽车检测系统等等不能时时监督大量汽车的运行。从而,智能交通系统不断地壮大,作为智能交通系统比较重要的一项车牌识别系统尤为重要。因为人们对控制系统的要求不断地提高,因而智能交通系统广泛的运用于人们的生活当中。过
11、去人们常用的滴卡式进入地下车库,如今出现车牌识别使住户更加有效快捷的进入车库,这样就能大大减少住户车辆大面积塞车的后果。当然,车牌识别也运用于高速公路测速、高速公路收费、大型商场的出入停车时间以及停车费的计算等等。此选课的目的是为了解决我们国家现在出现的上下班高峰期出现的大规模的堵塞,防止一些不法分子的肇事逃逸行为,个别不遵守交通规则人员的闯红灯、随意变线等违法行为。由于车牌号码是一辆车最为有标志性意义的符号,所以车牌识别对于我们国家机动车管理具有重大的帮助,大大提高了交通系统的管理制度以及水平,早日帮助机动车管理的规范法。1.21.2 课题的主要内容与要求课题的主要内容与要求根据所设计的系统
12、整体结构,我们需要采购 STM32 单片机、TFT 液晶显示屏以及 OV7060 摄像头模块。此课题主要让我们能熟悉掌握摄像头模块的运用,运用图像采集,学习二值化算法以及字符切割。要求必须用最简洁、最合理化的价格来完成这次课题。1.31.3 课题的发展现状与未来课题的发展现状与未来根据整个世界的发展动态,我们可以看出早在许多年前,外国就对机器人发展就具有较大的优势,他们起步研究较早,而且投入了大量的金钱去培养科技人员以及科技设备,所以,在研究机器人方面,我们远远落后于外国。国外展开了对外情报、机器人视觉、自动移动机器人导航和其他系统相关技术的研究。然而在国内,因为一些不可抗拒因素,我们对智能机
13、器人的研究比较慢,受研究智能机器人的教育也比较慢。尽管如此,我们还是有大量的优秀人员参与智能机器人的开发。清华大学是我国最早对智能交通系统深入研究的科研机构。当我们展望未来,我们可以看出中国的自动化技术不断地发展,越来越多的智能小车会不断广东东软学院本科毕业设计(论文)2地出现与生成,这就对它的智能化、安全性具有较高的要求。我相信通过我国越来越注重科技研究,我们在此方面的技术会越来越完善。1.41.4 研究方法、步骤和措施研究方法、步骤和措施(1)根据所设计方案的要求,我们需要对整个车牌识别系统的软件部分和硬件部分进行分析。例如单片机的挑选,摄像头的采购等等。(2)根据系统的基本结构和特点,对
14、整体系统的硬件框架进行设计与安装,其中包括液晶显示电路设计,OV7670 摄像头的电路设计等。然后根据硬件的电路图,为硬件设计安装的电路板规格,为车牌识别系统软件提供完美的硬件支持。(3)选择符合单片机需求的系统软件,并且在运用此软件的基础上为整个系统撰写代码。根据所设计的系统结构,分别需要撰写系统软件主程序、TFT 液晶显示子程序以及 OV7670 子程序,对各个代码进行调试,然后运用 KELL5 对整个代码进行整合,设计出简洁、工整的代码部分,并且达到我们预想的效果。(4)将整个软件部分和硬件部分结合起来,将写好的软件烧进单片机,然后对整个车牌识别系统进行测试,如有错误,检查硬件部分的安装
15、以及软件部分的代码,进一步提高稳定性以及可靠性。(5)完成作品,进行包装。广东东软学院本科毕业设计(论文)3第二章第二章方案设计方案设计2.12.1 课题的意义与目的课题的意义与目的系统设计主要由硬件部分与软件部分组成,首先先将硬件系统组装起来,此课题所选择 STM32 作为整个系统的核心处理器,再选购传感器以及电子元器件,当所有器件准备完毕,确保所有元器件的正确与畅通,然后通过设计的电路图,将这些硬件按照设计图焊接起来,组成一个单片机系统。硬件部分完成之后,进行软件方面的撰写,这里采用 KELL4 软件进行编程。整个设计的系统,分别由摄像部分、显示部分以及单片机处理部分组成。我们选用 TFT
16、 液晶显示屏来完成显示部分,TFT 液晶显示屏是薄膜晶体管型液晶显示屏,通过相对应的引脚,将液晶显示器通过导线与 STM32 连接在一起,这种屏幕操作简单,单片机通过引脚直接控制显示内容。本设计的摄影部分有 OV7670摄像头来实现车牌号码拾取。OV7670 图像传感器具有体积小、工作电压低,可以提供单片 VGA 摄像和影像,通过 SCCB 总线进行控制,通过引脚即可被单片机控制,设定其图像质量、数据格式和传输方式,输出的图像高达 30 帧/秒,通过IIC 输出给单片机。图 2.1系统原理图2.22.2 设计思路设计思路整体的思路主要集中于摄像头的读取问题,利用所学习到的摄像头有关的知识,将摄
17、像头的读取只要分成五个步骤(如图 2.2)OV7670 摄像头单片机 STM32F103电源电路TFT 液晶显示屏复位电路广东东软学院本科毕业设计(论文)4(1)读取汽车图:由于诸多外界因素的影响,当我们的摄像头在读取车牌的时候,很多时候可能因为光线影响和摄像机的曝光不同,可能产生车牌读取的对比度不足的弊端。例如细节分析不到位,车牌号码不够突出,车辆在高时速行驶所拍摄的图片产生变形、模糊等等问题,这些问题都会加大预处理图像的难度。(2)图片预处理:此操作是为了将所读取到的车的图像转化于车牌定位的二值化图像。(3)车牌定位:此操作是从预处理中所得到的图像中识别车牌的图像。(4)字符切割:此操作是
18、将车牌号码通过矫正、二值化和字符切割,将车牌号码分割成组成车牌号码的每个单个字符。(5)字符识别:将分割出来的字符,进行预处理,然后分析处理,以文本形式的车牌号码提取出来。图 2.2车牌号码识别流程图2.32.3 检测原理检测原理本次设计最为重要的就是对车牌号码的识别以及读取,首先需要对读取的图像进行二值化的处理,让整体图片变成全黑或者全白,以便之后的操作,再将读取的图像转化成数组的形式才能进行识别匹配,用 k 与 kk 来对每个字符的大小进行提取,这里说拾取的图像分辨率为 24*50,通过计算得出,一个字符需要 150个字节来表示。接下来,利用取整取模的方式,将提取出来的字符与所建立好的字符
19、库进行比较,把所建立的字符库用 st1 表示,所获取的字符数组用 st2 表示,一个字节、一个字节的相对应比较(图 2.3 所示),然后以文本的形式输出相似值最高的字符,通过这种检测,我们可以顺利的对车牌号码的正确识别。广东东软学院本科毕业设计(论文)5图 2.3字符比较图广东东软学院本科毕业设计(论文)6第三章第三章硬件电路设计硬件电路设计3.13.1 硬件原理图及设计图硬件原理图及设计图这次的整个硬件设计由以下 5 个部分通过导线焊接而成:(1)选用了STM32F103 单片机作为核心处理器,此单片机具有足够多的硬件,可以为各个模块提供引脚,并且将各个模块的引脚与单片机的引脚相对应的连接起
20、来,从而实现提供信息给各个模块以及从各个模块中接受信息,实现整体的功能控制。此外,此单片机还具有按键复位功能。(2)此次设计选用了 TFT 液晶显示屏来对车牌号码进行显示,将引脚 RST、CS、RD、WR 以及 RS 分别连接到单片机的PC8PC12,将 DB0DB15 分别连接到单片机的 PB0PB15,然后继续连接单片机的 3.3V 与 GND。这个显示屏的特点是具有较高的亮度、对比度等,是一种有源矩阵液晶显示设备。(3)用 OV7670 摄像头来进行去车牌的读取与识别,首先将相对的引脚连接至单片机的 3.3V 与 GND,然后将 D0D7 连接至单片机的 PA0PA7,此摄像头可以比较便
21、于将摄像头所读取的有效信息能都及时的传送给单片机进行处理。(4)选用 AMD1117 芯片作为降压模块,可以将提高的5V 电压转化为 3.3V 电压,稳压电路由一个十欧的电阻以及两个 10uf 的电容所组成,输出 3.3V 的电压给与摄像头,液晶显示屏和单片机进行供电,从而驱动整个单片机系统的正常工作。(5)LED 工作指示灯模块,可以通过灯光来显示单片机的工作。实际操作图如下:图 3.1系统硬件原理图广东东软学院本科毕业设计(论文)7图 3.2系统硬件实物图(背部)图 3.3系统硬件实物图(正面)广东东软学院本科毕业设计(论文)83.23.2 电源电路电源电路本次所选用的单片机存在着一个电源
22、电路(如图 3.4),电源采用的是 5V 直流供电。此电源模块具有一个三角电源座子,用于连接电脑的 USB 接口。电源主要用于对整个单片机的开和关的控制。电源座子的 2 口引脚连接于 GND,3 口引脚仅仅作为固定的作用。此外,这个电源模块还具有一个六角的电源开关,电源开关的 1 号引脚直接用于电源的正极输出,除了 1 号引脚,3 号、4 号和 6 号也是作为电源的正极输出,其中,电源开关的 3 号引脚将与电源座子的 1 号引脚对应连接。电源开关的 2 号引脚以及 5 号引脚作为 GND 的引脚,其中在选择 2 号引脚作为 GND 引脚的时候,正极输出端只能选择电源开关的 1 号和 3 号引脚
23、;在选择 5 号引脚作为 GND 引脚的时候,只能选择电源开关的 2 号和 6 号引脚作为输出端口的选择。这次所选择的单片机的传感器以及无线传输芯片的电压都在5V 以内,因此,5V 的电压足够供给。如需要 12V 或其他电压的传感器时,可以通过升压模块将 5V 电压升高至更好的电压,从而进行供电。图 3.4单片机的电源电路图3.3 STM32F103 概述概述3.3.1STM32F103 简单介绍本次设计所采用的单片机为 STM32F103,这款单片机是一款功耗比较低、性能比较高的微控制器中低端的 32ARM,生产厂商为 ST 公司。STM32F103单片机可以用于控制各种外设以及传感器,将从
24、传感器中得到的数据进行自行的处理与运行,并且提供相符合的操作,在整个系统中属于人体大脑的功能。但如今科技的发达,电脑的广泛使用,单片机只能称之为微小电路集成系统,其功能十分有限,只能进行简单的控制作用。当然,单片机也经常运用于我们的生活当中,我们日常生活所存在的电视、电机驱动、电冰箱、鼠标、医疗系统以及遥控器等等一些器械,里面都拥有一个或者多个单片机为它们进行控制。智能设备的发展也非常依赖单片机,多样化的传感器对单片机也提出了一定的要求,故此越来越多的高级的单片机成出现。相比于 STM8 单片机,STM32 更适于当代大学生的学习,STM32 所围绕的广东东软学院本科毕业设计(论文)9行业标准
25、 ARM Cortex-M 32 位内核构建,并受益于与 ARM 处理器有关的开发工具和软件解决方案的完整生态产业环境。在如今的资料当中,STM32 的查找资料比起 STM8 来说,更容易查询。STM8 虽然小巧,但是该有的模块都有,串口、AD、IIC 等。STM32 可用模块会比 STM8 更多,同时,STM32 还具有较高精准的内部时钟。STM32 对于外部设备以及传感器的读取或者传送数据比较简单,只需要将外部设备或者传感器通过导线连接至单片机的TX 或 RX 当中,并且通过相对应的编译器进行烧写代码即可使用。3.3.2STM32F103 引脚概述单片机作为微型计算机比较重要的一部分,我们
26、经常称之为单片小型计算机。单片机作为整套系统的核心处理器,用于与各种各样的传感器以及外部设备进行信息交流。近些年来,随着科技以及文化水平不断提高,人们对单片机的美观上、体积上有着越来越高的要求,科学家们慢慢设计出可以让一个引脚同时具有双功能甚至是多功能的,这时我们就能大大减少单片机的体积问题。根据从 STM32F103 的数据手册,我们可以清楚知道当一个产品能够正常的运行时,应该避免由于外部设备的电压低于 Vss 或者高于 Vdd 而向 I/O 引脚注入电流。本次设计运用了 GPIOs(通用输入/输出)可以接受或者发送高达正负8mA 的信号,但是 PC13、PC14 以及 PC15 可接收或发
27、射高达3mA 的信号。在输出模式下使用 GPIOs,PC13 至 PC15 时,速度不应超过 2 MHz,最大负载为30 pF。Vdd 或 Vss 上 I/O 引脚的电流总和不能超过绝对最大额定值 Ivdd 或 Ivss。(如图 3.5 所示)图 3.5电流特性本设计需要通关电焊的方式,通过导线将 TFT 液晶显示器以及 OV7670 摄像广东东软学院本科毕业设计(论文)10头与单片机连接起来,以下就是关于整个设计的相关引脚连接图:图 3.6相关引脚连接图3.3.3STM32F103 内部原理STM32 单片机内部最为重要的为 cup 处理芯片I/O 口、中央处理器以及存储器。本次所选择的 S
28、TM32F103 单片机实际上就是增强版的 STM32F101 单片机,它具有高性能、低功耗、低成本、运行速度较快等特点,它的时钟频率较高,可以高达 72MHz。能为所有设备提供 12 个 ADC、3 个 16 位定时器和 1 个 PWM定时器以及 3 个 USARTs、1 个 USB 和 1 个 CAN,这些所有的装置只能在 2V3.6V 之内工作。STM32F103 单片机是 32 位的 MCU 当中性能最强的,在控制以及通讯中具有较大的优势,在低功耗或者低电压的环境下非常适用。STM32 没有内部晶振,以下是 STM32 的介绍图:图 3.7STM32 介绍图3.4 OV7670 摄像模
29、块说明摄像模块说明广东东软学院本科毕业设计(论文)11此次设计选用 OV7670 摄像头对车牌号码进行读取,OV7670 是 OV 公司生产的一颗 1/6 寸的 CMOS VGA 图像传感器。OV7670 摄像头功能模块由五大部分组成(如图 3.8 所示),分别是(1)数据输出;(2)A/D 转换;(3)测试图案发生器;(4)656x488 图像传感器整列;(5)SCCB 通讯接口。图 3.8OV7670 功能模块此摄像头是一种低功率的摄像模块,被广泛的运用于各种摄像机器上,其体积较小,工作电压只需 3V。该摄像头的 VGA 图像可以高达 30 帧/秒,对于此设备的用户来说,可以很好地控制它的
30、传输方式、图像质量以及数据格式等等。关于摄像头的连接方式(如图 3.9 所以)也是非常简单的,我们只需将摄像头的 VCC 引脚连接单片机的 3.3V 引脚,GND 连接单片机的 GND,REST 连接单片机的 VCC,PWDN 连接单片机的 GND 以及将剩下的众多引脚通过之前的硬件设计图与单片机的引脚相对应连接起来即可使用。图 3.9摄像头模块设计电路广东东软学院本科毕业设计(论文)123.5 TFT 液晶显示说明液晶显示说明本次设计选用了 TFT 液晶屏来显示从摄像头读取的车牌号码。此液晶屏具有高亮光、高对比度、高层次感以及颜色鲜艳等特点,但是同时它的耗电量以及成本费用比较高。近些年来,电
31、子产品的不断更新换代,TFT 液晶屏也被大量的使用与其中,从而也成为了主流的显示器。它是一种工业的字符型液晶,每一个液晶像素点都是由集成在其后的薄膜晶体管进行驱动,其中利用了液晶的特性,通过不断地更变它的电压来控制区域显示,从而等到我们所需要的车牌号码数字。但是车牌号的组成不单单只有数字,还存在着符号、字母以及彩色图像,这时的液晶屏同时还可能满足这些需求。接下来就来介绍一下 TFT 液晶显示器的连接方式及引脚作用(如图 3.10 所示)图 3.10TFT 液晶显示器设计电路图由图我们可以看出,我们需要将 BL 引脚以及 VDD 引脚连接到 3.3V 的单片机引脚中,将 GND 连接至单片机的
32、GND 中,这样我们才能保证显示器的正常运行。RS 引脚作为寄存器的选用,当我们选择选用高电平时,作为数据寄存器;当我们选用低电平时,则为指令寄存器。引脚 WR 的功能为写使能,引脚 RD 的功能为写使能,分别与单片机的 C11 和 C10 引脚相连接。D15:0为 16 双向数据线,与单片机所设置的 B0-B15 引脚相连接即可使用,如下是关于此单片机的几个重要的命令图:表一指令(读 ID)广东东软学院本科毕业设计(论文)13表二指令(存储访问控制)表三指令(页地址设置)表四指令(列地址设置)表五指令(写 GRAM)表六指令(读 GRAM)3.6 复位电路复位电路单片机的复位电路(如图 3.
33、11)主要功能就是为了使整个系统恢复到最开始的状态。此单片机的复位拥有好几种方式:广东东软学院本科毕业设计(论文)14(1)上电复位:所谓的上电复位就是当系统掉电、上电以及系统从待机模式返回时,发生电源复位,电源复位能够复位除了备份区域寄存器之外的所有寄存器的状态。(2)系统复位(能够复位除时钟控制寄存器 CRS 中的复位标志和备份区域中的寄存器之外的所有寄存器):当下面任意一个事件发生时,即可产生一个系统复位。1NRST 引脚上的低电平(外部复位);2独立看门狗计数终止(IWDG 复位);3窗口看门狗计数终止(WWDG 复位);4软件复位;5低功耗管理复位。(3)备份区域复位:有两种方式可以
34、产生备份区域复位:一种是当电池以及电源都掉电又重新上电产生的;另一种则是软件复位的时候设定备份区域控制寄存器中的对应位产生的。图 3.11复位电路图广东东软学院本科毕业设计(论文)15第四章第四章系统软件设计系统软件设计4.1 系统软件主程序系统软件主程序本次系统软件主程序选用 KEIL4 作为开发环境。首先连接好所有系统硬件部分,将各个硬件所编程的代码整合成系统软件主程序。整个系统开始正式运行时,开始对整个硬件的初始化,当初始化完成时,进入初始界面。整个初始化分别为:TFT 液晶显示屏初始化、OV7670 摄像头模块初始化、串口初始化、定时器初始化以及外部中断初始化。当一切准备就绪,单片机开
35、始工作,对摄像头模块进行控制,摄像头模块带有视频 FIFO 以及源晶振,演示代码将摄像头设置为 320*240 RGB565 格式输出,这样就可以完全用 2.8 寸的液晶显示屏所显示,对读取到的数据进行处理然后发送给 TFT 液晶显示屏进行显示,显示屏模块能够实时显示从摄像头中拍摄的内容。整个系统软件主程序如图 4.1 所示:图 4.1系统软件主程序4.2 摄像模块子程序摄像模块子程序首先对摄像头进行通电,进行摄像头进行初始化,OV7670 摄像头开始工作。开始摄像头模块初始化液晶显示器模块初始化是否采集信息图像采集二进制分化识别车牌区域字符切割字符匹配液晶显示屏显示返回是广东东软学院本科毕业
36、设计(论文)16此次选用的摄像头是带 FIFO 芯片的。选用 FIFO 作为数据缓冲,便于我们采集数据。通过 KEIL4 开发环境编程代码,整个流程如下:(1)首先要让 OV7670 摄像头往 FIFO 中写数据,将其分为五个步骤(如图4.2 所示):1.OV7670 摄像头同步接入单片机的外部中断,等待同步信号;2.复位 FIFO 的写指针;3.FIFO 写使能的开启;4.等第二个同步信息;5.禁止 FIFO 写使能。图 4.2往 FIFO 中写数据(2)单片机读取 FIFO 中的数据,将其分为 N 多个步骤(如图 4.3 所示):1.复位 FIFO 的读指针;2.打开 FIFO 的读使能;
37、3.给予 FIFO 读时钟;4.读取第一个像素高字节;5.再次给予 FIFO 读时钟;6.读取第一个像素低字节;7.再次给予 FIFO 读时钟;8.读取第二个像素高字节;以此类推,直到数据全部读取完毕即可结束。等待第一个同步信号复位写指针激发写使能等待第二个同步信息关闭写使能广东东软学院本科毕业设计(论文)17.图 4.3单片机从 FIFO 中读取数据根据以上两个步骤,可以很好地编程摄像头模块的子程序。4.3 TFT 液晶显示子程序液晶显示子程序当将液晶显示器所有东西完成好之后,开始液晶显示子程序的编程。首先将TFT 液晶显示器通好电之后,对它进行初始化的设定,进行屏幕清零以及内部存储清零。初
38、始化结束之后,液晶显示屏与 STM32F103 单片机进行双向通信,单片机可控制液晶显示器的亮度以及显示内容,将从摄像头中所读取的画面经过处理在液晶显示器中显示出来,从而完成对车牌号码的监控。此次所设计的初始化函数 LCD_lint,开启了 GPIO、FSMC 以及 AFIO 时钟使能,对 GPIO 初始化,其函数为 GPIO_lint 以及对 FSMC 进行初始化,其函数为 FSMC_NORSRAMInit()等设置。将 RW、CS、RD、WR 全部设置为推免输出。以下是整个 TFT 液晶显示器的子程序流程图(如图 4.5 所示):图 4.5液晶显示器子程序流程图复位读指针激活读使能给予时钟
39、读取第一个像素的高字节液晶显示器的初始化液晶显示器清屏单片机对 LCD 写命令单片机对 LCD 写数据显示车牌号码广东东软学院本科毕业设计(论文)18第五章第五章车牌识别技术车牌识别技术车牌识别技术作为本次设计的重中之重,它是由五部分组成,分别为读取汽车图、图片预处理、车牌定位、字符切割、字符识别匹配。读取汽车图:摄像头首先读取的图片为整个汽车的图片而不是单单的车牌号码图,其图像大小为 320*240 像素,像素格式为 RGB565,每个像素都有两个字节所组成。为了减小图像采集的存储空间,通常会将所采取到的彩色图像转化为灰色图像,同时还能大大提高了单片机对图像采集的速率。图片预处理:这里进行边
40、缘化检测,经过二值化的处理,通过腐蚀图像,填充图像,形态学滤波等方式,可以慢慢得到相当接近于正确车牌号码的位置。车牌定位:通过上面的预处理步骤之后,可以发现车牌位置处有明显的长方形图案,根据这个图案从而可以得知车牌的准确位置,分别确定车牌行与列的起始以及终止位置,进一步的合并获取车牌的行列位置。字符切割:由于当今的车牌号码是有多个字符所组成,因此因先将字符进行切割。当识别知道车牌的具体位置之后,通过二值化对字符进行分割处理,一般来说,字符切割能切割成 8 个字符,这样的切割比较准确。当然,字符切割在整个车牌识别技术中属于承上启下的作用,为车牌字符匹配完成重要一步。字符识别匹配:通过字符切割之后
41、,首先将字符进行归一化,然后再将各个字符一一进行字符匹配,字符识别准确的最重要的是先将模块库合理的建立起来,当今中国大部分的车牌号码都是由七个字符所组成的。一般来说,车牌号码的第一位都是中文汉字,其目的是为了区分各个省份,接下来都是用字母以及数字相应组成。此时我们需要建立十个阿拉伯数字 0-9,26 个英文字母 A-Z,以及一些汉字所代表的省份,例如京、粤、鄂等,这样就把字符库建立好了。建立字符库需要对这些图片进行统一处理,通过神经网络算法,尽可能的多的采取汽车图像拾取车牌。输入样本,将各个单一的字符进行归一化,通过二值化分析各行的调点,由于字符的存在,出现较多的跳变点,大约有 15 个左右,
42、得知车牌定位,在通过字符切割,归一化,匹配出相似值最大的相应字符作为最后的车牌号码给予显示出来。广东东软学院本科毕业设计(论文)19第六章第六章系统调试系统调试由于本次设计运用了焊接的技术,所以进对其焊接进行调试。首先准备好电烙铁以及所有电焊材料,根本上述所设计好的硬件电路图,对整个系统进行焊接处理,利用万能板,将 STM32 单片机、TFT 液晶显示器以及 OV7670 摄像头设计合适的位置。安放完成之后,首先先将单片机与液晶显示器通过用导线的方式以及引脚相对应的连接起来,将事先在 KEIL4 所编程好的代码烧进 STM32 单片机里面,这时打开电源,来观察 TFT 液晶显示器是否能正常的工
43、作,显示出该显示的图像,若发现显示器能正常工作,我们即可进行下一步,若发现显示器不能正常工作,则要考虑是否显示器的 3.3V 与 GND 连接正确,如果正确,及排除,再观察剩余的引脚是否连接正确,确保整个电路不出现短路的现象,一步一步的找出问题所在,并且解决。接下来就是要检查 OV7670 摄像机的使用情况,与检查显示器的原理相同,第一步我们应该将 OV7670 显示器与单片机通过导线的方式相连接起来,因为我们已经确定了显示器的正常工作,所以我们可以直接将整个系统的代码烧录单片机当中,这时通过连接整体电源,对摄像头进行测试,如果按照正常情况来说,摄像头如果正常使用,我们可以在显示器中看到摄像头
44、所读取的图像,若显示器中没有显示出正确的图像,由于显示器没有问题,这时我们需要对摄像头进行检测,首先对摄像头与单片机的引脚接线检查,重点检测摄像头的读写模块引脚,找到解决摄像头稳定性的方法去完成这次设计。广东东软学院本科毕业设计(论文)20第七章第七章总结总结本次的设计论文主要说明了基于 STM32 单片机的车牌识别技术监测以及对整个设计系统的思路,还包括了各个硬件以及其处理芯片的相关资料和使用方法。从一开始做这个设计的时候,就已经有了很多自己的想法以及所希望达到的目的,无论是硬件方面的焊接还是软件方面的编程,所遇到的困难都不小,但最终都可以一一的破解它们。对于硬件方面,最为重要的就是单片机的
45、使用,它可以说是作为整个系统设计的灵魂,要很全面的连接单片机的芯片、引脚功能等等,再接下来就是各个传感器的学习,翻查各大网页对传感器进行了解,浏览它们与本设计相关联的资料、传感器芯片的优缺点以及各个引脚的使用方法。对于任何设计,都需要耐心的去排查所出现的问题,并且想办法去解决它们,例如发现液晶显示器怎么都没有显示的画面以及背光的反应,通过仔细的排查,才发现原来单片机与显示器的某个引脚连接错误,我们从上述焊接的实际情况可以看出,当发现是焊接错误时,其实排查起来是很困难的,但只要我们细心,便可达到目的。本次所设计的产品具有很大的优点,采取了模块化的设计思路,从而将单片机分成了不同的部分与相对应的传
46、感器模块进行匹配,这样就能及时的发现哪部分模块的问题,可以迅速定位到问题所发生的地方,对排查工作大大降低了难度,让我们有充足的时间去更换所需更换的设备,从而确保每个部分都是完好的,很好地保护着整个系统设计的安全性、完整性以及稳定性。广东东软学院本科毕业设计(论文)21参参 考考 文文 献献1 韩炜光.分析城市智能交通系统的发展现状与趋势J.数字技术与应用,2015(04):218.2 杜媛.基于图像分割与多特征模型的车牌识别算法J.国外电子测量技术,2018,37(8):20-24.3 周雷,苏文斌,李鹤.基于 STM32 单片机的简单形状识别J.数码世界,2016(06):79.4 刘立伟,
47、谷学静.复杂光照条件下车牌定位算法研究J.信息通信,2018(08):34-35.5 郑雪.基于图像处理的车牌识别研究J.电脑知识与技术,2014,10(19):4541-4543.6 路阳,高慧敏.光照不均 QR 码图像二值化研究J.太原科技大学学报,2012,33(05):396-400.7 田枥文,齐文琴,李 欢.基于形态学和 HSV 分离蓝色区域的车牌分割技术J.无线互联科技,2018(18):147-148.8 唐瑜梅.基于 STM32 的车牌识别系统的设计与实现J.信息技术与信息化,2018(8):92-949郭玉锦.基于压缩感知的模糊车牌图像预处理及其识别研究D西安:长安大学,2
48、015.10马永慧.车牌识别系统中车牌定位与字符分割的研究D太原:中北大学,2013.11薛倩.基于字符块提取的车牌字符分割算法J.河南科学,2014,32.12张秀玉.改进传统 BP 算法提升机动车辆牌照字符识别性能J.西昌学院学报(自然科学版)2011,25(3):58-60.广东东软学院本科毕业设计(论文)22致致谢谢从开始的抗拒到如今的融入,很感谢在贵学校度过了我整整四年的大学生活以及学习。在整个大学学习生涯当中,通过老师们的细心教学、任劳任怨和无私文献的坏境之下,学习到了很多单片机方面的应用的知识,并且传授了很多我们在课本中学习不要的简便方法。作为大学生涯的最后一个设计,让我可以把大
49、学中所学习到的所有单片机知识用于其中,从而也很好的回顾了整个大学生涯的知识点整理,建立了一个系统架构。当然,这里少不了老师的不懈努力,对我的耐心指导,将整个设计所运用到的知识记入脑子,从而变为自己的知识,这就是本次课题的意义所在,让我从中学习到了很多不一样的方法,本次设计采用了焊接的方式,让我的焊接技术得到了帮助、如何在万能板上合理的设计整体硬件部分的组合以及整个导线的连接方式,大大提高了我对硬件方面的处理模式。经过自身的不懈努力以及导师在这几个月的耐心指导,从而可以顺利的完成这次的毕业设计。在这里,要很感谢指导老师以及所有帮助过我的同学们。整个大学,让我不仅学会了知识,还学会了很多做人的道理,做事的态度。再次感谢贵学校以及所有给予我帮助的老师们、同学们,给予你们最高的敬意。