基于模板匹配车牌识别技术的研究.docx
- 文档编号:16302932
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:24
- 大小:537.47KB
基于模板匹配车牌识别技术的研究.docx
《基于模板匹配车牌识别技术的研究.docx》由会员分享,可在线阅读,更多相关《基于模板匹配车牌识别技术的研究.docx(24页珍藏版)》请在冰点文库上搜索。
基于模板匹配车牌识别技术的研究
基于模板匹配车牌识别技术的研究
一、研究背景
汽车牌照自动识别模块是现代社会智能系统的重要组成部份,是图像处置和模式识别技术研究的热点,具有超级普遍的应用[1]。
车牌识别要紧包括以下三个步骤:
车牌区域定位、车牌字符分割、车牌字符识别。
本论文通过对搜集的车牌图像进行灰度变换、边缘检测、侵蚀、滑腻等进程来进行车牌图像预处置,并由此取得一种基于车牌颜色纹理特点的车牌定位方式,最终实现了车牌区域定位。
车牌字符分割是为了方便后续对车牌字符进行匹配,从而对车牌进行识别。
本论文采纳了模板匹配的方式,对输出的字符图像和模板库里的模板进行匹配,以取得对应于车牌字符的具体信息。
本论文还基于MATLAB进行了设计仿真实验,实验说明,该方案整体有效可行。
基于模板匹配的车牌识别技术在其识别正确率、速度等方面具有独特的优势及广漠的应用前景。
二、理论基础
车牌定位与字符识别技术是以运算机数字图像处置、模式识别等技术为基础,通过对原图像进行预处置及边缘检测等进程来实现对车牌区域的定位,然后对车牌区域进行图像裁剪、归一化、字符分割及保留,最后将分割取得的字符图像与模板库里的模板进行匹配识别,从而输出匹配结果。
该流程如以下图所示:
——>搜集图像
——>图像预处置
——>定位车牌区域
——>车牌图像处置
——>字符分割
——>字符识别
——>输出结果(⇒车辆牌照识别系统)
车牌识别第一要正确地分割车牌区域,为此已经提出了很多方式:
利用霍夫变换检测直线来定位车牌边界,进而获取车牌区域;利用灰度阈值分割、区域生长等方式进行区域分割;利用纹理特点分析技术检测车牌区域等。
但是霍夫变换对图像噪声比较灵敏,因此在检测车牌边界直线时,容易受到车牌变形或噪声等因素的阻碍,具有较大的误检测概率。
灰度阈值分割、区域增加等方式那么比霍夫直线检测方式稳固,但当图像中包括某些与车牌灰度超级相似的区域时,便再也不适用了。
同理,纹理特点分析方式在碰到与车牌纹理特点相近的区域或其他干扰时,车牌定位的正确率也会受到阻碍。
因此仅采纳单一的方式,难以达到实际应用的要求。
若是进行车牌字符的定位和裁剪,那么需要第一对输入的车牌图像进行预处置,以取得精准的车牌字符图像;然后将处置后的车牌看做由持续的字符块组成,并设定一个灰度阈值,若是超过该阈值,那么以为有多个字符相连,需要对其进行切割,进而实现对车牌字符的分割;最后把分割的字符图片进行标准化并与模板库进行比对,选出最相似的字符结果并输出,即为车牌信息。
、车牌图像处置
、图像灰度化
车牌图像的搜集一样是通过数码相机或摄像机来进行,取得的图片一样都是RGB图像,即真彩图像。
依照三基色原理,每一种颜色都能够由红、绿、蓝三种基色按不同的比例组成,因此车牌图像的每一个像素都由三个数值来指定红、绿、蓝的颜色分量。
灰度图像事实上是一个数据矩阵I,该矩阵每一个元素的数值代表必然范围内的亮度值,矩阵I能够是整型、双精度型,通常0代表黑色,255代告白色。
在MATLAB中,一副RGB图像能够用uint八、uint16或双精度等类型的m×n×3矩阵来描述,其中m和n别离表示图像的宽度和高度,此处的RGB图像不同于索引图,因此不利用调色板。
在RGB模型中,若是R=G=B,那么表示一种灰度颜色。
其中,R=G=B的值叫做灰度值,由彩色转为灰度的进程叫做图像灰度化处置。
因此,灰度图像是指只有强度信息而没有颜色信息的图像。
一样而言,可采纳加权平均值法对原始RGB图像进行灰度化处置,该方式的要紧思想是从原图像中取R、G、B各层像素值,通过加权求和取得灰度图的亮度值。
在现实生活中,人眼对绿色灵敏度最高,对红色灵敏度次之,对蓝色灵敏度最低,因此为了选择适合的权值对象,使之能够输出合理的灰度图像,权值系数应知足G>R>B。
实验和理论说明,当R、G、B的权值系数别离选择、、时,能够取得最适合人眼观看的灰度图像。
、图像二值化
灰度图像二值化在图像处置进程中有着很重要的作用,图像二值化处置不仅能使数据量大幅减少,还能突出图像的目标轮廓,便于进行后续的图像处置与分析。
对车牌灰度图像而言,所谓的二值化处置确实是将其像素点的灰度值设置为0或255,从而让整幅图片呈现黑白成效。
因此,对灰度图像进行适当的阈值选取,能够在图像二值化的进程中保留某些关键的图像特点。
在车牌图像二值化的进程中,灰度大于或等于阈值的像素点被判定为目标区域,其灰度值用255表示;不然这些像素点被判定为背景或噪声而排除在目标区域之外,其灰度值用0表示。
图像二值化是指在整幅图像中仅保留黑、白二值的数值矩阵,每一个像素取两个离散数值0或1,其中0代表黑色,1代告白色。
在车牌图像处置系统中,进行图像二值化进程的关键是选择适合的阈值,使得车牌字符与背景能够取得有效分割。
不同的阈值设定方式对车牌图像进行处置也会产生不同的二值化处置结果:
阈值设置得过小,那么容易误分割,产生噪声,阻碍二值变换的准确度;阈值设置得过大,那么容易过度割,降低分辨率,使非噪声信号被视为噪声而被过滤,造成二值变换的目标损失。
、图像边缘检测
边缘是指图像局部亮度转变最显著的部份,要紧存在于目标与目标、目标与背景、区域与区域、颜色与颜色之间,是图像分割、纹理特点提取和形状特点提取等图像分析的重要步骤之一。
车牌识别系统中边缘提取关于车牌位置的检测有很重要的作用,经常使用的边缘检测算子有很多,如Roberts、Sobel、Prewitt、Laplacian、Log、Canny等。
依如实验分析,Canny算子对弱边缘的检测相对精准,能更多地保留车牌区域的特点信息,因此本论文采纳Canny算子来进行边缘检测。
Canny算子在边缘检测中有以下明显的判别指标。
(1)信噪比
信噪比越大,提取的边缘质量越高。
信噪比SNR概念为:
。
式中,G(x)代表边缘函数,h(x)代表宽度为W的滤波器的脉冲响应,σ代表高斯噪声的均方差。
(2)定位精度
边缘定位精度L概念如下:
。
式中G'(x)、h'(x)别离是G(x)和h(x)的导数。
L越大,说明定位精度越高。
(3)单边缘响应
为了保证单边缘只有一个响应,检测算子的脉冲响应导数的零交叉点平均距离D(f')应知足:
,式中,h″(x)是h(x)的二阶导数。
以上述指标和准那么作为基础,利用Canny算子的边缘检测算法步骤如下:
①预处置。
采纳高斯滤波器进行图像滑腻。
②梯度计算。
采纳一阶偏导的有限差分来计算梯度,获取其幅值和方向。
③梯度处置。
采纳非极大值抑制方式对梯度幅值进行处置。
④边缘提取。
采纳双阈值算法检测和连接边缘。
、图像形态学运算
数学形态学图像处置的大体运算有四个:
膨胀(或扩张)、侵蚀(或侵蚀)、开启、闭合。
二值形态学中的运算对象是集合,通常给出一个图像集合和一个结构元素集合,利用结构元素对图像集合进行形态学操作。
膨胀运算的符号为⊕,图像集合A用结构元素B来膨胀,记做A⊕B,概念为:
。
式中,
表示B的映像,即与B关于原点对称的集合。
因此,用B对A进行膨胀的运算进程如下:
先做B关于原点的映射取得映像,再将其平移x,当A与B映像的交集不为空时,B的原点确实是膨胀集合的像素。
侵蚀运算的符号是Θ,图像集合A用结构元素B来侵蚀,记做AΘB,概念为:
。
因此,A用B侵蚀的结果是所有知足将B平移后,B仍旧全数包括在A中的X的集合,也确实是结构元素B通过平移后全数包括在集合A中的原点所组成的集合。
膨胀操作会使物体的边界向外扩张,现在若是物体内部存在小空洞,那么通过膨胀操作,这些洞将被补上,再也不是边界。
若是再次进行侵蚀操作,外部边界那么将变成原先的样子,而这些内部空洞那么已经消失。
侵蚀操作会去掉物体的边缘点,若是物体足够细小,那么其所有的点都会被以为是边缘点,进而被整体排除,仅保留大物体。
若是在进行膨胀操作时,留下来的大物体会变回原先的大小,那么被排除的小物体已经消失。
在一样情形下,由于受到噪声的阻碍,车牌图像在阈值化后所取得的边界,往往是不滑腻的,目标区域内部也具有一些噪声空洞,在背景区域上也会散布着一些小的噪声干扰。
通过持续的开、闭运算,能够有效地改善这种情形,有时乃至需要通过量次侵蚀以后,再加上相同次数的膨胀,才能够产生较好的成效。
、图像滤波处置
图像滤波能够在尽可能保留图像细节特点的条件下对噪声进行抑制,是图像预处置中经常使用的操作之一,其处置成效的好坏将直接阻碍后续图像分割、图像识别的有效性和稳固性。
均值滤波也称为线性滤波,是图像滤波最经常使用的方式之一,其采纳的要紧方式是领域平均法。
该方式对滤波像素的位置(x,y)选择一个模板,该模板由其近邻的假设干像素组成,求出模板中所包括像素的均值,再把该均值给予当前像素点(x,y),将其作为处置后的图像在该点上的灰度值g(x,y),即
,其中M为该模板中包括当前像素在内的像素总个数。
搜集车牌图像的进程往往会受到多种噪声的污染,进而会在将要处置的车牌图像上呈现一些较为明显的孤立像素点或像素块。
一样情形下,在研究目标车牌时所显现的图像噪声都是无用的信息,而且还会对目标车牌的检测和识别造成干扰,极大地降低了图像质量,阻碍图像增强、图像分割、特点提取、图像识别等后续工作的进行。
因此,在程序实现中,为了能有效地进行图像去噪,而且能有效地保留目标车牌地形状、大小及特定的几何和拓扑结构特点,本论文采纳均值滤波来对车牌图像进行去噪处置。
、车牌定位原理
车牌区域具有明显的特点,因此依照车牌底色、字色等有关知识,可采纳彩色像素点统计的方式分割出合理的车牌区域。
本论文以蓝底白字的一般车牌为例,说明彩色像素点统计的分割方式。
假设通过数码相机或CCD摄像头,拍照搜集到了包括车牌的RGB彩色图像,水平方向记为y,垂直方向记为x,那么:
第一,确信车牌底色RGB各分量别离对应的颜色范围;第二,在y方向统计此颜色范围内的像素点数量,设定合理的阈值,确信车牌在y方向的合理区域;然后,在分割出的y方向区域内统计x方向此颜色范围内的像素点数量,设定合理的阈值进行定位;最后,依照x、y方向的范围来确信车牌区域,从而实现定位。
、车牌字符处置
、阈值分割原理
阈值分割算法是图像分割中应用处景最多的算法之一。
简单地说,对灰度图像进行阈值分割,确实是先确信一个处于图像灰度取值范围内的阈值,然后将图像中各个像素的灰度值与那个阈值进行比较,并依照比较的结果将对应的像素划分成两类:
像素灰度值大于阈值的一类和像素灰度值小于阈值的另一类,灰度值等于阈值的像素能够归入这两类之一。
分割后的两类像素一样分属图像的两个不同区域,因此对像素依照阈值分类法达到了区域分割的目的。
由此可见,阈值分割算法要紧有以下两个步骤:
(1)确信需要进行分割的阈值。
(2)将阈值与像素点的灰度值进行比较,以分割图像的像素。
在以上步骤中,确信阈值是分割的关键,若是能确信一个适合的阈值,就能够够准确地将图像分割开来。
阈值确信后,将阈值与像素点的灰度值比较和分割,可对各像素点并行处置,通过度割的结果将直接取得目标图像区域。
在选择阈值方式来分割灰度图像时,一样会对图像的灰度直方图散布进行某些分析,或成立必然的图像灰度模型来进行处置。
最经常使用的图像双峰灰度模型的条件可描述如下:
假设图像目标和背景直方图具有单峰散布的特点,且处于目标和背景内部相邻像素间的灰度是高度相关的,但处于目标和背景交壤处两边的像素在灰度值上有专门大的不同。
若是一幅图像知足这些条件,那么它的灰度直方图大体上能够看做由别离对应于目标和背景的两个单峰组成。
若是这两个单峰部份的大小接近且均值相距足够远,两部份的均方差也足够小,那么直方图整体上呈现较明显的双峰现象。
同理,若是在图像中有多个呈现单峰灰度散布的目标,那么直方图整体上可能呈现较明显的多峰现象。
因此,对这种图像可用取多级阈值的方式来取得较好的分割成效。
若是要将图像中不同灰度的像素分成两类,那么需要选择一个阈值。
若是要将图像中不同灰度的像素分成多类,那么需要选择一系列的阈值,从而将像素分到适合的类别中。
若是只用一个阈值分割,那么可称之为单阈值分割方式;若是用多个阈值分割,那么可称之为多阈值分割方式。
因此,单阈值分割可看做是多阈值分割的特例,许多单阈值分割算法可推行到多阈值分割算法。
同理,在某些场景中也能够将多阈值分割问题转化为一系列的单阈值分割问题来解决。
以单阈值分割算法为例,对一幅原始图像f(x,y)取单阈值T分割取得的二值图像可概念为:
。
如此取得的g(x,y)是一幅二值图像。
在一样的多阈值分割情形下,阈值分割输出的图像能够表示为:
。
式中,
是一系列的分割阈值,k表示给予分割后图像各个区域的不同标号。
值得注意的是,不管是单阈值分割仍是多阈值分割,在分割结果中都有可能显现不同区域内部包括有相同标号或区域值的情形。
这是因为阈值分割算法只考虑了像素本身的灰度值,并未考虑像素的空间位置。
因此,依照像素灰度值划分到同一类的像素有可能分属于图像中不相连通的的区域,这时往往需要借助于应用处景的某些先验知识,来进一步确信目标区域。
、对车牌阈值化分割
车牌字符图像的分割,即将车牌的整体区域分割成单字符区域,以便后续进行识别。
车牌字符分割的难点在于字符与噪声粘连,和字符断裂等因素的阻碍。
均值滤波是典型的线性滤波算法,它是指在图像上对像素进行模板移动扫描,该模板包括了像素周围的近邻区域,通过模板命中像素的平均值来代替原先的像素值,从而实现去噪的成效。
为了从车牌图像中直接提取目标字符,最经常使用的方式是设定一个阈值T,用T将图像的像素分成两部份:
大于T的像素集合和小于T的像素集合,并取得二值化图像。
因此,本论文采纳均值滤波算法来对车牌字符图像进行滤波去噪,采纳阈值分割来进行车牌字符的分割。
、字符归一化处置
字符图像归一化是简化计算的方式之一,车牌字符分割后往往会显现大小不一致的情形,因此可采纳基于图像放缩的归一化处置方式,将字符图像进行尺寸放缩取得统一大小的字符图像,便于后续的字符识别。
、字符识别
、字符识别简述
车牌字符识别方式基于模式识别理论,经常使用的有以下几类:
(1)结构识别
该方式要紧由识别及分析两部份组成:
识别部份包括预处置、基元抽取(包括基元和子图像之间的关系)、特点分析,分析部份包括基元选择及结构推理。
(2)统计识别
该方式的目的在于确信已知样本所属的类别,以数学上的决策论为理论基础,并由此成立统计学识别模型。
其大体方式是对所研究的图像实施大量的统计分析工作,寻觅规律性认知,提取反映图像本质的特点并进行识别。
(3)BP神经网络
该方式以BP神经网络模型为基础,属于误差后向传播的神经网络,是神经网络中利用最普遍的一类,通过输入层、隐层、输出层三层网络的层间全互联方式,具有较高的运行效率和识别准确率。
(4)模板匹配
该方式是数字图像处置中的最经常使用的识别方式之一,通过成立已知的模式库,再将其应用到输入模式中寻觅与之最正确匹配的处置步骤,取得对应的识别结果,具有很高的运行效率。
本论文选择的是基于模板匹配的字符识别方式,其大体进程如下:
①建库。
成立已经通过标准化的字符模板库。
②比对。
将归一化的字符图像与模板库中的字符进行比对,在实际实验中充分考虑了我国一般小汽车牌照的特点,即第一名字符是汉字,别离代表各个省份的简称,第二位是A~Z的字母,后五位那么是数字和字母的混合搭配,因此为了提高比对进程的效率和准确性,别离对第一名、第二位和后五位字符进行识别。
③输出。
在识别完成后输出所取得的车牌字符结果。
其流程图如下所示:
——>成立模板库
——>字符分割并归一化
——>字符模板匹配
——>保留最正确匹配内容
——>输出结果(⇒车牌识别系统)
、基于模板匹配的字符识别
模板匹配是图像识别方式中最具有代表性的大体方式之一,该方式第一依照已知条件成立模板库T(i,j),然后从待识别的图像或图像区域f(i,j)中提取假设干特点量,与T(i,j)相应的特点量进行比对,别离计算它们之间归一化的相互关量。
其中,相互关量最大的一个表示二者的相似程度最高,可将图像属于该类别。
另外,也能够计算图像与模板特点量之间的距离,采纳最小距离法判定所属类别。
但在实际情形下用于匹配的图像,由于其搜集成像条件往往存在不同,可能会产生较大的噪声干扰。
而且图像通过预处置和归一化处置等步骤,其灰度或像素点的位置也可能发生改变,进而阻碍识别成效。
因此,在实际设计模板时,需要维持各区域形状的固有特点,突出不同区域之间的不同,并充分考虑处置进程可能引发的噪声和位移等因素,依照基于图像不变特性所对应的特点向量来构建模板,提高识别系统的稳固性。
本论文采纳特点向量距离计算的方式,来求得字符与模板中字符的最正确匹配,然后找到对应的结果进行输出。
第一,遍历字符模板;第二,依次将识别的字符与模板进行匹配,计算其与模板字符的特点距离,取得的值越小就越匹配;再次,将每幅字符图像的匹配结果进行保留;最后,七个字符匹配识别的结果,即可作为车牌字符进行输出。
3、程序实现
汽车牌照自动识别系统以车辆的动态视频或静态图像作为输入,通过进行牌照颜色、牌照号码等关键内容的自动识别来提取车牌的详细信息。
系统硬件配置一样包括线圈触发设备、摄像设备、灯光设备、搜集设备、车牌号码识别器等;其软件核心配置包括车牌定位算法、车牌字符分割算法、车牌字符识别算法等。
某些车牌识别系统还具有通过视频图像判定车辆驶入监控区域的功能,一样称为视频车辆检测,普遍应用于道路车流量统计等方面。
在现实生活中,一个完整的车牌识别系统应包括车辆检测、图像搜集、车牌定位、车牌识别等模块。
例如,当车辆检测模块检测到车辆时,会触发图像搜集模块,搜集当前的车辆图像,车牌定位识别模块对图像进行处置,定位车牌位置,再将车牌中的字符分割出来进行识别,最后组成车牌号码输出。
车牌信息是一辆汽车并世无双的标识,因此车辆牌照识别技术能够作为辨识一辆汽车最为有效的方式。
车牌识别系统包括汽车图像的输入、车牌图像的预处置、车牌区域的定位和字符检测、车牌字符的分割和识别等部份。
如以下图所示:
——>输入图像
——>预处置
——>车牌定位
——>字符分割
——>字符归一化
——>字符识别
——>输出结果(⇒车牌识别系统流程图)
依照车牌颜色纹理特点参数来标定车牌区域,如以下图所示(车牌定位):
车牌区域定位和分割进程通过颜色纹理范围概念、行列扫描的方式来实现,具体代码如下所示:
function[Plate,bw,Loc]=Pre_Process(Img,parm,flag)
%车牌图像预处置,提取车牌区域
%输入参数:
%Img——图像矩阵
%parm——参数向量
%flag——是不是显示处置结果
%输出参数:
%Plate——分割结果
ifnargin<1
Img=imread(fullfile(pwd,'images/'));
end
ifnargin<2||isempty(parm)
ifsize(Img,2)>900
parm=[90902];
end
ifsize(Img,2)>700&&size(Img,2)<900
parm=[9090];
end
ifsize(Img,2)>500&&size(Img,2)<700
parm=[50503];
end
ifsize(Img,2)<500
parm=[1501503];
end
end
ifnargin<3
flag=1;
end
I=Img;
[y,~,z]=size(I);
ify>800
rate=800/y;
I=imresize(I,rate);%图像尺寸过大会阻碍处置效率,因此进行放缩处置
end
[y,x,z]=size(I);%y方向对应行、x方向对应列、z方向对应深度
myI=double(I);%数据类型转换
bw1=zeros(y,x);
bw2=zeros(y,x);
Blue_y=zeros(y,1);
%对每一个像素进行分析,统计知足条件的像素所在的行对应的个数
fori=1:
y
forj=1:
x
rij=myI(i,j,1)/(myI(i,j,3)+eps);
gij=myI(i,j,2)/(myI(i,j,3)+eps);
bij=myI(i,j,3);
%蓝色RGB的灰度范围
if(rij (1)&&gij (2)&&bij>parm(3))... ||(gij (1)&&rij (2)&&bij>parm(3)) Blue_y(i,1)=Blue_y(i,1)+1;%蓝色像素点统计 bw1(i,j)=1; end end end [~,MaxY]=max(Blue_y);%y方向车牌区域确信 Th=parm(7); PY1=MaxY;%向上追溯,直到找到车牌区域上边界 while((Blue_y(PY1,1)>Th)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY;%向下追溯,直到找到车牌区域下边界 while((Blue_y(PY2,1)>Th)&&(PY2 PY2=PY2+1; end PY1=PY1-2;%对车牌区域的修正 PY2=PY2+2; ifPY1<1 PY1=1; end ifPY2>y PY2=y; end IY=I(PY1: PY2,: : );%取得车牌区域 %进一步确信x方向的车牌区域 Blue_x=zeros(1,x); forj=1: x fori=PY1: PY2 rij=myI(i,j,1)/(myI(i,j,3)+eps); gij=myI(i,j,2)/(myI(i,j,3)+eps); bij=myI(i,j,3); %蓝色RGB的灰度范围 if(rij ||(gij Blue_x(1,j)=Blue_x(1,j)+1;%蓝色像素点统计 bw2(i,j)=1; end end end PX1=1;%向左追溯,直到找到车牌区域左侧界 while(Blue_x(1,PX1) PX1=PX1+1; end PX2=x;%向右追溯,直到找到车牌区域右边界 while(Blue_x(1,PX2) PX2=PX2-1; end PX1=PX1-2;%对车牌区域的修正 PX2=PX2+2; ifPX1<1 PX1=1; end ifPX2>x PX2=x; end IX=I(: PX1: PX2,: );%取得车牌区域 Plate=I(PY1: PY2,PX1: PX2,: );%分割车牌区域 =[PY1PY2]; =[PX1PX2]; bw=bw1+b 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。PX1)