1、1目 录第 1 章 绪论 .11.1 选题背景和意义 .11.2 国内外研究现状 .11.3 本文研究的重点 .2第 2 章 车牌识别系统概述 .32.1 所用软件简要介绍 .32.2 车牌自动识别的实现 .32.2.1 图像预处理模块 .32.2.2 车牌定位分割模块 .42.2.3 车牌字分割模块 .42.2.4 车牌字符识别模块 .4第三章 车牌定位 .53.1 图像预处理原理与算法 .53.1.1 将彩色图像转化为灰度图像 .53.1.2 去除图像的干扰噪声 .53.1.3 图像边缘检测 .53.2 车牌粗略定位算法及其实现 .63.2.1 边缘密度法 .73.2.2 种子法标定单连通
2、区域 .83.2.3 利用车牌特征去除干扰单连通区 .83.3 车牌精确定位 .9第四章 车牌字符分割及识别 .114.1 字符分割预处理 .114.1.1 直方图阈值分割 .114.1.2 图像的归一化处理 .124.2 分割参考系建立 .124.2.1 分隔符区域特征 .124.2.2 分隔符区域搜索算法 .134.2.3 分隔符参照系预分割 .144.3 字符分割算法 .154.4 车牌字符特征分析 .164.4.1 车牌字符识别主要有如下特点: .164.4.1 字符特征分类 .174.5 特征模板的匹配 .174.5.1 十三特征模板匹配 .174.5.2 投影法字符识别 .18第五
3、章 结论与展望 .205.1 结论 .205.2 展望 .20参考文献 .21致谢 .222附录 A.23附录 B.413第一章 绪 论1.1 选题背景和意义随着我国经济社会的迅速发展,机动车辆规模及流量大幅度增加,迫切需要采用高科技手段加强交通管理水平。智能交通系统(ITS)是解决交通问题的理想方案,包括我国在内的世界各国都在大力发展智能交通系统,以此来提高交通运输的管理水平和效率。车辆牌照识别(LPR)是 ITS 的一个重要组成部分,其任务是处理、分析摄取的车辆图像,以自动识别车辆牌照,在交通流量检测及控制、出入口及小区车辆管理、违章车辆监控、不停车自动收费、道口检查站车辆监控、计算出行时
4、间、车辆安全防盗、查堵指定车辆等方面具有较强的实用价值和巨大的市场应用潜力。1.2 国内外研究现状车辆牌照识别技术,是一个以特定目标为对象的专用计算机视觉系统,该系统能从一幅图像中自动提取车牌图像,自动分割字符,进而对字符进行识别。汽车牌照的定位、字符分割和识别技术是车牌自动识别系统的关键技术,是提高车牌识别率的关键。许多学者对其进行了较为深入的研究和探讨,提出的车牌定位算法主要有:基于纹理特征分析的方法、基于边缘检测的定位方法、基于小波分析的定位方法、基于图像彩色信息的定位。还提出了基于投影分析、连通域分析的字符分割方法和基于模版匹配、神经网络等的字符识别方法。根据国内汽车牌照的字符特征,许
5、多研究人员已提出了多种算法,在现有方法的基础上,可取其优点,相互补充,结合数学工具,提高系统的速度和精度。虽然很多研究人员已对车牌识别进行了较为深入的研究,但目前在车牌定位和字符分割这两个关键环节还存在着有待解决的难题。一是当车牌图像的对比度较小、光照不均匀、车牌磨损褪色以及背景中具有与车牌特征有较多相识之初的干扰时,有效定位率下降, ;其次在车牌字符分割时,光照不均、对比度较小、倾斜、污迹、字符粘连和断裂等严重退化的车牌图像的字符分割效果也不理想。而对于车牌字符的识别来说,其识别的准确率很大程度上依赖于车牌定位和字符分割是否成功。众多研究人员正在对提高系统抗干扰性及适应性的算法进行研究。也有
6、部分人员开始利用彩色图像特征对车辆牌照识别技术进行研究,由于彩色图像携带有更多4信息,有望大幅提高系统性能。1.3 本文研究的重点本文研究的重点是对车牌识别系统的各个关键部分选择合适的算法,编写程序实现其功能。通过实验效果,对算法进行适当改进,达到更好的效果。本文中车牌粗略定位采用了数学形态学操作;车牌精确定位部分采取了垂直水平差分投影算法。字符分割部分采用了基于分割符特征的算法。字符识别部分仅对车牌数字采用模板水平差分投影法进行了识别。从实验结果来看,以上算法实现的车牌识别系统具有较高的成功率。5第二章 车牌识别系统概述2.1 所用软件简要介绍本文使用的是 opencv(Open Sourc
7、e Computer Vision Library )软件包,在此作简要介绍。OpenCV 于 1999 年由 Intel 建立,现在由 Willow Garage 提供支持。OpenCV 是一个基于 BSD 许可证授权(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows 和 Mac OS 操作系统上。它轻量级而且高效 由一系列 C 函数和少量 C+ 类构成,同时提供了 Python、Ruby、 MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。2.2 车牌自动识别的实现本文研究的内容是软件模块功能的实现,其工作流程如图 2-1 所示,系统采用C 语言
8、开发,visual studio 2008 为平台。本文假定已采集到待处理图像,着重在图像中进行车牌定位、字符分割及字符识别。图 2-1 车牌识别系统流程图2.2.1 图像预处理模块此模块的主要作用就是对摄取的车辆图像进行数字化处理,突出车牌区域的特征,为图片定位、字符分割、字符识别提供较高质量的图像,对提高字符识别率有重要的意义。该模块主要包括彩色图像灰度化转换、图像增强、边缘检测等过程。图像预处理 车牌定位字符分割字符识别图像采集62.2.2 车牌定位分割模块本文首先去除背景中的干扰边缘。然后利用模板去除较大干扰,增强车牌区使车牌区形成单连通区域。利用单连通区域标定法,将可能的车牌区标定出
9、来作为车牌候选区。这样定位出来的车牌区再次利用灰度差分特征法,从粗定位车牌的图像中搜索车牌区域的边界,提取出车牌。在此部分力求最少车牌候选区,实现车牌区边界精确定位。2.2.3 车牌字分割模块字符的分割是指将车牌区域分割成若干个单个的字符区域,把单个有意义的字符从车牌中提取出来,作为独立的字符图像。字符分割的成败与否直接影响到单字符的识别效果。如果分割出的字符出现了断裂、粘连,则系统难以识别。车牌字符分割通常在充分利用车辆牌照格式、尺寸特征等基础上,采用垂直投影法实现。2.2.4 车牌字符识别模块本文采用基于字符特征的模板匹配算法,基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符
10、数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。其主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。7第三章 车牌定位3.1 图像预处理原理与算法3.1.1 将彩色图像转化为灰度图像真彩图转换具有信息量大的优点,但同时其数据量也大。在本文中主要利用汽车牌照的灰度图像进行处理,灰度图像数据量小,能提高后面图像处理的运行速度,这对汽车牌照识别这种实时性要求较高的系统是非常必要的。图像灰度值的转换公式为式(2-1):X=R0.289+G0.587+B0.114 式(2-1)其中,R、G、B 分别代表红色、绿色、蓝色三色的颜色值,代表转换后的灰度
11、值。在编程程序时,直接使用 opencv 库函数即可实现彩色图像到灰度图像的转化。3.1.2 去除图像的干扰噪声 图像中的噪声种类很多。噪声对图像的幅度和相位的影响十分复杂,有些噪声和图像信号独立不相关,有些则与图像相关的,噪声之间也可能是相关的。要减少噪声,必须针对具体情况进行。本文采用中值滤波,从实验结果看处理效果很好。中值滤波是一种非线性信号处理方法,中值滤波器本质上是一种顺序滤波器。由于中值滤波是一种非线性运算,对随机信号的严格数学分析比较复杂,在此主要采用定性方法对中值滤波原理作简要介绍。中值滤波就是利用一个有奇数点的滑动窗口,将窗口中心点的值用窗口内各点的中值代替。用公式表示为:式
12、(2-2) lknmfMediang,实验表明这种中值滤波对于消除孤立噪声点的干扰十分有用,更重要的是使用这种窗口进行滤波时,除有效地消除噪声外,还能很有效地保护边界的信息。3.1.3 图像边缘检测 物体的边缘是以图像局部特征的不连续性的形式出现的,例如,灰度值的突变,颜色的突变,纹理结构的突变等。边缘常常意味着一个区域的结束和另一个区域的8开始。车牌与车牌周围一般具有明显的灰度变化,经边缘处理后可将车牌形成独立的区域,便于车牌定位时形成与周围不相连的单连通区域。图3-1 边缘检测图采用边缘检测局部算子法的原理是考察图像的每个像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律,
13、用简单的方法检测边缘。边缘检测局部算子法大多数使用基于方向导数的掩模求卷积的方法, 常见的边缘检测算子有 Robert 算子、Sobel 算子、Prewitt 算子和高斯 -拉普拉斯算子,这些算子对各个方向的边缘都进行了强化,造成了边缘信息相对较多,使得汽车牌照采用投影法定位的难度加大。由于汽车牌照的垂直边缘较多, 本文采用 Canny 算子。本文在对汽车牌照图像进行边缘提取时, 采用 Canny 算子法能比较好地提取出连续的字符轮廓边缘,同时对于噪声有很好的抑制。边缘检测后图像如图 2-1。3.2 车牌粗略定位算法及其实现车牌定位是 LPR 的一项关键技术, 也是其难点之一。特别是在背景复杂
14、的汽车图像中, 某些非车牌区域也具有车牌的某一特征(如车身上的文字区), 若使用车牌的单一特征分割车牌, 分割结果中往往会有这些非车牌区域 , 效果不好, 而综合利用车牌的多个特征则可以有效地去除干扰, 获得目标车牌。93.2.1 边缘密度法如何从预处理后的图像中分割出车牌区域是本部分的目的。如果直接从边缘图进行数学形态学处理, 则会形成大量的复杂的几何形状, 这无疑会给牌照的定位造成很大干扰。本文使用一种模板内的“ 边缘密度法 ” , 利用“ 边缘密度” 来快速去除大量无关信息。首先给出“ 边缘密度法”的定义:在某一宽度范围的模板内, 灰度值大于某一阈值的边缘点的总和。参考文献已给出理论分析
15、,在此仅给出算法即实现方法。根据结论, 设计如下扫描算法如下(1)扫描整幅图像,二值化将灰度小于某阈值的点置 0, 否则置 255(2)记录每行的值 255 为点的个数,删除点数小于某数值的行(3)移动模板计算模板内点的密度,大于某阈值是将模板区图像全部置 225,否则置 0。(4)对图像进行一定的膨胀操作。从实验图像来看,该算法可有效保留车牌区,处理后的图像如图 3-1。图3-2 边缘密度法处理后图像103.2.2 种子法标定单连通区域 在使用边缘密度法后可形成多个单连通区域,要通过利用一方法实现单连通区域的搜索,找到各个单连通区域的边界。本文采用种子法(迷宫法)对每一闭合区域进行标号, 在
16、该算法中采用了递归及堆栈技术, 其实现过程是当找到某一区域的任一点后就把它作为种子点并压入堆栈, 然后进入一种递归状态 , 判断堆栈是否空,如不空则从堆栈中弹出一点作为当前点并作标号, 接着分别向左、向下、向右、向上找邻居点, 如找到邻居点且该点没有被标号过, 则继续压入堆栈。如此循环往复, 直到堆栈为空为止。该算法的优点是对压过堆栈的像素点作标记, 以防止该点重复压入 , 从而防止死循环, 提高标记速度。本实验采用一数组模拟堆栈,建立唯一的数组访问下标。并建立入栈和出栈函数,仅利用该二函数对堆栈进行操作,防止出错。对单连通去进行标定时,对访问过的白点(灰度值为 255 的像素点)赋 0。同时
17、记录下每个单连通区域最左、最右、最上和最下的坐标值,然后在灰度图像中设置感兴趣区,得到可能的车牌区作为进一步处理的对象。3.2.3 利用车牌特征去除干扰单连通区车牌的形状特征具有固定的长宽比, 约为 3:1, 并且车牌的尺寸有一定的范围, 利用这一特征可以删除许多其它单连通区域。此方法如下(1)计算单连通区域的长度、高度。(2)根据先验知识设定车牌长度、宽度,剔除长宽不在此范围的标定区域。(3)计算单连通区域的长度与高度比,将|长宽比-3|某值的的编号区剔除。由于满足设定的车牌长宽及其长宽比的区域仍然可能有几个,因此为了避免将其带入车牌的字符分割及其识别过程,增加程序的执行时间。应尽可能使用车牌的其他特征将非车牌区剔除。本文采用车牌水平和垂直灰度差分投影特性进行剔除。汽车牌照水平或垂直投影特征为汽车牌照区域水平或垂直差分投影呈现连续的峰、谷、峰的分布,而非车牌区一般不具有该特征。灰度差分投影算法将在车牌精确定位中进行详细介绍。利用该特征可进一步减少车牌候选区个数,当然还可能存在满足该条件的干扰区,本文不在进行讨论。要想将干扰的车牌候选区减少至最少,只能利用多个车牌特征进行识别,提高准确率,本文实现的车牌定位成功可达 70%以上。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。