1、编号 本科毕业设计车牌识别中倾斜牌照快速矫正方法的设计与实现The Design and Realization of a Fast Algorithm for License Plate Orientation Correction学 生 姓 名 向荣龙专 业 通信工程学 号 040421110指 导 教 师 孙俊喜学 院 电子信息工程学院2008 年 6 月长春理工大学毕业设计摘 要随着计算机性能的提高和计算机视觉技术的发展,车牌自动识别技术已经日趋成熟,系统日趋完善。但是应用到实际中却仍然存在一些问题。例如,在车辆牌照自动识别(LPR)过程中,车牌图像的倾斜会给下一步字符切分和识别带来困
2、难。利用传统的 Hough 变换进行倾斜矫正的运算量很大,本文提出采用轮廓跟踪方法去除牌照图像中和矫正无关的所有冗余信息并采用分级检测的策略,在最大程度上减少矫正过程的运算量。实验结果表明,该方法可以准确地检测出车牌的倾斜角度,同时矫正速度比传统 Hough 变换方法提高 10 倍左右。关键词: 车牌识别 倾斜矫正 轮廓跟踪 Hough 变换 分级检测AbstractAlong with the computation and the performance enhancement and the vision technology development of the computer, t
3、he technology of car license plate recognition was already mature day by day, the system was consummated day by day. But there still has some problems when it is applied in actual aspects. For example, in real-world License Plate Recognition (LPR), the plate tilt not only results in difficulties in
4、character segmentation but also causes adverse impact to the final recognition rate. A direct use of the Hough transform is computationally very expensive. To overcome this difficulty, This paper presents two novel methods: one is to use the contour tracing algorithm to get rid of unrelated image re
5、gions to save computation; and the other is to use a hierarchical searching strategy in the Hough transform to gain further speedup. To demonstrate the effectiveness of the proposed algorithm, it conducts extensive experiments over a large number of real-world vehicle license plates. It reports a 10
6、-time speed improvement.Key words:License Plate Recognition License Plate Orientation Correction Contour Tracing Hough Transform Hierarchical search长春理工大学毕业设计I目 录第一章 绪 论 11.1 汽车牌照识别技术概述 .11.2 车牌识别系统简介 .31.3 本文主要研究内容以及结构安排 .5第二章 Visual C+6.0 编程基础 62.1 Visual C+6.0 简介 .62.2 菜单和对话框的创建方法 .62.3 BMP 图像的读写
7、显示 .11第三章 车牌 图像预处理 153.1 图像灰度化 .153.2 二值化 .163.3 车牌图像的锐化 .183.4 图像滤波 .19第四章 车牌图像倾斜矫正原理 224.1 概述 .224.2 车牌图像倾斜矫正算法设计 .24第五章 全文总结 305.1 本文所做的主要工作 .305.2 不足之处 .30参 考文 献 31致 谢 32长春理工大学本科毕业论文1第一章 绪 论1.1 汽车牌照识别技术概述近二三十年以来,世界各国的汽车数量迅速增加,致使公路交通负担愈来愈重,因而引起了许多国家中央或地方政府对公路交通自动控制与管理的重视,“埋藏式磁回路系统、电视录像记录系统”等曾被广泛用
8、于这一目的,但这类系统却难以胜任像事故检测、汽车跟踪和牌照识别这样一些较为复杂的任务,或者由于系统笨重庞大,灵活性差,工作量又十分巨大而难以投入使用。计算机视觉系统的出现则为此提供了一个潜在的、强有力的且又十分灵活的工具。随着科学技术的不断发展,交通管理手段正从人工管理逐步转变成自动或半自动方式,既避免了由于人工干预所带来的弊端,同时又能大大提高工作效率。 目前,许多研究人员正在从事车辆自动识别系统(Automatic Vehicle Identification System, AVIS)方面的研究。车辆自动识别( AVIS)技术是智能交通系统(ITS)的一个重要组成部分,它是指识别车辆所有
9、的车牌、条形码或射频识别标志等特征来自动识别车辆的技术,在现在交通监控及管理中发挥着重要的作用。车辆牌照是车辆的“ 身份证 ”号码,在交通系统中有着不可替代的作用。通过它可以检索车辆的各项重要信息,记录车辆的违章或用于收费等信息,若能用计算机实时地识别车牌,就可以在无需为车辆加装其它特殊装置的情况下实现对车辆的自动监测,从而给交通系统的自动管理提供的极大的方便,因此车辆牌照自动识别系统的实现是推进交通管理计算机化的关键技术之一。本章介绍了课题的研究背景以及车辆牌照识别系统的发展现状,另外介绍了本论文的主要研究内容及结构安排。1.1.1 研究背景随着我国经济的发展,车辆拥有量及交通出行量猛增,事
10、故、违章逃逸、以机动车为工具流窜作案的快速侦破查处,成了我国公安交通管理部门的一大难题。全面实行对城市主要出入口及关键道路、交叉口的连续监控,是解决这一难题、打击犯罪行之有效的方法。采用车辆自动识别技术,做到自动识别、快速处理、报警,是及时快速侦破这类案件的强有力的技术手段,并能降低人工判别的误漏以及劳动强度。另外现代社会已经进入信息时代,随着计算机技术、通信技术和计算机网络技术的发展,自动化的信息处理能力和水平不断提高,并在人们社会活动和生活的各个领域得到广泛应用,在这种情况下,作为长春理工大学毕业设计2信息来源的自动检测、图像识别技术越来越受到热切的重视。而且随着我国国民经济的高速发展,国
11、内高速公路、城市道路、停车场建设越来越多,对交通控制、安全管理的要求也日益提高,智能交通系统(ITS)已经成为当前交通管理发展的主要方向,而车牌识别(LPR)技术作为智能交通系统的核心,起着举足轻重的作用,它在高速公路、城市道路和停车场等项目管理中占有无可取代的重要地位。我国从 70 年代开始在传统的交通运输和管理中应用了电子信息技术,随着社会的发展与进步,我国道路在未来 20 年内仍然处于建设阶段,这期间正是智能交通系统在全世界进入全面实施的阶段,因此我国需要根据公路交通的实际需要探讨在我国公路网中应用智能交通系统来提高交通效率,保障安全和保护环境。1.1.2 国内外研究现状智能交通系统(I
12、TS)是近 20 年来新兴起的一个跨学科的、系统化的综合研究体系,是以解决交通拥挤问题和高速公路多发事故问题而产生的。其目的是在不扩张路网规模的前提下,通过综合运用现代信息技术与通信技术等,来提高交通路网的通行能力和交通运输能力。国外高速公路和汽车发展较早,因此车辆号牌的识别系统应用得比较早也比较多,并且这些公司近几年发展也很快,比较有代表性的有 PERCEOTICS,现在美国几个大城市(如纽约)都是使用它的系统。据报道该系统白天的识别率为 90,夜间为 83。早在 1987 年日本就有一套叫“N SYSTEM”的车辆号牌的识别系统在日本几条著名的高速公路投入使用,其主要作用是帮助警方检查车辆
13、,据报道其白天的识别率为 82%,夜间为 67。另外,西班牙、匈牙利和以色列等国家都有该方面很优秀的公司。国内也有多家单位在进行这方面的研究,如西安交大有基于视频的车辆号牌识别系统;西安西北工业大学开发了一套基于 OCR 的车辆号牌的识别系统;浙江大学的字符识别算法据报道单字符识别率达到 97,由此折算出整车牌识别正确率约为 79,其算法是基于矩与小波,计算量太大;浙江大学人工智能也推出了一套车辆号牌的识别系统,据报道其号牌定位正确率为 94;同济大学关于车辆号牌自动定位分割算法的成功率据报道为 90%;上海交大叶晨洲 1 研制的车辆号牌的识别系统据报道汉字、数字和字母的识别率都大于 96,车
14、辆号牌的识别率为 82%。但是目前还未见过完全的识别率和识别正确率的报道。另外国内有多家公司与国外的公司合作,引进了国外的优秀算法,例如无锡的大卫公司引进的以色列公司的算法,设计的车辆号牌的识别系统识别率为85%,但无法识别汉字。长春理工大学毕业设计3综上所述,当今世界先进水平的车辆号牌识别系统在正常环境下的识别率为 95%左右,识别正确率为 90%左右,没有完全的识别率和识别正确率报道,所以车辆牌照识别还有待进一步的研究。1.1.3 汽车牌照识别技术的发展趋势及应用前景目前,从整个社会的应用效果来看,汽车牌照自动识别技术的主要问题是识别速度和识别的准确率,因此,高速识别和高识别率是牌照识别系
15、统的发展趋势,这两个指标决定了车辆牌照识别系统是否具有实用价值,而影响这些指标的主要因素除了系统的硬件外,就是识别的相关算法。所以,如何在不增加硬件的投资成本的基础下,采用优化的算法组合来得到系统的高可靠性,即提高车型车牌的识别率和识别速度 2 成为这一领域的主要研究方向。在智能交通信息系统快速发展的今天,车牌识别技术占有非常重要的位置,车牌识别技术的推广和普及,必将在城市道路管理、减少交通事故和车辆被盗案件的发生以及保障社会稳定等方面产生重大而深远的影响。其应用领域主要有以下几个方面:1高速公路收费、监控管理如果车牌识别系统得到应用,首先可以应用到高速公路收费管理上。它可以使车辆在进入或驶出
16、高速公路时不必停车即可实现收费管理,从而提高工作效率。2城市道路监控、违章管理车牌识别技术可以与汽车外型、颜色等结合起来使用,用于城市机动车的档案管理工作或特殊的交通管理工作。例如设置在交叉路口的电子眼,能够有效地自动捕捉闯红灯车辆,对提高交叉口的通行能力和保障交通安全起着非常重要的作用。3智能小区、停车场管理在小区和停车场的出入口设置车辆自动识别系统,对进出的车辆进行自动识别,根据数据库中的资料判断是否为外来车辆。对于外来车辆,自动记录出入停车场的时间,以便收费。此外,车牌识别系统还可用于军队的车辆管理,比如在军事禁区大门处设置车牌自动识别系统,通过车牌识别判断是否是该部军车,对该部军车自动
17、放行,使其能够不停车甚至不减速通过,这将为军事行动赢得宝贵时间。长春理工大学毕业设计41.2 车牌识别系统简介1.2.1 车牌识别系统组成硬件组成CCD 摄像头:用于采集汽车图像;视频采集卡:实现摄像头和电脑主机间的图像信息转换;电脑主机:安装了车牌识别系统软件,能够读取图像数据,分析提取车牌号码;其他硬件:各种硬件设备,如实际应用中的地感线圈等。系统模块图像采集:摄像头监控路口车辆来往情况,视频信号经过图像采集卡在监控计算上实时显示。当有车辆经过时,监控计算机捕捉到地感线圈产生的触发信号控制采集卡采集车辆图像。车牌图像预处理:对采集到的图像进行灰度化、灰度拉伸、二值化、边缘检测、中值滤波等处
18、理,以克服图像干扰,改善识别效果;车牌定位:车牌定位就是从包含整个车辆的图像中找到车牌区域的位置,车牌定位决定其后的车牌字符分割和识别,因此车牌定位是车牌识别系统中最关键的一步;倾斜矫正: 车牌图像的倾斜矫正是车牌识别系统中车牌定位和字符分割之间的一个重要处理过程。它直接关系到整个系统的识别正确率。在某些情况下,如果不进行倾斜矫正,将会使得下一步的字符分割无法进行。这是本次毕业设计研究的主要内容。字符分割:字符分割就是将车牌区域分割成单个的字符区域,以利于下一步的字符识别;字符识别:车牌字符识别是对分割出的字符进行分类从而识别它们。1.2.2 车牌识别系统原理当系统发现有车辆通过时(通过埋地感
19、应线圈或光束检测) ,触发图像采集系统,CCD 摄像机摄取包含车辆牌照的图像,将图像通过视频卡输入计算机进行预处理,再由定位模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化处理并将其分割为单个字符,归一化后输入字符识别子系统进行识别。下边是整个车牌识别系统的流程图:长春理工大学毕业设计5采 集 到 的 图 像 图 像 预 处 理 车 牌 图 像 分 割车 牌 定 位 倾 斜 矫 正字 符 分 割字 符 识 别 单 个 字 符图 1.1 车牌识别系统的流程图1.3 本文主要研究内容以及结构安排1.3.1 主要研究内容本文围绕汽车牌照识别系统中的车辆图像预处
20、理、车牌图像倾斜校正进行了研究,主要研究内容如下:1、车辆图像预处理方法研究:倾斜矫正处理之前需要对采集到的车辆图像进行梯度锐化、滤波去噪等处理,以克服图像干扰,改善识别效果。2、倾斜校正:这部分是同时也是本次毕业设计研究的主要内容。对车牌图像的倾斜矫正的准确率直接关系到整个系统的识别正确率。如果不进行倾斜矫正,那么整个系统正确识别率将会受到很大影响,有时甚至使得后续阶段的字符识别无法进行。1.3.2 论文结构安排本论文由五章正文内容和参考文献组成,具体内容安排如下:第一章,讨论了车牌识别技术在现今交通领域的应用价值,简单介绍了车牌识别技术的研究背景,以及近期内的国内外研究现状及发展方向,最后
21、列出了本论文的主要研究内容及其结构安排。第二章,介绍 Visual C+ 6.0 编程基础。首先介绍 Visual C+6.0 集成环境以及 BMP 文件结构。然后介绍怎样利用 Visual C+ 6.0 集成环境创建一个最基本的应用程序框架。第三章,车牌图像预处理,详细描述了如何对采集到的图像进行灰度化、长春理工大学毕业设计6二值化、边缘检测、中值滤波等处理,以克服图像干扰,改善识别效果。第四章,车牌图像倾斜矫正算法的设计与实现。首先将介绍车牌图像的几种常见的倾斜模式。然后介绍目前几种传统的车牌图像倾斜矫正模式以及其在实际应用之中存在的弊端缺陷等。最后介绍本文的中心内容,即倾斜角的检测,然后
22、用得到的角度对原车牌图像进行车牌矫正。第五章,本章总结归纳本论文研究成果和基本结论,并提出了系统的不足和有待解决的问题。第二章 Visual C+6.0 编程基础2.1 Visual C+ 6.0 简介2.1.1Visual C+ 6.0 概述Visual C+ 6.0 是 Microsoft 公司于 1998 年推出的基于 Windows 系统的优秀的集成开发环境 3 。正是由于 Visual C+ 6.0 与 Windows 操作系统的紧密联系,再加上 Microsoft 公司为 Visual C+ 6.0 开发的功能强大的 MFC(Microsoft Foundation Class,微
23、软基础类库),使得用 Visual C+ 6.0 语言编写的应用程序与其他开发语言相比,具有尺寸小、速度快、效率高等优势,因此 Visual C+ 6.0 成为广大程序开发人员的最爱。2.1.2Visual C+6.0 的主要优点Visual C+ 6.0 的最大优点就是提供了面向对象技术的支持,它利用类把大部分与用户界面设计有关的 Window API 函数封装起来,通过 MFC 类库的方式提供给开发人员,大大提高了程序代码的重用性。Visual C+ 6.0 提供了一个功能强大的 AppWizard(应用程序生成向导),它能帮助用户自动生成一个运行程序框架,用户只需要在该框架的适当部分添加
24、扩充代码就可以得到一个满意的应用程序。Visual C+ 6.0 还提供了一个强大的工具 ClassWizard(类向导),用户通过它可以方便有效地使用和管理 MFC 类库。Visual C+ 6.0 的“所见即所得”的程序界面设计方式,大大减轻了程序开发设计人员的劳动强度,提高了开发效率。长春理工大学毕业设计72.2 菜单和对话框的创建方法2.2.1 菜单简介菜单是图形用户界面的重要特征之一,用户与应用程序进行交互,最常见的操作就是选择菜单命令。事实上应用程序提供的所有功能,都可以通过菜单来实现。Windows 的 Microsoft Word 就包含了典型的菜单命令。此外,菜单还有主菜单和
25、子菜单之分,如图 2.1 所示。图 2.1 Microsoft Word 中的菜单项2.2.2 菜单的创建方法创建单文档用户界面的应用程序框架,具体创建方法如下:1创建应用程序框架 打开 Visual C+6.0 集成开发环境。选择 FileNew 菜单命令,显示New 对话框。 在“工程”选项卡中,选择工程类型为 MFC AppWizard(exe),设置工程名为“向荣龙”。 单击 OK 按钮,显示 MFC 应用程序向导。选择 Single document 应用程序类型,其它保持默认。 单击 Finish 按钮,显示新建工程信息,单击 OK 按钮完成创建。2定制菜单选择资源视图(Resou
26、rceView )选项卡,显示各资源的树形列表。其中节点 Menu 下的 IDR_MAINFRAME 资源是应用程序的主菜单资源。双击鼠标,则会打开菜单模板编辑器,并显示在右边的编辑区中。如图 2.2 所示:长春理工大学毕业设计8图 2.2 菜单模板编辑器这样用户就可以自己定制菜单了。本例中将在“帮助” 项右侧增加一个“操作”项,并定义如图 2.3 所示的子菜单。右键单击“帮助” 项右侧的空白框。选择属性,并在弹出的对话框中添加标题“操作(编译运行,左键单击“ 消息对话框 ”菜单命令后,执行如图 2.6 所示:图 2.6 自定义菜单操作2.2.3 对话框的创建方法除了菜单,对话框也是应用程序中
27、经常使用的重要部分,部分应用程序的用户界面仅仅就是用对话框实现的,如我们经常使用的文件的另存为对话框,如图 2.7 所示:长春理工大学毕业设计10图 2.7 Word 中的另存为对话框 图 2.8 对话框模板和控件列表对话框的实现非常容易,因为 Visual C+为我们提供对话框模板资源和常用的标准控件。具体实现方法如下:图 2.9 定制对话框 图 2.10 添加成员变量 选择工作区 ResourceView 选项卡,选择 Dialog 节点,右键单击并选择Insert Dialog 项,将插入如图 2.8 所示的对话框模板和控件列表。 定制如图 2.9 所示的对话框,并通过类向导创建基于该对
28、话框的新类CMDLOG,同时为 Edit 控件添加 Csting 类型的成员变量 m_param。如图 2.10所示: 双击“确定 ”按钮,添加消息响应函数 OnOK( ),并添加实现操作的代码。编译运行,结果如图 2.11 所示。长春理工大学毕业设计11图 2.11 实现结果2.3 BMP 图像的读写显示2.3.1 BMP 文件格式BMP 文件格式是微软公司为其 Windows 操作系统设置的标准图像格式,在Windows 系统软件中包含了一系列支持 BMP 图像处理的 API 函数。BMP(bitmap 的缩写)文件可描述多达 32 位彩色的图像。通常图像是以非压缩方式存储的,但是也可以进
29、行压缩处理。本文所设计的图像格式均为 BMP图像文件格式,并且文件里的图像数据是未压缩的。因为图像的数字化处理主要是对图像中的各个像素进行相应的处理,而未压缩的 BMP 图像中的像素数值正好与实际要处理的数字图像相对应,这种格式的文件最合适我们对之进行数字化处理。压缩过的图像是无法直接进行数字化处理的,如 JPEG, GIF 等格式的文件,此时首先要对图像文件解压缩,这就要设计到一些复杂的算法。因此我们讨论的都是未压缩的 BMP 图像。BMP 文件分为以下几个部分: BITMAP FILEHEADER (文件头) BITMAP INFO (位图信息 , 包括位图信息头和颜色信息表两部分) 位图
30、像素数据(主体部分)这三大部分结构定义如下:1. 文件头位图文件头主要用于识别位图文件,位图文件头的结构定义如下:typedef struct tagBITMAPFILEHEADER/ bmfhWORD bfType; /指定文件类型,必须为 “BM”长春理工大学毕业设计12DWORD bfSize; /指定文件大小(字节数)WORD bfReserved1; /保留,必须为0WORD bfReserved2; /保留,必须为0DWORD bfOffBits; /指定文件开始到图像数据的偏移字节数 BITMAPFILEHEADER;2位图信息位图信息主要用于设置位图,包括设置位图信息头和颜色信
31、息表两部分,其结构定义如下:typedef struct tagBITMAPINFOBITMAPINFOHEADER bmiHeader; /位图信息头RGBQUAD bmiColors1; /颜色信息表BITMAPINFO;位图信息头包含了单个象素所用字节数以及描述颜色的格式,以及位图的宽度、高度、目标设备的位平面数、图像的压缩格式等,其结构定义如下:typedef struct tagBITMAPINFOHEADER /bmihDWORD biSize; /指定结构的字节数LONG biWidth; /指定位图的宽度(像素数)LONG biHeight; /指定位图的高度(像素数)WORD
32、 biPlanes; /指定位平面数,必须为1WORD biBitCount; /每个像素的位数DWORD biCompression; /压缩类型DWORD biSizeImage; / 图像大小(字节数)LONG biXPelsPerMeter; /设备的水平分辨率LONG biYPelsPerMeter; /设备的垂直分辨率DWORD biClrUsed; /实际用到颜色表中的颜色数DWORD biClrImportant; /显示位图所需的重要颜色数 BITMAPINFOHEADER;其中,每个像素的位数biBitCount决定了位图的最大颜色数,可以取值为0(用于JPEG 格式)、1
33、(单色)、4(16色)、8(256色)、16(64K )、24(16M 真彩色)和32(4G真彩色)。颜色信息表主要用于创建调色板,一般是针对16位以下的图像而设置的。对于16位以下的图像,由于其位图象素数据中记录的只是调色板的索引值,因而需要根据改索引值从调色板中取得对应的RGB颜色。颜色信息表是由颜色表长春理工大学毕业设计13项组成的,其结构定义如下:typedef struct tagRGBQUAD/rgbqBYTE rgbBlue; /蓝色值BYTE rgbGreen; /绿色值BYTE rgbRed; /红色值BYTE rgbReserved; /保留,必须为0RGBQUAD;3位图
34、像素数据位图像素数据是位图的主体部分,存储了位图的所有像素的数据。根据不同的位图,位图数据所占有的字节数也是不同的。例如,对于 8 位位图,一个像素数据占据一个字节;对于 16 位位图,一个像素占据两个字节;对于 24 位位图,一个像素占据 3 个字节;而对于 32 位位图,一个像素占据 4个字节。以上是 BMP 文件格式的说明,弄清楚了以上的结构,就可以正确的操作图像文件,对其进行读或写的操作了,下一节将要介绍在 Visual C+6.0 环境下的图像处理技术。2.3.2 BMP 图像的显示掌握了 BMP 文件的结构以后,我们就可以对 BMP 格式的图像进行操作了。本小节将介绍 BMP 格式
35、图像的显示。具体操作步骤如下: 打开 Visual C+6.0 集成开发环境,创建工程名为“BMP 图像显示”的单文档应用程序框架。 设置 CBMPView 的基类为 CscrollView。 在视图类 CBMPView 中添加两个成员变量,代码如下:BOOL m_bFile;CString m_strFileName; 重载 ID_FILE_OPEN 菜单项命令响应函数 OnFileOpen,并添加如下代码:void CBMPView:OnFileOpen() CfileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPRO M
36、PT,“BMP 文件(*.bmp)|*.bmp|“,NULL); /打开文件对话框if(dlg.DoModal()=IDOK)m_strFileName=dlg.GetPathName(); /获取打开的文件名m_bFile=TRUE; /设置文件选择标志长春理工大学毕业设计14Invalidate(); /显示位图 添加位图显示功能,在 OnDraw 函数中添加如下代码:void CBMPView:OnDraw(CDC* pDC) CBMPDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CDC *pMemDC=new CDC; /内存显示 DCpMe
37、mDC-CreateCompatibleDC(pDC); /创建与当前 DC 兼容的 DC/从位图文件中载入位图数据,并返回位图的句柄HBITMAP hbitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),m_strFileName, IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);CBitmap bitmap; /Cbitmap 类对象bitmap.Attach(hbitmap); /绑定位图数据BITMAP bm;bitmap.GetBitmap( /获取位图信息pMemDC-Selec
38、tObject(CRect rc; GetClientRect(rc);pMemDC-SetStretchBltMode(COLORONCOLOR); /绘制位图pDC-BitBlt(0,0,bm.bmWidth,bm.bmHeight,pMemDC,0,0,SRCCOPY); delete pMemDC; 编译运行,打开位图文件,显示效果如图 2.12 所示。图 2.12 打开并显示位图文件长春理工大学本科毕业论文15第三章 车牌图像预处理车牌图像预处理 3 是为了给车牌的倾斜矫正打下良好的基础。好的预处理算法可以大大减少车牌图像倾斜矫正过程之中计算量。最终,可以有效提高系统的准确识别率。本
39、章介绍车牌识别过程中用到的图像预处理方法,目的是提高图像质量,突出车牌信息,这些内容包括:图像灰度化、二值化、梯度锐化、中值滤波、边缘检测等等。在这一章节中将详细介绍这些预处理方法。3.1 图像灰度化3.1.1 灰度化的必要性目前,汽车牌照图大都是通过摄像机、数码相机等设备拍摄获取的,因此预处理前的图像多是彩色图像。如果直接处理彩色图像,其复杂性和数据的庞大性将会降低系统处理的速度,达不到快速、实时的要求。因此图像预处理部分首先将输入的彩色图像去掉色彩信息,进行灰度化。这样,一方面便于后续的更快速图像处理,另一方面也是对处理多种颜色车辆牌照进行了统一。3.1.2 灰度化的基本原理在 RGB 模
40、型中,如果 RGB ,则颜色表示一种灰度颜色,灰度化就是使彩色图像的 R, G, B 分量值相等的过程,其中 RG B 的值叫做灰度值,灰度图像就是只有强度信息,而没有颜色信息的图像:存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应位置的像素的灰度值。彩色图像的像素色为 RGB( R,G,B )灰度图像的像素色为 RGB(r, r, r) ,R、G 、B 可由彩色图像的颜色分解获得。而 R,G,B 的取值范围是 0255,所以灰度的级别只有 256 级。常用的灰度化处理方法主要有如下几种:最大值法:使 R、G、B 的值等于三值中最大的一个,即RGBmax(R,G,B) (3-1)平均值法
41、:使 R、G、B 的值等于三值中的平均值,即RGB(R+G+B)/3 (3-2)加权平均值法:根据重要性或其他指标给 R、G 、B 赋予不同的权值,并使R、G、B 等于它们的值的加权和平均,即RGR(WrR+WgG+WbB)/3 (3-3)其中 Wr、Wg 、Wb 分别是 R、 G、B 的权值,由于人眼对绿色的敏感度高,长春理工大学毕业设计16对红色的敏感度次之,对蓝色的敏感度最低,所以本课题在对图像进行灰度化处理的时候采用的是加权平均值法,取 Wr0.299 ,Wg 588, Wb0.113,从而得到最合理的汽车牌照灰度图像。图像灰度变换后的效果如图 3.1 所示。图 3.1 图像灰度化效果
42、对比3.2 二值化3.2.1 二值化的必要性及其原理牌照图像的二值化是处理与识别图像中很关键的一个步骤,效果的好坏直接影响到后续工作。二值化属于幅度分割方法,其目的是得到鲜明区分目标和背景的二值图。二值化处理就是用计算出来的阈值把原始图像分为对象物和背景两部分。车牌图像二值化处理即将图像转换成二值图像,也就是整幅图像中仅有黑白二值的图像。这里定义灰度级 255 为白,灰度级 0 为黑,得出阈值后,对图像进行阈值变换。对于灰度值值小于阈值的像素直接设置其灰度值为 0,灰度值大于阈值的象素直接设置为 255。如果图像 f(x,y)的灰度级范围为( ),设 T 为 和 间的一个数,minax,Zmi
43、nZax那么二值图 g(x,y)可由式 34 表示: (34)1,()(,)0fygxyx式中 f(x,y)是原图像中坐标为(x,y) 的象素点的灰度值, g(x,y) 是变换后该象素点的二值化标志,0 表示黑点,1 表示白点。在实际的车牌处理系统中,进行图像二值化变换的关键那是要确定合适的T 值,使得字符与背景能够分离开来,而且二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。同时,车牌识别系统要求处理的速度高,成本低,信息量大,采用二值图像进行处理,能大大地提高处理效率。长春理工大学毕业设计173.2.2 阈值的选取二值化的关键是阈值 T 的选择,根据
44、阈值选择方法的不同,常用的二值化方法分为全局 13、局部和动态阈值二值化三大类,以下介绍常用的局部阈值法。这种方法对于有较大噪声污染的车牌图像很适用。局部阈值法通过考察点的邻域,并将邻域计算模板实现考察点灰度与邻域点的比较,方法中阈值的选择依靠考察点的灰度值及其周围的局部邻域的灰度值来决定,它是一种动态选择阈值的方法。非均匀光照条件等情况虽然影响整体图像的分布却不影响局部的图像性质,使得局部阈值法较全局阈值法更广泛的应用,典型的局部阈值法是 Bernsen 算法,该方法所寻求的阈值由考察点邻域的灰度确定,考察以 f(x,y)为中心的(2w+1 )(2w+1)模板,其中 w 是估计最大笔画宽度,
45、f(x,y)表示(x,y) 处的灰度值。其算法描述如下:计算各点的阈值(35)k(,)0.5(max,)min(,)wwkl lTxyfyfxyl逐点进行二值化 (36)0,(,)(,)(,)1fxyTgxy若若Bernsen 算法的阈值由考察点邻域的灰度值确定,算法不存在统一阈值,适应性较全局阈值法广,是一种较为常用的局部阈值二值化方法。由于采集到的原图像中牌照四周的景物,光照条件和牌照的整洁程度的影响使得牌照图像的灰度直方图呈现出多种复杂情况,例如没有明显波峰,或两个以上波峰,或两个对等波峰等,使我们无法据此确定牌照字符的灰度范围,此外即使获得了理想的波峰值,也会由于牌照字符像素的灰度分布
46、与背景像素的灰度分布混淆在一起而使阈值的选取缺乏足够依据。为解决上述问题,课题采用自适应阈值法对车牌图像进行二值化处理,能够加快图像处理的速度,取阈值:(37)maxina3GTGmax 和 Gmin 分别是图像中的最高、最低灰度值。该阈值对不同的牌照有一定的适应性,能够保证背景基本被置为 0,以突出牌照区域。采集到的彩色图像经过灰度化处理后,再经过二值化处理后的效果如下:长春理工大学毕业设计18图 3.2 经过二值化后的图像3.3 车牌图像的锐化在对车牌图像进行中值滤波,去除噪声之前,我们需要对其进行锐化 5,从而增强图像中实物的边缘和轮廓。在本次设计中采用梯度锐化法来增强图像,以使得后阶段
47、的倾斜矫正更容易实现。 3.3.1 梯度锐化法二元连续函数 f(x,y)在坐标点(x,y) 处的梯度定义为 (38)xyfGf这个梯度向量的幅度由式(39)给出: (39)1222()()xyfffmagfGxy尽管梯度向量的分量本身是线性算子,但是梯度幅度由于用到了平方和开方运算而呈现出非线性的性质。另外,式(38)中的偏导数并非是各向同性的,但梯度幅度却是各向同性的。我们一般把梯度幅度称为梯度。为了降低图像的运算量,在实际操作中,常用绝对值或最大值运算代替平方与平方根运算近似求梯度的幅度。 (310)|xyfG或 (311)ma(|,|)xyf对于数字图像,微分常用差分代替,沿 x 和 y
48、 方向的一阶差分可以分别表示为长春理工大学毕业设计19(312)(1,)(,xGfijfij(313)y数字图像的差分运算可取(314)(,)|(1,)(,|(,1)(,|xyijfijfijfijfij(315ma|,|)ax| | )|fG) 在实际应用中常常采用小型模板,然后利用卷积运算来近似梯度,Gx 和Gy 各自使用一个模板。对模板有一些基本要求:模板中心为整,其余相邻系数为负,且所有的系数之和为零。人们已经提出了许多不同大小、不同系数的模板,最简单的是 Roberts 算子,其 Gx 和 Gy 模板定义如下。, (316)10xG10y实验结果表明,经过梯度锐化后的车牌图像得到了有效的增强,这大大减小了后续阶段车牌定位和倾斜矫正过程之中的计算量。3.4 图像滤波3.4.1 滤波的必要性图像信息在采集过程中往往受到各种噪声源的干扰,比如信道噪声、量化噪声、脉冲干扰等,这些噪声在图像上的常常表现为一些孤立像素点,这可理