当前位置:首页 > 基于MATLAB的车牌号码识别系统设计 - 本科毕业设计论文 - 图文
MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。
MATLAB已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。
3
2 车牌号码识别系统总体方案
一个完整的车辆牌照识别系统是一个复杂的系统,应该包括图像采集、图像预处理、车牌定位、字符切分、字符识别以及图像编码、数码传输与更新等步骤,基本可以分为硬件部分和软件部分,硬件部分主要完成车辆图像的摄取采集,软件部分主要完成对采集到的车辆图像进行车辆牌照定位、车牌字符切分与车牌字符识别等工作,这部分工作最为复杂,最后对识别结果进行数据传送和存储,将处理后的识别信息交给管理系统进行管理。整个系统的核心是软件部分的工作,能否通过牌照对车辆进行有效管理,很大程度上取决于软件部分识别车牌的准确性。目前,研究的车牌识别系统大部分都是基于直接法,即是基于图像理解的汽车牌照识别,该方法的一般结构如下:
图像采集图像预处理车牌定位字符分割字符识别 图1 车牌识别系统流程图
2.1 车牌号码识别系统硬件介绍
一个车牌识别系统的基本硬件配置由摄像机、主控机、采集卡和
4
照明装置组成。例如在停车场管理系统中,系统硬件主要包括车辆传感探测器、高性能工控计算机、高分辨率CCD摄像机、高放大倍数镜头、CCD自动亮度控制器和视频采集卡等。
首先是探测车辆的接近、通过和停留等。常用的有光探测器、微波雷达通过型探测器、测速雷达探测器、声探测器、红外探测器、电磁感应探测器和压敏探测器等。我国停车场应用较多的是红外探测器和电磁感应环探测器。设置在停车场入口和出口的两对红外发射和接收设备进行车辆检测。利用编码调制信号,增强抗干扰的能力,具有较强的可靠性。前端工控机利用红外线探测到车辆经过的信号时,控制图像采集卡抓拍图像,并对抓拍的汽车图像进行牌照识别,同时控制摄像机光圈的大小,以适应外界环境不同的光照条件。然后将识别出的牌照信息储存到服务器中,当车辆离开时,同样的进行牌照识别,将其与前面输入的牌照信息进行对比,计算出停车时间,然后计费。
本课题主要侧重算法的研究,主要工作是设计软件,对已摄取到的卡口车辆照片实现车牌识别。 2.2 车牌号码识别系统软件设计
硬件设备采集到图片后首先要考虑图像的存储格式。目前比较常用的图像格式有*.BMP 、*.JPG、*.GIF、*.PCX 等,本课题采集到的图片是*.JPG 的格式。 软件系统的编写大多采用VC或者MATLAB语言,本课题选用了 MATLAB语言。MATLAB具有以下优点: (1)MATLAB编程效率高,使用方便。MATLAB以矩阵作为基本语言要素大大提高了数值计算的编程效率。MATLAB本身拥有丰富的函数
5
库,并具有结构化的流程控制语句和运算符,用户在使用过程中能够方便自如地应用。其图像处理工具箱更是大大扩展了MATLAB解决图像处理问题的能力,其他还有诸如用于神经网络和小波的工具箱等,对于算法的分析都有着很大的帮助。
(2)MATLAB扩充能力强,交互性好,移植性和开放性较好。MATLAB的库函数同用户文件在形式上是一样的,用户可以根据自己的需求方便地建立与扩充新的库函数,扩充其功能。MATLAB可在Windows 系列、UNIX、Linux、VMS 6.1 、PowerMac 平台上使用,且所有的核心文件和工具箱文件都是公开的,用户可以修改源文件构成新的工具箱,从而可以扩充很多新的功能,利于算法的研究和改进。 (3)较强的图形控制和处理功能,自带的API 使得用户可以方便地在MATLAB与C、C++ 等其他程序设计语言之间建立数据通信。 本文设计的系统采用MATLAB搭建车辆牌照识别系统,具有非常明显的优势:
a.可以直接使用MATLAB的Image Acquisition Toolbox 、Image Processing Toolbox 以及Neural Network Toolbox作为骨架来搭建整个系统。
b.使用MATLAB的图形用户界面技术(GUI )编写牌照识别系统面板,可以达到与牌照定位切分程序及字符识别程序的无缝连接。 c.使用专业工具箱,使得研究人员不必过于关心程序的细节问题,可以将主要的精力放在算法的研究、设计方面,极大地减少了工作量,为算法的研究改进提供了先决条件。
6
共分享92篇相关文档