车牌图像的分析与识别文档格式.docx
- 文档编号:18197479
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:26
- 大小:845.85KB
车牌图像的分析与识别文档格式.docx
《车牌图像的分析与识别文档格式.docx》由会员分享,可在线阅读,更多相关《车牌图像的分析与识别文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
因此,在车牌识别过程中,车牌定位、字符切割和字符识别等是非常重要的技术[6],对车牌识别系统具有很大的影响。
车牌定位是从背景图像中确定车牌所在区域并分割出车牌图像,车牌定位是整个车牌自动识别系统的基础,决定后阶段图像处理的质量和处理速度、识别的精度和速度,车牌的定位相当复杂,定位过程中会受车辆和场景的对比度、车辆运行速度、天气、拍摄视角、照明、噪声、车牌缺损、车牌污染、不同型号的车牌等因素的影响。
字符分割即对定位后的车牌区域中的字符进行切分成单个字符,正确的分割是特征提取和模式匹配的前提,并且直接关系到后继识别能否进行,对于字符识别非常关键。
字符识别是对分割得到的字符归一化处理,提取字符的归一化特征,作为识别的依据提交分类器判断处理,最终确定车牌图像中的字符内容,得到识别结果。
1.4本文的研究内容
本系统是以MicrosoftWindowsXP为开发环境利用MATLAB7.0软件进行开发的。
车牌识别的流程图如图1-2所示:
图1-2车牌识别的流程图
本系统主要包括车牌图像预处理,定位和识别这三大模块,其中车牌定位是在车牌图像预处理的过程中完成的。
(1)输入车牌图像:
打开通过各种视觉传感器(如CCD、CMOS摄像器件等)获取车牌的图像,并已经转换为易于计算机处理的格式。
(2)车牌图像的预处理:
包括灰度化处理、图像的直方图、图像的旋转、倾斜校正、二值化和形态学处理等内容,其目的是为后续车牌定位创造条件。
(3)车牌图像的定位:
根据车牌颜色特征、车牌背景与字符等,判断不符合车牌底色的非车牌区域,将虽具有和车牌相似的几何及纹理特征,但不符合颜色特征的伪车牌剔除,最后便得到了车牌区域。
(4)字符的分割:
经过车牌定位之后将所提取出的车牌区域图像分割成单个字符图像,利用字符的垂直投影的方法,根据字符间隙对应投影的极小值和投影曲线呈现波峰、波谷交替出现的特点,提取单个字符。
(5)字符的识别:
采用模板匹配法识别车牌图像中的车牌号码,首先将分割的字符提取出来,进行尺寸归一化等处理,然后和预先存储的标准字符模板进行逐一匹配,最后标准字符模板中找出与待识别字符最为接近的,该字符作为识别结果。
(6)显示识别结果:
得到最后的车牌,包括汉字、字母和数字。
(7)存储数据:
对相应的识别出来的字符存储到指定文件夹的EXCEL文件内,并且存储识别时的时间。
2车牌图像的预处理
2.1图像预处理流程图
世界上任何色彩都可以由三色颜色按照不同比例的混合来表示,那就是红绿蓝(RGB),这主要是根据三基色原理,任何一种颜色的“颜色空间”都可以定义成一个固定的数字或变量,红色、绿色和蓝色是众多颜色空间的一种,RGB模型一般称为加色空间,因为其颜色是通过彩色光的相加而产生的,因而所产生的颜色的亮度总是高于产生它们的原色的亮度。
对于蓝底白字这种最常见的牌照,采用蓝色B通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现,因为蓝色(255,0,0)与白色(255,255,255)在B通道中并无区分,而在G、R通道或是灰度图象中并无此便利。
本系统通过对车牌图像进行预处理,提高了车牌图像质量。
以下就是车牌图像预处理的流程图:
图2-1车牌图像预处理的流程图
2.2图像灰度化与直方图
2.2.1图像灰度化
本系统初次定位后得到的是一个矩形区域,将该区域的图像数据读入一个一维数组中,同时可将这些数据显示到屏幕上,这就实现了图像的复制。
将初次定位的车牌区域复制出来进行单独处理,可以提高系统的工作效率,车牌区域的复制结果如图2-2所示。
车牌区域的复制结果是彩色图像,彩色图像也称作RGB图像[7],通过
可以合成出任意颜色,R、G、B分别代表红、绿、蓝这3种不同的颜色,当
时表示一种灰度颜色并且它们的值称作灰度值
,这种变化也称灰度化即将彩色图像转换为灰度图像。
数字图像分为彩色图像和灰度图像,对图像进行预处理时经常将彩色图像转变为灰度图像,因为灰度图像里面颜色信息少,而彩色图像含有大量的颜色信息,这样可以减少存储上的开销和算法的空间复杂度,而且会提高了系统的执行速度,有利于下一步的定位工作,灰度图像只有强度信息,没有颜色信息,只需要一个数据矩阵进行存储和处理。
在RGB模型中,灰度化处理就是
,R、G、B的取值范围是0-255,所以灰度的级别只有256级,灰度化的处理方法[7]主要有如下三种:
(1)最大值法:
使
的值等于它们中最大的一个,即
(2-1)
(2)平均值法:
使
的值等于它们和的平均值,即
(2-2)
(3)加权平均值法:
赋予
不同的权值,接着R、G、B等于它们的值的加权和平均,其中
分别为
的权值。
即
(2-3)
本系统选取的方法为加权平均值法,当
时,能得到最合理的灰度图像,这主要因为人眼对绿色的敏感度最高,接着是红色,蓝色最低。
在Matlab中函数rgb2gray()就是利用加权平均值法公式将RGB转化为灰度图像。
通过程序运行其效果图见图2-2和图2-3所示:
图2-2车牌图像图2-3灰度图像
2.2.2图像的直方图
图像的直方图[8]是图像的重要统计特征,它表示图像每一灰度级与该灰度级出现频率的对应关系。
设一幅图像的像素总数为
[8],有
个灰度级,具有第
个灰度级的灰度
的像素共有
个。
则第
个灰度级出现的概率为:
(2-4)
直方图具有以下性质[9]:
(1)通过直方图可以知道具有某一灰度值的像素的个数,但对于这些像素在图像中处于什么位置是完全不清楚的,那是因为在直方图中只考虑各像素的灰度值,不考虑各像素的位置;
(2)一个图像只有一个直方图,但有时两个或多个不同的图像会有相同的直方图;
(3)直方图是对具有各灰度值的像素数通过计数而得到的图形,因此如果已知图像被分割成几个区域后的各个区域的直方图,则把它们加起来,就可得到这个图像的直方图。
本系统利用imhist(I,n)函数来显示图像的直方图[8],I表示灰度图像,n表示灰度等级数,如图2-4所示车牌区域的直方图,图中的横轴代表灰度值,纵轴代表该灰度值在车牌区域图像中出现的频率。
图2-4车牌区域的直方图
2.3倾斜校正
本系统主要采取Radon变换算法进行倾斜角度计算,并对倾斜图片进行修正,从而得到水平方向一致的图,有利于后期的图片分割及图像识别。
Radon变换原理[10]可以理解为图像在
空间的投影,
空间的每一点对应一条直线,而Radon变换是计算图像沿着指定方向上的投影即图像像素点在每一条直线上的积分。
例如
在垂直方向的线积分是
投影到X轴;
在水平方向的积分是
投影到Y轴。
可以沿任意角度
计算投影,下图2-4说明了Radon变换沿角度
的几何形状。
图2-4
在某一角度上的投影
图像
在任意一个角度上的Radon变换[10]的定义式为:
(2-5)
其中:
(2-6)
Radon变换几何关系图解如图2-5:
图2-5Radon变换的几何关系
在Matlab中Radon函数可以用来计算图像在指定角度的Radon变换[11],其语法格式如下:
;
其中,I表示灰度图像,theta表示Radon变换的方向角度。
[11]返回灰度图像I在角度theta方向上的Radon变换R。
如果theta是一个标量,R则是一个沿theta角度方向Radon变换的列向量;
如果theta是一个矢量,则R是一个矩阵,每一列对应矢量theta中的一个角度方向上的Radon变换。
如果忽略掉theta,则其默认为0:
179。
中[11],返回向量
表示沿着X’轴对应的坐标,坐标中心点位于图像的中心,且为
,如果图像尺寸为
,其中心点为(10,15)。
2.4图像二值化
经过倾斜校正之后车牌图像整体的轮廓比较清晰,然后进行图像二值化,二值化的结果就是整幅图像画面内仅黑、白二值即将灰度图像变成二值图像,二值化以后的图像比起真彩色图像和256色灰度图像来,视觉效果更强,数据处理量更小,处理图像的算法也相对更简单,能大大提高处理效率[12]。
在数字图像处理中二值图像占有很重要的地位。
进行图像二值化大部分方法是基于阈值的,根据一定的准则确定一个灰度值
作为分割阈值,假设车牌图像上某个位置为
,其灰度值为
,小于等于
值的像素用0来表示即背景,大于
值的像素用0来表示即对象[13]。
(2-7)
或者反之,对象与背景像素的大小关系对调。
(2-8)
在Matlab中通过im2bw函数对图像进行二值化。
二值化的关键在于阈值的确定,设置的阈值过小容易产生噪声,设置过大会降低图像的分辨率,使图像中的非噪声信号被当作噪声滤掉。
2.5图像形态学操作
图像形态学处理指的利用图像结构元素,将其移动,然后与下面的二值图像进行交、并等集合运算,使其产生一定的形态变化。
基本的形态运算是膨胀和腐蚀[11]。
其定义分别为:
(2-9)
(2-10)
膨胀运算过程[11]是用B来膨胀A得到的结果是B’的位移与A至少有一个非零元素相交时B的参考点位置的集合。
腐蚀运算过程是结构元素B平移x后,结构元素B仍在集合A中的参考点的集合。
膨胀运算[11]可以将断开的目标物体进行连接,并且面积也会增大;
腐蚀运算可以将粘连的目标物分开,但同时也减小目标物的面积。
灰度数学形态学中开和闭运算的定义[11]与在二值数学形态学中的定义一致。
用b对f进行开和闭运算的分别定义为:
(2-11)
(2-12)
开运算一般能平滑轮廓,去掉细长的突出、毛刺、孤立斑点、断开连接的目标物,作用于腐蚀运算相似,只是保持目标物大小不变;
闭运算也能平滑轮廓,一般用来填充细小空洞和裂缝、连接断开的临近目标,作用于膨胀运算相似,只是不改变目标物大小。
本文利用Matlab中bwmorph函数[8]实现二值图像形态学运算。
它的格式有两种:
BW2=bwmorph(BW,operation)对二值图像BW进行指定的形态学运算;
BW2=bwmorph(BW,operation,n)对二值图像BW1采用指定的形态学运算n次。
字符串参量operation指定形态学运算
,参照以下的形态学运算参数表2-1。
表2-1[8]形态学运算参数表
参数
描述
'
bothat'
从输入图像减去闭运算的图像;
bridge'
连接非连通的像素,如果邻域中有两个非0像素未连通。
则将像素点设为1;
clean'
去除图像中孤立的像素(被0包围的1);
close'
形态学闭运算
‘diag’
使用对角线填充消除8---连通;
dilate'
用结构元素进行图像膨胀
erode'
用结构元素进行图像腐蚀
fill'
填充孤立的内点(被1包围的0)
hbreak'
消除H连接的像素
majority'
在3X3邻域中有等于或超过5个像素点的像素值为1,则将该点像素值置1;
‘open’
形态学开运算
remove'
移除内部像素,如果一个像素点的4邻域都为1,则该像素点将被置0;
‘shrink’
收缩,收缩目标到点,收缩到目标成环状,中间为孔洞;
skel'
移除目标边缘的像素点,但不能分裂目标
spur'
移除孤立点
thicken’
粗化,通过对目标的外围增加像素点来加厚目标,但保持欧拉数不变
thin'
细化,通过去除像素点使目标孔洞变成最小的细环线
tophat'
从输入图像减去开运算的图像;
本文利用了参数表中的'
,'
和‘open’进行了形态学运算。
如图2-6所示:
图2-6形态学处理
2.6车牌图像的定位
因为天气、光照、牌照污损、摄像机等原因,车牌图像复杂的背景会严重影响后面对图像的处理,这也导致车牌定位的困难,这也是车牌识别中的主要难点[14]。
车牌定位[15]是车牌自动识别系统实现的关键部分,车牌定位的准确与否,直接决定了后续字符分割和识别的图像处理与识别的质量与成败。
现在车牌定位已经提出了很多方法,其中经常用到的是基于黑白图像定位[16]、基于颜色特征算法[17]和基于车牌边缘检测算法[18]。
基于黑白图像定位的方法包括:
①基于车牌特征的定位方法,如根据车牌区纹理及灰度跳变等特征来定位[19],或基于扫描行经过车牌区域时会产生有规律的起伏特点定位。
②基于遗传算法、神经网络等数学工具的车牌定位方法[19],该方法可以对传统方法进行较好的改进,具有一定抗噪性,但计算量较大;
基于车牌颜色特征的定位方法和基于车牌边缘检测的定位方法,一种是根据车牌颜色特征来判断,一种是根据边缘特征进行车牌定位[20],最后得到了车牌区域。
以上介绍的几种方法各有优缺点,假如想快速、准确地定位车牌,就必须结合几种方法,综合考虑车牌的各个特征。
本文结合车牌的颜色与数学形态学这两方面的特征对车牌进行定位,包括车牌区域的粗定位和细定位两个步骤,利用数学形态学进行粗定位,利用车牌颜色特征进行细定位,并且利用bwareaopen来去除对象中不相干的小对象以获得最后定位图像。
以下图2-7、图2-8和图2-9就是经过粗定位和细定位得出的结果。
图2-7形态学处理图2-8删除结果图2-9删除反色
3车牌字符的分割
3.1字符分割前的图像二值化
图像二值化操作的目的在于用白色表示车牌区域图像中的对象——车牌字符,用黑色表示背景,通过设定阈值
值的像素用0来表示即对象,也可以相反即对象与背景像素的大小关系对调,本系统主要是1为背景,0为字符对象,也就是0对应RGB的0,1对应RGB的255[21]。
车牌图像的二值化所运用的原理以及操作过程同2.4中所描述的一样。
图3-1图像二值化
3.2字符分割前的图像去噪
车牌图像在二值化后依然会存在一些缺损或模糊的现象,这主要是由于图像预处理过程中受到天气、光照、牌照污损、摄像机、车牌图像复杂的背景等原因的影响,因此对车牌图像进行分割之前需要进行去噪处理。
去噪处理主要有开运算和闭运算,开运算[22]可以去除边边角角和一些孤立的小点,具有平滑图像边界的作用,而闭运算同样具有平滑图像边界的作用,且能连接小的间断和填充小的空洞和裂缝。
用结构元素B对集合A先进行开运算,然后对结果进行闭运算,则可以构成形态学的噪声滤波器用公式[12]描述如下:
(3-1)
本系统利用imopen()和imclose()函数对车牌图像进行去噪处理,的到了如图3-2所示的噪声滤波图。
图3-2噪声滤波
3.3字符分割前的图像旋转
设F(i,j)为一幅二值图像的像素点,则有:
(3-2)
其中1、0表示白色像素点和黑色像素点,M、N分别表示图像的行数和列数。
对于无倾斜的车牌图像字符间距固定不变,对于倾斜的车牌图像字符间距变小,当白色象素的垂直方向上的投影值小于一个自然数时,
列[23]就代表字符间距,因此无倾斜的车牌图像字符间距
列是最大的。
根据这个原理,可以得出图像倾斜度。
在Matlab中可以通过imrotate函数来实现图像的旋转。
执行程序代码如下:
bw=imrotate(bw,qingxiejiao,'
bilinear'
'
crop'
);
3.4字符分割前的图像投影
图像处理中的投影[24]是指将一条直线上所有像素的灰度值进行叠加,将一组平行直线的投影值连成曲线,反映图像在垂直于这些平行直线的方向上的分布特征。
投影法经常用于确定对象在图像上的位置、尺寸大小等信息,它利用图像中对象与背景具有不同的灰度值的特点来寻找它们之间的缝隙。
本系统字符分割采用的是垂直投影法。
根据预处理图像垂直投影图的特点,我们提出了一个特征值,由车牌图像的先验知识和此特征值相结合来进行字符分割,利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。
特征值的提出[25]经过预处理后的车牌图像都是黑底白字的二值化图像。
作其垂直投影图,定义特征值TZ的取值公式为:
(3-3)
其中,nWidth表示车牌图像的宽度[25],proj[i]表示图像第i列上所有像素点的灰度值之和,λ表示一常量参数,round(x)函数表示对数值x取整。
特征值TZ[25]所表示的意义是:
从任何一个分割点开始,经过一个超越特征值TZ的波峰后找到的第一个满足限定条件的波谷值即为下一个分割点的位置。
3.5字符分割
本系统是根据车牌的投影对车牌字符进行分割,图像分割是图像识别的基础,经过车牌定位之后将所提取出的车牌区域图像分割成单个字符图像,根据垂直投影法及字符间隙对应投影的极小值和投影曲线呈现波峰、波谷交替出现的特点,提取单个字符。
定义了特征值后,垂直分割[25]过程分成向右分割、向左分割两个相同的步骤。
其中向右分割算法的程序流程图描述如图3-3所示。
图3-3向右分割的程序流程图
此图描述了从中间分割点sep[3]开始向右分割的过程。
向左分割算法步骤与向右分割相同,只是方向不同,经过向右分割、向左分割两个步骤之后就完成了车牌图像的垂直字符分割。
分割后的字符图像如图3-4所示:
图3-4分割字符
分割后一连串的字符串变成了单个字符,为后面的字符匹配识别奠定了基础。
4车牌字符的识别
4.1车牌字符的归一化
由于图像采集时图像的像素值不一样,经切割出来的字符的大小也会不一样,所以在进行匹配前必须先进行字符图像归一化[9]。
使图像字符大小跟模板图像大小一致,都为
。
我们假设f(x,y)为未归一化的图像,g(x,y)为归一化以后的图像,设(x0,y0)为f(x,y)中的任一点(x1,y1)为在g(x,y)中的对应点。
w1和w2分别为字符图像在原车牌图像中的左边缘和右边缘列坐标,Width为模板宽度,此处为55,h1和h2分别为字符图像在原车牌图像中的上边缘和下边缘的行坐标,Height为模板高度,此处为110。
归一化的公式如下所示:
(4-1)
(4-2)
Matlab提供一个改变图像大小的函数imresize(I,Size,Model),Model是插值运算方法,这里选用'
双线性插值法。
如图4-1所示:
图4-1字符归一化
切割的字符经过归一化之后,每个字符的大小基本一致,由此便解决了像素值不一致带来的问题,并且利于和库中的字符进行匹配比较。
4.2车牌字符的匹配和识别
本系统主要采用的是模板匹配[26]的方法进行字符的识别。
由于车牌字符的集合较小,只包括约50个汉字、26个大写英文字母和10个数字,所以可以把所有这些可能的字符制成标准模板,根据要识别字符的直观形象提取特征,用相关匹配原理进行识别。
该方法识别速度快,但是对噪点比较敏感。
模板匹配的方法就是根据相似度函数将车牌的每个字符与标准模板图像逐一比较,选出相似度最高为最佳匹配结果,从而得出最终的车牌字符。
其中模板匹配过程中采用的相似度函数定义为:
(4-3)
其中,
表示待识别车牌图像在第i行,第j列的像素的值,取值为0或1;
为模板字符在第i行,第j列的像素的值,取值为0或1,它的宽
高为
,
是指矩阵中对应的像素相乘。
相似度S是标准模板和待识别字符图像上对应点均为“1”的像素数目和标准模板上“1”点的像素数目之比,其值在(0,1)之间。
字符识别的步骤如图4-2所示:
图4-2字符识别步骤
基于模板匹配的OCR的基本过程是:
根据相似度函数将车牌的每个字符与标准模板图像逐一比较,选出相似度最高为最佳匹配结果,从而得出最终的车牌字符。
识别结果如图4-3所示:
图4-3识别结果
5实验结果与分析
本系统总共收集了样本500张(全国各个省份的车牌),并且逐一对每一张车牌进行识别。
根据实验结果可知会出现三种情况:
成功识别、错误识别和拒绝识别。
(a)成功识别
如图5-1所示,系统成功识别出车牌字符为:
桂AM9678
(1)原始图像
(2)车牌图像(3)灰度图像
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车牌 图像 分析 识别