《基于MATLAB的车牌识别毕业设计样本.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的车牌识别毕业设计样本.doc(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。基于MATLAB的车牌识别研究摘要汽车牌照自动识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。在车牌自动识别系统中, 首先要将车牌从所获得的图像中分割出来, 这是进行车牌字符识别的重要步骤, 定位准确与否直接影响车牌识别率。本次毕业设计首先对车牌识别系统的现状和已有的技术进行深入的研究, 在研究的基础上开发出一个基于MATLAB的车牌识别系统, 经过编写M文件, 对各种车辆图像处理方法进行分析、 比较, 提出了车牌预处理、 车牌粗定位何静定位的方法。本次设计采取的是基于边缘检测, 先从经过边缘提取
2、后的车辆图像中提取车牌特征, 进行分析处理, 从而初步定出车牌的区域, 再利用车牌的先验知识和分布特征对车牌区域二值化图像进行处理, 从而得到车牌的精确区域, 而且取得了较好的定位结果。关键词: 识别率 车牌定位 二值化 边缘检测AbstractThe subject of the automatic recognition of the most significant subiects that are improved from the connection of computer vision and pattren recognition .In LPSR ,the first st
3、ep is for locating the license plate in the captured image which is very important for character recognition .The recognition correction rate of license plate is goverment by accurate degree of license plate location .The graduation project first in-depth study on the status of the license plate rec
4、ognition systems and existing technology, on the basis of the study developed a matlab-based license plate recognition system, a variety of vehicles, image processing, through the preparation of the M-fileanalysis of the proposed license plate pretreatment, the positioning of the coarse license plat
5、e positioning Jing. The design is taken based on edge detection, start to extract the license plate characteristics after the vehicle image edge extraction, analysis and processing, which initially identified the license plate area, then use the prior knowledge and distribution characteristics of th
6、e license plate plate region binary image processing, resulting in a precise area of the license plate, and has made good positioning results.Key words: Recognition rate Location of the plate binary image Checked up for the edge目录摘要1前言4第一章 绪论51.1、 课题研究背景和意义51.2、 国内外研究概况及发展趋势61.3车牌定位的意义7第二章 MATLAB简介8
7、2.1.MATLAB发展历史82.2MATLAB的语言特点9第三章 车牌定位113.1 车牌定位的主要方法113.1.1 基于直线检测的方法113.1.2 基于阈值化方法123.1.3 基于灰度边缘检测方法123.1.4 基于彩色图像的车牌定位方法133.2研究内容及实验方案143.2.1研究内容143.2.2 车牌识别系统研究的方案和方法143.3 图像的读取153.4 预处理及边缘提取173.4.1 图象的采集与转换173.4.2 图像预处理173.4.3 图像增强183.4.4灰度变换183.4.5 图象平滑的介绍203.4.6边缘检测213.4.7图像的腐蚀223.5 牌照的定位和分割
8、233.5.1 牌照区域的定位和分割243.5.2 牌照区域的分割243.5.3车牌进一步处理243.6 图像边缘提取及二值化253.7 形态学滤波293.8 车牌提取31第四章 字符的分割与识别324.1 字符分割与归一化324.2 字符的识别33总结和体会36谢辞37 前言随着交通问题的日益严重, 智能交通系统应运而生。从20世纪90年代起, 中国也逐渐展开了智能交通系统的研究和开发, 探讨在现有的交通运输网的基础上, 提高运输效率, 保障运输安全。汽车牌照自动识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。车牌识别的目的是对摄像头获取的汽车图像进行
9、预处理, 确定车牌位置, 提取车牌上的字符串, 并对这些字符进行识别处理, 用文本的形式显示出来。车牌自动识别技术在智能交通系统中具有重要的应用价值。在车牌自动识别系统中, 首先要将车牌从所获取的图像中分割出来, 这是进行车牌字符识别的重要步骤, 定位准确与否直接影响车牌识别率。车牌自动识别系统作为一种交通信息的获取技术在交通车辆管理、 园区车辆管理、 停车场管理有着特别重要的应用价值, 受到业内人士的普遍关注。车辆自动识别系统由三部分组成, 其中车牌定位作为最关键的技术, 成为重点研究的对象。车牌定位的成功与否及定位的准确程度将会直接决定后期能否进行车牌识别及识别的准确度。由于在现实中, 汽
10、车的车牌图像收到光照、 背景、 车型等外界干扰因素以及拍摄角度、 远近等人为因素的影响, 造成图像受光不均匀, 车牌区域不明显, 给车牌区域的提取带来了较大的困难。车牌定位的方法有很多种, 当前比较经典的定位方法大都在基于灰度图像的基础上, 本次设计就针对灰度图像的定位进行了研究。针对不同背景和光照条件下的车辆图像, 提出了一种基于灰度变换特征进行车牌定位的方法。依据车牌种不同区域的灰度分布, 车牌定位能够首先将彩色车牌进行灰度化然后再进行车牌定位。第一章 绪论1.1、 课题研究背景和意义随着汽车数量的迅速上涨, 逐渐向自动化和实时性的智能化管理进行转变。汽车智能化的重要环节就是牌号的自动识别
11、系统, 主要使用仓储式立体库以及无人值守停车场管理、 交通控制与诱导、 不停车自动收费以及违章车辆以及车辆安全防盗等领域。牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、 牌照颜色自动识别的模式识别技术。该技术具有良好的研究价值和广阔的应用前景。车辆牌照自动识别技术是智能交通系统的一个重要组成部分, 它在交通管理与监控中有着广泛的应用。车辆牌照识别系统技术能够从一副车辆图像中准确定位车牌图像, 经过字符切分和识别后实现车辆牌照的自动识别, 从而为以上应用提供信息和基础功能。当前, 车牌识别系统主要应用于以下领域: (1) 停车场管理系统。利用车牌识别技术对出入的车辆车牌号进行识别和
12、匹配, 与停车卡结合实现自动计时、 自动收费的车辆收费管理系统。(2) 高速公路超速自动化管理系统。以车牌号自动识别技术为基础, 与其它高速高科技技术手段结合, 对高速公路交通状况进行自动监测、 自动控制, 从而降低交通事故的发生率, 确保交通顺畅。(3) 公路布控。采用车牌技术对重点车辆进行识别, 快速报警, 即可有效查找被盗车辆, 又可作为公安、 检察机关体工对犯罪嫌疑人的交通工具的跟踪和检查的技术手段。(4) 城市十字路口的”电子警察”。能够对违章车辆进行责任追究, 也能够辅助进行交通流量统计, 交通检测和疏导。(5) 小区车辆管理系统。社区保安系统将出入社区的车辆经过车牌识别技术进行记
13、录, 将结果与内部的车辆进行对比, 能够实现实时监管。1.2、 国内外研究概况及发展趋势国内外有大量关于车牌识别的研究报道。国外在这方面的研究工作开展较早。在上世纪70年代, 英国就在实验室中完成了”实时车牌监测系统”的广域检测和开发。同时代, 诞生了面向被盗车辆的第一个实时自动车牌监测系统。发展到今日, 国外的车牌检测的研究已经取得了令人瞩目的成就, 如yuntaocui提出了一种车牌识别系统, 在车牌定位后, 利用马尔科夫场对车牌特征进行取值化, 对样本的识别达到了较高的识别率。车牌识别技术作为智能交通系统中的关键技术, 在各国学者的共同努力下, 已经得到了长远的展, 而且已经得到了不同程
14、度的实际应用, 但当前还存在这种种不足。对于未来车牌识别产品的技术发展趋势, 汉王科技智能交通部总经理乔炬认为, 首先, 由于市场需求不同, 对识别产品的需求也有差异, 因此就要求研发针对不同细分市场的车牌识别产品。其次, 随着算法的不断改进, 基于视频触发技术的车牌识别产品将得到大范围的应用, 可是视频出发技术取代外触发装置尚需时日。第三, 现在的车牌识别系统设备过多, 系统集成难度大, 系统稳定性差, 系统维护是一个让人头疼的问题。随着技术不断进步, 以往多个设备实现的功能可能由一个设备实现。从车牌识别系统进入国内以来, 国内有大量的学者在从事这方面的研究, 提出了许多新颖的算法。当前上海
15、大学图像处理实验室研制出的汽车牌照自动识别系统已经在泸宁高速公路收费口处得到了应用。该系统识别率高, 速度快, 鲁棒性强, 对环境和光照的要求低, 能够适应收费系统要求的环境。在排除非正常牌照, 严重污染的牌照和对比度特别低的牌照的情况下, 经现场数万辆车辆测试, 对汉字和后四个数字的整体识别率达99%以上, 识别时间0.2s, 该系统结合人机对话, 经泸宁高速公路江桥收费口试运行确定, 达到了实用要求。还有中国科学院自动化所刘志勇等开发的系统在一个样本量为3180的样本集中, 车牌的准确率为99.42%, 切分准确率为94.52%, 这套系统后来用于汉王公司的车牌识别系统, 取得了不错的效果
16、。随着市场的不断扩大, 需求的进一步提高, 必将促进这一领域的进一步发展。当前, 车牌识别技术和产品性能进入实用阶段时间不是很长, 随着人工智能以及自动识别技术的进步, 未来的技术发展空间还会非常大。例如, 核心算法继续发展, 识别率和知识速度进一步改进, 图像处理中对模糊图像预处理能力增强, 画质改进技术的提高等等。1.3车牌定位的意义车牌定位是车牌定位识别系统中的关键技术之一, 车牌照定位结果的好坏直接影响着该系统的识别进度。所谓车牌照定位过程就是把车牌照区域完整的从一幅复杂的车牌图像中分割出来。然后对于一副车牌图像来说, 车牌区域只占复杂的车牌图像的一小部分, 要想准确地定位出车牌区域,
17、 就必须提取车牌区域内的字符本身的纹理特征及字符与其背景之间的灰度特征来进行分析现在社会已经进入信息时代, 随着计算机技术、 通信技术和计算机网络技术的方法, 自动化的信息处理能力和水平不算提高, 并在人们社会活动和生活的各个领域得到广泛应用。在这种情况下, 作为信息来源的自动检测、 图像识别技术越来越受到人们的重视。作为现代社会的主要交通工具之一的汽车, 在人们的生产、 生活的各个领域得到大量的使用, 对它的信息自动采集和管理在交通车辆管理、 园区车辆管理、 停车场管理等方面有十分重要的意义, 成为信息处理技术的一项重要课题。车牌定位识别系统正是在这中应用背景下研制出来的能够自动实时的检测车
18、辆经过并定位识别汽车牌照的智能交通管理系统。车牌定位识别系统是在装备了数字摄像设备和计算机信息管理系统等软硬件平台基础上, 采用先进的图像处理、 模式识别和人工智能技术, 经过对图像的采集和处理, 完成车牌定位识别功能。车牌定位识别系统, 集现场识别、 远程传输和指挥中心网络化调度管理为一体, 具有全天侯实时识别车牌照、 自动比对车辆信息、 现场报警、 事后排查、 高速高效等功能, 并符合21世纪安全防范和智能交通系统工程主流应用技术的相关标准。第二章 MATLAB简介2.1.MATLAB发展历史 MATLAB是由美国Mathworks公司发布的主要面对科学计算、 可视化以及交互式程序设计的高
19、科技计算环境。它将数值分析、 矩阵计算、 科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中, 为科学研究、 工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案, 并在很大程度上摆脱了传统非交互式程序设计语言( 如C、 Fortran) 的编辑模式, 代表了当今国际科学计算软件的先进水平。MATLAB是Matrix Laboratory的缩写, 意为”矩阵实验室”, 是当今非常流行的科学计算软件。这是因为信息技术、 计算机技术的发展, 使得科学计算在各个领域得到了广泛的应用, 比如控制论、 时间序列分析、 系统仿真、 图像信号处理等领域
20、都产生了大量的矩阵及其它计算问题。自己编写大量繁复的计算程序, 不但会消耗大量的时间和精力, 减缓工作进程, 而且质量往往不高。美国Mathwork软件公司推出的MATLAB软件正迎合了这一需求, 为人们提供了一个方便的数值平台。MATLAB是一个交互式的系统, 其基本运算单元是不需要指定维数的矩阵, 并按照IEEE数值计算标准计算。系统本身提供了大量的矩阵及其它运算函数, 能够方便地进行很复杂的计算, 且运算效率高。MATLAB语言是当今国际上科学界最具影响力、 也是最有活力的软件。它起源于矩阵运算, 并已经发展成为一种高度集成的计算机语言。它提供了强大的科学运算、 灵活的程序设计流程、 高
21、质量的图形可视化与界面设计、 便捷的与其它程序和语言接口的功能。MATLAB语言在各国高校与研究单位起着重大作用。在70年代中期, Cleve Moler博士和其它同事在美国国家科学基金的资助下开发了调用EISPACK和LIPACK的FORTRAN子程序库。EISPACK是特征值求解的FORTRAN程序库, LIPACK是解线性方程的程序库。在当时, 这两个程序库代表矩阵运算的最高水平。到70年代后期, 身为美国New Mexico大学计算机系系主任的Cleve Moler在给学生讲授线性代数课程时, 想教学生使用EISPACK和LIPACK程序库, 但她发现学生用FORTRAN编写EISPA
22、CK和LIPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB, 该名为矩阵( matrix) 和实验室(labotatory)两个英文单词的前三个字母的组合, 在以后的数年里, MATLAB在多所大学里作为教学辅助软件使用, 并作为面向大众的免费软件广为流传。MATLAB 产品族能够用来进行以下各种工作: 数值分析、 数值和符号计算、 工程与科学绘图、 控制系统的设计与仿真、 数字图像处理技术、 数字信号处理技术、 通讯系统设计与仿真等。MATLAB 的应用范围非常广, 包括信号和图像处理、 通讯、 控制系统设计、 测试和测量、 财务建模和分析以及计算生物学等众多应用领
23、域。附加的工具箱( 单独提供的专用MATLAB 函数集) 扩展了MATLAB 环境, 以解决这些应用领域内特定类型的问题。2.2MATLAB的语言特点MATLAB最突出的特点就是简洁。MATLAB用更直观的, 符合人们思维习惯的代码, 代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观, 最简洁的程序开发环境。她的语言特点是: 1) 、 语言简洁紧凑, 使用方便灵活, 库函数极其丰富。MATLAB程序书写形式自由, 利用起丰富的库函数避开繁杂的子程序编程任务, 压缩了一切不必要的编程工作。由于库函数都由本事域的专家编写, 用户不必担心函数的可靠性。2) 、 运算符丰富。由
24、于MATLAB是用C语言编写的, MATLAB提供了和C语言几乎一样多的运算符, 灵活使用MATLAB的运算符将使程序变得极为简短。3) 、 MATLAB既具有结构化的控制语句( 如for循环, while循环, break语句和if语句) , 又有面向对象编程的特性。4) 、 程序限制不严格, 程序设计自由度大。例如, 在MATLAB里, 用户无需对矩阵预定义就可使用。5) 、 程序的可移植性很好, 基本上不做修改就能够在各种型号的计算机和操作系统上运行。6) 、 MATLAB的图形功能强大。在FORTRAN和C语言里, 绘图都很不容易, 但在MATLAB里, 数据的可视化非常简单。MATL
25、AB还具有较强的编辑图形界面的能力。7) 、 MATLAB的缺点是, 它和其它高级程序相比, 程序的执行速度较慢。由于MATLAB的程序不用编译等预处理, 也不生成可执行文件, 程序为解释执行, 因此速度较慢。8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分: 核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类: 功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能, 图示建模仿真功能, 文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。学科性工具箱是专业性比较强的, 如control,toolbox,signl pr
26、oceessing toolbox,commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的, 因此用户无需编写自己学科范围内的基础程序, 而直接进行高, 精, 尖的研究。9)源程序的开放性。开放性可能是MATLAB最受人们欢迎的特点。除内部函数以外, 所有MATLAB的核心文件和工具箱文件都是可读可改的源文件, 用户可经过对源文件的修改以及加入自己的文件构成新的工具箱。第三章 车牌定位3.1 车牌定位的主要方法所谓车牌定位算法是指在实际拍摄的图像中确定车牌区域的位置以便提取分割出车牌区域图像的问题。牌照的快速准确定位是车牌自动识别技术中非常关键的一步,
27、 是典型的图像分割问题, 因此定位方法与车牌特征和图像处理技术是分不开的。经典的车牌定位分割算法包括从简单的灰度阈值方法、 频域和空间分割方法到复杂的连接元素方法以及Hough变化法等, 在背景较复杂和光照不均匀条件下, 这些方法难以取得令人满意的分割效果。近年来, 人们针对这种情况, 提出了各种各样的定位算法。当前没有一个标准图像数据库来评价无限制条件车牌定位算法的性能, 这个问题的研究当前刚刚起步。3.1.1 基于直线检测的方法在计算机识别中, 常常需要从图像上寻找特定形状的图形, 如果直接利用图像点阵进行搜索判断显然难以实现, 这时就需要将图像像素按一定的算法映射到参数空间。Hough变
28、换提供了一种将图像像素信息按坐标映射到参数空间的方法, 经过它构建的参数空间能够容易地对特定形状进行判断。Hough变换是一种利用图像的全局特征将特定形状的边缘像素连接起来, 形成连续平滑边缘的一种方法。它经过将源图像上的点映射到用于累加的参数空间, 实现对已知解析式曲线的识别。Hough变换常见于对图像中的直线和圆进行识别。这类方法一般采用Hough变化等方法来检测直线( 车牌周围边框形成) 。利用车牌形状特性来定位车牌, 在实际运用中忧郁光照不均匀等影响和摄像机畸变, 曝光不足和动态范围太窄等原因, 导致图像存在伪影, 加上车牌上的灰尘、 脏污等使形状特性表现的不明显, 从而影响定位效果,
29、 另外传统的Hough变换法应用在车牌定位中, 只是单纯的进行直线的检测, 没有和车牌形状特性结合起来, 而且Hough空间与原图像空间不是一一对应的, 由Hough空间中检测到的特征点无法确定出车牌轮廓的起始位置, 无法避免直线干扰的问题, 因此在有直线干扰时及未进行边框提取时的可能性会大大增加。Hough变化计算量较大, 对于边框不连续的实际车牌, 需要附加量加大的运算。3.1.2 基于阈值化方法图像经过阈值化得到一个字符和背景分离的二值图像是这类方法的特点。当前已经提出了多种阈值化策略, 但简单算法二值化效果不好, 复杂算法计算时间长、 计算量大限制了实际应用。3.1.3 基于灰度边缘检
30、测方法此类方法一般利用车牌区域局部对比度明显和灰度有规律变化的纹理特征来定位。中国车牌类型较多, 在不同光照条件下车牌对比度更加不一, 需要进行图像增强处理, 还要考虑图像中与车牌特征非常相似的非车牌区域的排除问题。( 1) 基于灰度直方图的门限化边缘检测基于灰度直方图的门限化边缘检测是一种最常见、 最简单的边缘检测方法。对检测目标背景图像中目标的边缘效果很好。这种图像的灰度直方图呈双峰状态。( 2) 基于微分的边缘检测1.基于差分的边缘检测一阶差分边缘检测对位于边缘两侧的点, 像素点灰度值将发生急剧变化, 因此有较大的差分值。当差分方向和边界方向垂直时将获得最大差分, 因此, 只要对f(i
31、,j) 各方向的差分值再进行一次门限化处理, 即可检出边缘像素点, 从而求得其边缘图像。二阶差分边缘检测这是利用在图像的边缘处, 灰度发生急剧变化这一特性, 采用图像灰度值沿着确定方向(x, y或对角线)取二次差分后的某些性质进行边缘检测的。2. 基于梯度的边缘检测由于边缘发生在图像灰度值变化比较大的地方, 对应连续情形就是函数梯度最大的地方。Roberts算子、 Prewitt算子和Sobel算子就是比较简单而常见的例子。还有一种比较直观的方法就是利用当前像素临域中的一些像素值拟合一个曲面, 然后求这个连续曲面在该像素处梯度。从统计角度上说, 我们能够经过回归分析得到一个曲面, 然后做类似的
32、处理。3.1.4 基于彩色图像的车牌定位方法当前的车牌分割受限于灰度图像, 因此定位效果受阴影和光照条件的限制。由于人类是绝对彩色信息比较敏感, 人眼能力分辨的灰度只有20多级, 而分辨的彩色却有35000多种, 彩色图像能够提供更多的视觉信息, 有图像学者提出了利用车牌的颜色信息来搜索牌照, 将处理对象改为彩色图像以求能够精确地定位车牌。比如一些系统采用BP神经网络对彩色图像进行彩色分割, 把每个像素经过网络学习归类为期望的颜色, 然后利用水平和数值直方图的方法确定牌照的位置, 可是当车牌区域颜色与附近颜色非常相似且牌照倾斜的情况下彩色定位分个错误将会增加。也有一些系统采用彩色边缘检测算子计
33、算二值边缘图像, 然后采用形态学方法来生成联通区域图像, 在进行轮廓跟踪, 一个标记候选牌照区域, 可是当图中相似颜色区块较多时, 定位速度会急剧下降。也有的系统首先利用颜色信息对输入图像进行彩色粗分割, 得到了颜色为车牌照的一些区域。然后将分个结果中的伪目标( 即除了车牌区域以外的区域) 分为两类( 一类是与汽车牌照颜色相近的背景, 一类是可能与牌照颜色相机的汽车外壳) , 分别进行处理, 最终利用投影法得到准确的车牌位置。虽然这种方法的定位率比较准确, 可是识别速度却很慢。这类方法一般都是将输入的RGB彩色图像转换成HIS彩色图像, 然后进行基于模糊逻辑或神经网络的彩色分割, 再进一步定位
34、车牌, 计算量大。上述四种方法中, 基于直线检测的方法对中国车牌来讲并不完全使用, 因为中国车牌的悬挂明显不够规范, 有些车牌边框不够明显必然造成定位算法失效, 如果结合别的算法侧需要在本身运算量很大的情况下额外增加系统开销。车牌的最明显特点是其纹理特征, 基于灰度边缘检测的方法不失为一个理想选择。另外, 基于颜色的车牌定位也是比较普遍的定位方法。3.2研究内容及实验方案3.2.1研究内容本课题主要是就汽车牌照的自动识别进行一系列的研究, 经过查阅相关资料, 了解课题背景, 熟悉MATLAB软件的基本操作, 利用MATLAB软件, 根据提供的汽车车牌照片, 采用图像分析和处理算法, 有效识别汽
35、车的车号等相关信息。主要的研究内容有: (1)在MATLAB基础上, 实现车牌识别系统中的车牌定位及车牌字符的识别功能。(2)对车牌定位、 字符切分、 字符识别的算法进行研究。(3)对实验结果进行分析。3.2.2 车牌识别系统研究的方案和方法完整的车牌识别系统应包含车辆检测、 图像采集、 图像预处理、 车牌定位、 字符分割、 字符识别等单元。当车辆到达触发图像采集单元时, 系统采集当前的视频图像, 牌照识别单元对图像进行处理, 定位出牌照位置, 再将牌照中的字符分割出来进行识别, 然后组成牌照号码输出。流程图如下: 图像预处理区域搜索和分割字符分割图像输入归一化字符特征提取单字识别图3.1.总
36、体流程图该系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用, 它主要由牌照图像的采集和预处理、 牌照区域的定位和提取、 牌照字符的分割和识别等几个部分组成, 如图3.1所示。其基本工作过程如下: ( 1) 当行驶的车辆经过时, 触发埋设在固定位置的传感器, 系统被唤醒处于工作状态; 一旦连接摄像头光快门的光电传感器被触发, 设置在车辆前方、 后方和侧面的相机同时拍摄下车辆图像; ( 2) 由摄像机或CCD摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理, 图像预处理包括图像转换、 图像增强、 滤波和水平较正等; ( 3) 由检索模块进行牌照搜索与检测, 定位并分割出包含
37、牌照字符号码的矩形区域; ( 4) 对牌照字符进行二值化并分割出单个字符, 经归一化后输入字符识别系统进行识别。3.3 图像的读取MATLAB中从图像中读取数据函数imread(), 这个函数的作用是将图像文件的数据读入矩阵中, 另外还能够用imfinfo()函数查看图像文件的信息。函数imread能够从任何MATLAB支持的图像文格式中读取一幅图像。格式为: A=imread(filename,fmt)X,MAP=imread(FTLENAME,FMT),其中: FTLENAME为需要读取的图像文件名称, FMT是图像格式。.=imread(filename,fmt).=imread(fil
38、ename).=imread(URL,.).=imread(.,idx) (CUR,ICO,and TIFE only).=imread(.,frames,idx) (GIF only)A,map,alpha=imread(.) (ICO,CUR,and PNC only)图像的信息读取能够经过调用imfinfo函数获得与图像文件有关的信息, 格式如下: INFO=imfinfo(FTLENAME,FMT), 其中返回的INFO是MATLAB的一个结构体; 大多数图像文件格式采用8为数据存储像素值, 将这些文件读入内存后, MATLAB都将其存储为unit8类型。对支持16为数据的文件格式,
39、如PNG和TIFE, MATLAB则将这些图像存储为unit16类型。和其它MATLAB生成的图像一样, 一旦一幅图像被显示了, 那么它将成为一个图形对象句柄。在读取图像之前, 应该先清除MATLAB所有的工作平台变量, 并关闭打开的图形窗口。为此, 可使用以下命令: clear; close all然后使用图像选取函数imread就能够读取一幅图像。假设要读取图像为pout.tif(该图像是图像处理工具箱自带的图像), 并将她存储在一个名为I的数组中, 使用命令: I=imread(pout.tif);然后调用inshow命令来显示图像: inshow(I)本设计中图像的读取程序如下: im
40、read(E:/车牌图片.jpg); figure(),subplot(3,2,1),imshow(I),title(原始图像) 图3.2 .原始图像Figure对象是MATLAB系统中包括GUI设计编辑窗在内所有显示窗口。在系统运行极限条件下, 用户能够创立任意多个Figure窗。所有Figure对象的父对象都是Root对象, 而其它所有MATLAB图形对象都是Figure对象的子对象。如果当前没有创立任何Figure对象, MATLAB在调用一个绘图函数( 如plot 函数mesh函数) 时, 都自动创立一个Figure对象, 如果在 MATLAB系统中已经包括了好多Figure窗, 系统
41、则总是指定一个Figure窗为当前窗口, 以后所有的函数默认把它作为输出图行窗。如果当前只有GUI设计编辑窗, MATLAB系统也默认为无可用的Figure窗, 及调用绘图函数时将重新创立一个Figure对象。3.4 预处理及边缘提取原始图像灰度校正平滑处理提取并定位车牌 图3.3 预处理及边缘提取流程图 3.4.1 图像的采集与转换考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、 黄底黑字、 白底红字、 绿底白字和黑底白字等几种, 利用不同的色彩通道就能够将区域与背景明显地区分出来, 例如, 对蓝底白字这种最常见的牌照, 采用蓝色B 通道时牌照区域为一亮的矩形, 而牌照字符在区域中并不呈
42、现。因为蓝色( 255, 0, 0) 与白色( 255, 255, 255) 在B 通道中并无区分, 而在G、 R 通道或是灰度图像中并无此便利。同理对白底黑字的牌照可用R 通道, 绿底白字的牌照能够用G 通道就能够明显呈现出牌照区域的位置, 便于后续处理。原图、 灰度图及其直方图见图2与图3。对于将彩色图像转换成灰度图像时, 图像灰度值可由下面的公式计算: ( 3.4.1.1) ( 3.4.1.2) 3.4.2 图像预处理 图像预处理是对原始资料进行遥感器效应和几何及辐射效应等的应用前期处理, 是将每一个文字图像分检出来交给识别模块识别。在图像分析中, 对输入图像进行特征抽取、 分割和匹配前
43、所进行的处理。图像预处理的主要目的是消除图像中无关的信息, 恢复有用的真实信息, 增强有关信息的可检测性和最大限度地简化数据, 从而改进特征抽取、 图像分割、 匹配和识别的可靠性。预处理过程一般有数字化、 几何变换、 归一化、 平滑、 复原和增强等步骤。图像预处理是车牌定位的准备工作, 以提高车牌图片的适用性。图像不但包括车牌照, 而且还有汽车本身和汽车背景图像, 因此必须去掉这些非牌照图像的影响, 才有可能正确的提取出牌照区域, 为以后的车牌字符识别打下基础。在实际用用中, 由于季节的更替、 自然光照的昼夜变化、 光照的稳定性与均匀性、 车辆自身的运动、 观察点、 采集图像的设备本身因素等的
44、影响, 因而必须对图像进行预处理, 以改进图像质量, 提高字符识别率。3.4.3 图像增强对车辆图像进行灰度化处理值后, 车牌部分和非车牌部分图像的对比度并不是很高, 此时如果直接进行边缘提取, 由于车牌界限较为模糊, 难以提取出车牌边缘, 因此难以准确定位车牌。为了增强牌照部分图像和其它部位图像的对比度, 使其明暗鲜明, 有利于提高识别率, 需要将车辆图像进行增强。图像增强的目的是对图像进行加工, 以得到对具体应用来说视觉效果更适合计算机识别的图像。增强图像的方法有很多, 如灰度变换、 图像平滑处理和线性滤波等, 根据处理图像域又能够分为空间增强与领域增强。当前用于车牌图像增强的方法有: 灰
45、度拉伸直方图均衡中值滤波高斯滤波图像腐蚀同等滤波等等。3.4.4灰度变换灰度图是指只包含亮度信息, 不包含彩色信息的图像, 例如平时看到的亮度连续变化的黑白照片就是一幅灰度图。灰度化处理就是将一幅彩色图像转换成为灰度图像的过程。彩色图像分为R、 G、 B三个分量, 分别显示出红、 绿、 蓝等各种颜色, 灰度化就是彩色的R、 G、 B分量相等的过程。灰度值大的像素点比较亮, 反之比较暗。输入的彩色图像包含大量颜色信息, 会占用较多的存储空间, 且处理时也会降低系统的执行速度, 因此对图像进行识别等处理时, 常将彩色图像转换为灰度图像, 以加快处理速度。图像灰度化的算法主要由以下3种: ( 1)
46、最大值法: 是转化后R、 G、 B的值等于转化前3个之中最大的一个, 即: ( 3.4.4.1) 这种方法转换的灰度图亮度高。( 2) 平均值法: 使转化后R、 G、 B的值为转化前R、 G、 B的平均值 ( 3.4.4.2) 这种方法产生的灰度图像比较柔和。 ( 3) 加权平均值法: 按照一定的权值, 对R、 G、 B的值加权平均, 即: ( 3.4.4.3) 其中, 、 、 分别为R、 G、 B的权值。、 、 取不同的值, 将形成不同的灰度图像。由于人眼对绿色最为敏感, 红色次之, 对蓝色的敏感性最低, 因此使将得到较易识别的灰度图像。图3.4.灰度图像灰度图像显示最基本的调用格式如下:
47、imshow(I)imshow 函数是经过将灰度值表杜威灰度级调色版的索引来显示图像。如果I是双精度类型, 若像素值为0.0, 则显示为黑色, 1.0则显示为白色, 0.0和1.0之间的类型, 像素值将显示为灰影。如果I为unit16则像素值65535将被显示为白色。imshow函数显示灰度图像的另一种调用格式是: 是用明确地指定灰度级数目。例如, 以下语句将显示一幅32个灰度及的图像I: imshow(I, 32)此次毕业设计中灰度图像显示的语句为: I1=rgb2gray(I);figure(2),subplot(1,2,1),imshow(I1);title( 灰度图) ; 为了更好地观察图像的灰度分布信息, 能够用imhist函数创立描述图像灰度分布的直方图, 并使用figure命令将直方