法律状态公告日
法律状态信息
法律状态
2017-08-01
授权
授权
2014-02-05
实质审查的生效 IPC(主分类):G06K9/00 申请日:20130926
实质审查的生效
2014-01-01
公开
公开
技术领域
本发明涉及一种车牌定位方法,具体涉及一种基于灰度跳变和字符投影间隔模式的车牌定位方法。
背景技术
改革开放以来,随着经济的快速发展,机动车的保有量持续增长,对道路交通信息及治安管理的要求也越来越严格,智能交通技术应运而生并已深入我们的生活。我们所熟悉的路口闯红灯违章监控、高速公路超速违章检测、ETC电子不停车收费、停车场智能管理、小区车辆管理以及卡口等系统都是智能交通技术的成功应用。这些系统都包含车牌识别模块,而车牌定位又是车牌识别中最基础最关键的第一步,车牌定位的结果直接影响到车牌识别的准确率。
现有的车牌定位技术方法比较多,如基于边缘检测的方法、基于数学形态学的方法、基于彩色信息的方法、基于小波变换的方法、基于投影特征的方法等,每种方法侧重点不同,其中与本发明最相似或最接近的方法包括:路小波(东南大学学报(自然科学版),2005年06期)等在《基于二值图像的车牌精确定位方法》一文中提出了一种基于二值图像灰度变化特征进行车牌精确定位的方法,该方法在车牌粗定位的基础上,对分割出的车牌图像进行二值化,再对二值车牌图像进行逐行扫描,利用每一行像素的黑、白跳变规律确定车牌的上下边界,通过对特征图像进行垂直投影确定车牌左右边界,但未明确地给出灰度化和二值化的实现方法,同时其左右边界定位方法的实质是边缘检测;刘广起(中国图象图形学报,2005年11期)等在《基于图像纹理特征提取的车牌定位算法》一文中先将灰度化图像根据空间分布特征与最大类间方差的统计特征有机结合的思想进行二值化,然后采用Krisch边缘算法增强图像的纹理结构特征,再统计字符间隔的变化次数,最后基于灰度跳变的方法确定车牌的上下边界,根据始末行扫描线确定车牌的左右边界,但该方法难以处理光照异常的情况,且当车牌图像噪声较大时其边界的确定将出现很大的误差,难以准确定位,同时由于车牌信息通常位于图像的底部,该算法的上下边界扫描自上而下进行,算法效率明显不高;葛海江(杭州电子科技大学学报,2007年02期)等的论文《车牌识别系统中车牌定位及倾斜矫正算法研究》和卓均飞(科技通报 ,2010年03期)等的论文《基于边缘检测和投影法的车牌定位算法研究》都利用车牌的几何特征和纹理特征,提出了一种基于边缘检测和投影法相结合的车牌定位算法,即先将灰度图像用边缘算子进行边缘检测得到车牌候选特征区域,然后用全局阈值的迭代法算法进行二值化,再将得到的二值化图像根据车牌候选特征区域黑白跳变次数确定车牌的上下边界,根据车牌字符在竖直方向的投影峰谷值来确定车牌的左右边界,其不足之处在于,单一的全局阈值法虽然算法简单,程序运行快,但在光照不均、噪声干扰比较大等条件下会使直方图分布不呈现双峰的现象,二值化效果会变差,导致最后定位失败;汪国友(华中科技大学,2011)等在发明专利(ZL 201110316410.3)《一种融合多字符特征的车牌定位方法》中通过分块计算灰度均值的方式进行车牌粗定位,在此基础上对水平和垂直方向上均统计跳变点个数进行上下左右边界定位,未考虑阿拉伯数字“1”和“·”对车牌定位的准确性的影响这个问题;达飞鹏(东南大学,2011)等在发明专利(ZL 201110162831.5)《基于彩色跳变点和颜色密度的车牌定位方法》中首先在HSV空间中依据颜色间距离对图片颜色进行分类,将图片转化只包含八种基准颜色的图片;然后对车牌图像进行彩色二值化,得到四幅二值图像,并根据图像中白色像素的数量,判定是否包含车牌;再利用彩色跳变点和车牌底色信息来初定位车牌位置,去除二值图中的小连通区域;最后通过颜色密度和连通域信息不断缩小车牌区域直到精确定位出车牌位置。
充分利用车牌字符特征并采用跳变法与投影法确定车牌上下左右边界是一种基本方法,但上述方法存在如下三方面的不足:
(1)车牌图像通常是由室外的抓拍系统所采集,其图像的效果与抓拍时的环境具有直接联系,不同的抓拍环境有时甚至抓拍到效果截然不同的车牌图像。抓拍环境往往由下列三个因素影响:(A)、天气,分为晴天、阴天、雾天和雨天;(B)、时间,分为白天和夜间;(C)、闪光灯曝光量,分为正常和不足。这三种因素的不同组合将影响到抓拍时的光照条件,最终表现为车牌图像亮度上的差异。而当前的二值化方法通常习惯采取用单一阈值进行处理,无法适应不同亮度的车牌图像,二值化效果不佳,严重时甚至导致车牌信息的丢失;
(2)由于成像设备与抓拍对象之间的距离不定,现有方法在利用跳变法确定上下边界时均无法自适应车牌像素高度,另外,由于车牌通常位于图像底部,而现有方法均自上而下扫描,计算效率低;
(3)在投影法确定车牌左右边界时,通常采用灰度直方图的波峰与波谷来确定,它很容易受到车牌字符中特殊字符“1”和“·”的影响。根据我国车牌制作标准,车牌字符序列由汉字字符、英文字母字符、阿拉伯数字字符以及标点符号字符按照一定的排列规则组成的,在组成车牌字符的所有字符中,阿拉伯数字“1”的特殊性主要表现为:在不考虑车牌字符序列中第三个字符圆点分隔符“·”的影响,数字“1”的投影特征的宽度不同于其他字符的投影特征宽度,存在3W1=WOther(其中,W1为“1”的投影宽度,WOther为其他字符的投影宽度)的关系。同时,字符“1”在车牌字符序列中的位置是不固定的,这将导致车牌区域经垂直投影后字符之间的间隔是不统一的,也就说明车牌区域的垂直投影特征不是唯一的,容易受到真正车牌区域周围伪车牌区域的干扰,进而影响到最终车牌定位的准确性。
因此,如何解决上述不足以提高车牌定位的正确率是现有车牌定位技术需要解决的不容忽视的问题。
发明内容
本发明的目的在于克服上述提到的缺陷和不足,而提供一种基于灰度跳变和字符投影间隔模式的车牌定位方法,解决现有车牌定位方法易受光照、投影易受特殊字符影响等技术问题。
本发明实现其目的采用的技术方案如下。
一种基于灰度跳变和字符投影间隔模式的车牌定位方法,包括以下步骤:
(一)、灰度处理
对原始车牌图像进行灰度化处理;
(二)、判断图像光照是否异常
分析车牌灰度图像中亮度的分布特征,判断该图像是光照正常或光照异常;
(三)、二值化处理
针对光照正常或异常的不同情况分别采取不同的阈值进行二值化:当灰度值小于二值化阈值T0时,该点值g(x,y)为0,否则该点值g(x,y)为255,其中,对于光照正常的图像,二值化阈值T0由最大类间方差法确定,对于偏暗或漆黑的光照异常的图像,二值化阈值T0由经验阈值法确定;
(四)、通过行扫描灰度跳变特征确定车牌特征行,从而定位车牌上下边界;
(五)、通过列扫描调整字符投影间隔模式并定位车牌的左右边界。
进一步,步骤(一)中,采用加权平均值法对原始车牌图像进行灰度化处理。
进一步,步骤(二)中,当满足M<T1和D>T2时,该图像的明暗程度为偏暗或漆黑,判定为光照异常;否则为光照正常,其中,M为灰度图像的平均灰度值,D为描述灰度值小于或等于M0的像素数量占整幅图像的百分比的图像明暗程度指标,M0通常取平均灰度值M的2或3倍,T1和T2分别为光照是否异常的判定阈值,T1取值范围为[20, 30]的整数,T2取值范围为[0.75, 0.9]。
进一步,步骤(四)中,通过行扫描灰度跳变确定车牌特征行,从而定位车牌上下边界,包括以下步骤:
(1)用i表示从车牌图像自底向上开始编号的行号,并令初始值i=1;用PT和PB分别表示车牌上下边界的像数行号,并令初始值PT=0,初始值PB=0;
(2)统计第i行的灰度跳变点总数,即像素灰度值从0到255或者从255到0转变的像素点数量,记为S[i],若S[i]大于等于跳变次数12,则表示该行为车牌特征行;否则不是车牌特征行;
(3)若PB大于0,则转步骤4;否则,如果从i行开始往前连续e行(e≥3)均为车牌特征行且第i-e行是非车牌特征行,则PB=i-e-1或PB=i-2*e-1并转步骤4;否则,转步骤2;
(4)若从i行开始往前连续v行(v≥3)均是非车牌特征行且第i-v行是车牌特征行,则PT=i或PT=i-v并转步骤5;
(5)此时PTborder和PBborder分别表示车牌上下边界的像素行号,记录车牌像素高Height=|PTborder-PBborder|。
进一步,步骤(五)中,通过列扫描调整字符投影间隔模式并定位车牌的左右边界,包括以下步骤:
(1)标记特征列,自左向右逐列扫描由上下边界PTborder和PBborder所形成的车牌区域,采用数组C[]记录扫描的列情况,当第j列出现白色像素点时,将该列标记为特征列并记C[k]=j,k=1, 2, …, m,m即为扫描结束后特征列的总数;
(2)标记候选车牌字符,扫描数组C[],对每组连续相邻的N列(0.1*Height≤N≤0.5*Height)标记为候选字符列,其列号为C[k]、C[k+1]、…、C[k+N-1],这N列与上下边界PT和PB所形成的区域即为候选车牌字符,令LL[r]=C[k],它表示这组候选字符列的最左边的列号,也即候选字符的左边界,LR[r]= C[k+N-1],它表示这组候选字符列的最右边的列号,也即候选字符的右边界,其中r=1, 2, …, Q,Q表示候选字符的总数,它是在扫描数组C[]结束之后确定的;
(3)对“1”进行加宽处理,对“·”进行删除处理,从而使得字符之间的间隔特征是固定统一的,经过调整后的车牌的7个字符之间的间隔序列都为:S1 S2 S1 S1 S1 S1;
(4)去除“·”的投影后,车牌字符数应该为7个,因此,存在Q≥7,为了定位整个车牌的左右边界,令D[]表示实际的字符间隔序列模式,则D[s]=LL[s+1]-LR[s],s=1, 2, …, Q-1,寻找t(1≤t≤Q-6)以满足下面两个公式:
其中,δ为事先选定的允许误差,取δ∈[0.1,0.2],则车牌的左右边界分别为LL[t]和LR[t+6],记为PL= LL[t],PR= LR[t+6];至此,车牌定位完成,其上下的像素边界行号分别为PT、PB,左右边界的像素边界列号分别为PL、PR。
更进一步,对于步骤(五)中的(3),调整特殊字符“1”的投影宽度并去除“·”的投影数据,同步遍历候选字符列的左右边界数组,即LR[]和LL[],如果满LR[r]-LL[r]<0.3*Height,即候选字符的宽度小于0.3*Height个像素,则该候选字符为“1”或“·”,为了进一步区分是“1”或“·”,令Mid表示候选字符中间列的列号,即Mid=(LL[r] + LR[r])/2,统计第Mid列的上下边界PT和PB之间的白色像素的总数SMid,如果SMid≥0.5*Height,则表示Mid列为特殊候选字符“1”的中间列,此时调整该字符的宽度也就是调整其左右边界,令Δ=(0.5*(PT-PB)-(LR[r]- LL[r]))/2,则LL[r]=LL[r]-Δ以及LR[r]=LR[r]+Δ;否则,说明Mid列为“·”的中间列,此时去除该字符的投影数据,即LL[r..Q-1]=LL[r+1..Q]及LR[r..Q-1]=LR[r+1..Q]。
采用上述技术方案,本发明的技术效果是:在车牌图像的二值化中采用了针对不同亮度图像采取自适应的阈值,可以保证无论抓拍车牌图像光照条件的好坏,车牌信息在二值化后都不会丢失,大大提高了车牌图像二值化的成功率;在对车牌进行垂直投影后,依靠改变字符“1”和字符“·”的投影,实现车牌字符宽度一致性,进而利用固定统一的车牌字符投影间隔模式定位车牌的左右边界,能有效地排除非车牌区域的干扰,提高车牌定位的准确率。
附图说明
图1为本发明实施例中自适应阈值二值化处理原理示意图;
图2为特殊字符调整前车牌字符间隔示意图;
图3为图2中特殊字符调整后车牌字符间隔示意图;
图4为另一个特殊字符调整前车牌字符间隔示意图;
图5为图4中特殊字符调整后车牌字符间隔示意图。
具体实施方式
参照附图,具体实施步骤如下:
(一)、灰度处理
采用加权平均值法对车牌图像进行灰度化处理,计算公式如下:
其中R(x, y)、G(x, y)和B(x,y)分别表示(x, y)处的像素的红、绿、蓝分量,f(x, y)表示像素(x, y)的灰度值。
(二)、判断图像光照是否异常
分析车牌灰度图像中亮度的分布特征,判断该图像是光照正常或光照异常,计算公式如下:
其中,f(x,y)为灰度图像中像素点(x, y)的灰度值,h和w表示图像的高度和宽度,M为灰度图像的平均灰度值,D定义为描述图像明暗程度的指标,其物理含义为灰度值小于等于M0的像素数量占整幅图像的百分比,M0通常取平均灰度值的b倍, 可取值2或3。当满足M<T1和D>T2时,该图像的明暗程度为偏暗或漆黑,判定为光照异常;否则为光照正常。T1和T2分别为光照是否异常的判定阈值,T1取值范围为[20, 30]的整数,T2取值范围为[0.75, 0.9]。
(三)、二值化处理
针对光照正常或异常的不同情况分别采取不同的阈值进行二值化:,其中T0为二值化阈值,对于光照正常的图像,T0可采用最大类间方差法确定;对于偏暗或漆黑的光照异常的图像,采用经验阈值法确定T0,取值T0=M0。
图1给出了本发明实施例中自适应阈值二值化处理原理示意图。首先将源彩色图像通过加权平均值法统一转化成灰度图像,接着对灰度图像分析图像的明暗程度,并把明暗程度分为两大类:光照正常和光照不正常。(光照正常是指光照充足且均匀,在图像上表现出足够亮且亮得很均匀,光照不正常则光照条件正好相反,在图像上表现出图像整体偏暗,只有局部或者小部分区域显亮。)然后判断出所检测图像属于哪一类:光照正常还是光照不正常。最后,针对光照正常的图像,本专利中将采用最大类间方差法,而针对光照不正常的图像,则采用经验阈值法,从而分类得到相应的二值图。
在光照正常的情况下,采用单一阈值最大类间方差法二值化,可以得到相对清晰的二值化图像;在光照偏暗的情况下,采用该方法进行二值化后,车牌信息就会相当模糊,甚至丢失。如果采用自适应多阈值处理算法,仍然对上述光照偏暗的图像进行二值化处理,却依然可以得到清晰的含有车牌信息的二值化图像。传统单一阈值法中用的较多且效果较好的最大类间方差法无法克服不同光照条件下的车牌图像二值化中的问题,当图像中的亮度偏低或者很低时,该方法容易导致彩色图像中存在的车牌信息在二值图中消失,而本发明能很好的适应不同明暗程度的车牌图像,原图像中的车牌信息在其二值图像中都较为完整、清晰的得以保留,有利于后续的车牌定位。
(四)、利用行扫描灰度跳变特片定位车牌的上下边界
(1):用i表示从车牌图像自底向上开始编号的行号,并令初始值i=1;用PT和PB分别表示车牌上下边界的像数行号,并令初始值PT=0,初始值PB=0;
(2):统计第i行的灰度跳变点总数,即像素灰度值从0到255或者从255到0转变的像素点数量,记为S[i],若S[i]大于等于跳变次数12,则表示该行为车牌特征行;否则不是车牌特征行;
(3):若PB大于0,则转步骤(4);否则,如果从i行开始往前连续e行均为车牌特征行且第i-e行是非车牌特征行,则PB=i-e-1或PB=i-2*e-1并转步骤(4);否则,转步骤(2);e的取值越大则判断误差将越小,但效率会降低,e决定了车牌下边界与车牌中字符的下边界的距离,e值取得越大,则车牌的下边界与字符之间的空隙将越大,反之越小,通常情况下取值e≥3,在本实施例中,e=3;PB=i-e-1时,表示直接取第一个车牌特征行作为下边界;PB=i-2*e-1时,表示取第一个车牌特征行往下e行作为下边界,即在车牌字符与下边界之间留下e行空隙,可根据实际情况进行选择;
(4):若从i行开始往前连续v行均是非车牌特征行且第i-v行是车牌特征行,则PT=i或PT=i-v并转步骤(5);v的取值越大则判断误差将越小,但效率会降低,v决定了车牌上边界与车牌中字符的上边界的距离,v值取得越大,则车牌的上边界与字符之间的空隙将越大,反之越小,通常情况下取值v≥3,在本实施例中,v=3;PT=i-v时,表示直接取最后一个车牌特征行作为上边界;PT=i时,表示取最后一个车牌特征行往上v行作为上边界,即在车牌字符与上边界之间留下v行空隙,可根据实际情况进行选择;
(5):结束,此时PTborder和PBborder分别表示车牌上下边界的像素行号,记录车牌像素高Height=|PTborder-PBborder|。
(五)、利用列扫描调整字符投影间隔模式并定位车牌的左右边界,包括以下步骤:
(1):标记特征列,自左向右逐列扫描由上下边界PTborder和PBborder所形成的车牌区域,采用数组C[]记录扫描的列情况,当第j列出现白色像素点时,将该列标记为特征列并记C[k]=j,k=1, 2, …, m,m即为扫描结束后特征列的总数;
(2):标记候选车牌字符,扫描数组C[],对每组连续相邻的N列(0.1*Height≤N≤0.5*Height)特征列,为不失一般性,假设这N列特征列的列号为C[k]、C[k+1]、…、C[k+N-1],则这组连续相邻的N列标记为候选字符列,这N列与上下边界PT和PB所形成的区域即为候选车牌字符。令LL[r]=C[k],它表示这组候选字符列的最左边的列号,也即候选字符的左边界,LR[r]= C[k+N-1],它表示这组候选字符列的最右边的列号,也即候选字符的右边界,其中r=1, 2, …, Q,Q表示候选字符的总数,它是在扫描数组C[]结束之后确定的;
(3):调整特殊字符“1”的投影宽度并去除“·”的投影数据,同步遍历候选字符列的左右边界数组,即LR[]和LL[],如果满LR[r]-LL[r]<0.3*Height,即候选字符的宽度小于0.3*Height个像素,则该候选字符为“1”或“·”,为了进一步区分是“1”或“·”,令Mid表示候选字符中间列的列号,即Mid=(LL[r] + LR[r])/2,统计第Mid列的上下边界PT和PB之间的白色像素的总数SMid,如果SMid≥0.5*Height,则表示Mid列为特殊候选字符“1”的中间列,此时调整该字符的宽度也就是调整其左右边界,令Δ=(0.5*(PT-PB)-(LR[r]- LL[r]))/2,则LL[r]=LL[r]-Δ以及LR[r]=LR[r]+Δ;否则,说明Mid列为“·”的中间列,此时去除该字符的投影数据,即LL[r..Q-1]=LL[r+1..Q]及LR[r..Q-1]=LR[r+1..Q];
(4):去除“·”的投影后,车牌字符数应该为7个,因此,存在Q≥7,为了定位整个车牌的左右边界,令D[]表示实际的字符间隔序列模式,则D[s]=LL[s+1]-LR[s],s=1, 2, …, Q-1,寻找t(1≤t≤Q-6)以满足下面两个公式:
其中,δ为事先选定的允许误差,取δ∈[0.1,0.2],则车牌的左右边界分别为LL[t]和LR[t+6],记为PL= LL[t],PR= LR[t+6]。
在组成车牌字符串的所有字符中,“1”和“·”的投影宽度要比其他字符的宽度小,同时,由于“1”位置的随机性,导致字符之间的间隔不是统一的。如图2和图4所示,车牌的8个字符之间的间隔序列分别为:S1 S1 S1 S2 S2 S1 S1和S1 S1 S1 S1 S1 S1 S2 。加之,“·”经过二值化处理后存在丢失的现象,所以本文对“1”进行加宽处理,对“·”进行删除处理,从而使得字符之间的间隔特征是固定统一的,经过调整后的如图2和图5所示的车牌的7个字符之间的间隔序列都为:S1 S2 S1 S1 S1 S1;
(6)、至此,车牌定位完成,其上下的像素边界行号分别为PT、PB,左右边界的像素边界列号分别为PL、PR。
本发明按照实施例进行了说明,在不脱离本发明原理的前提下,本产品还可以作出若干变形和改进。应当指出,凡采用等同替换或等效变换等方式所获得的技术方案,均落在本发明的保护范围内。
机译: 多音调字符的显示方法,包括便携式多灰度级字符显示程序的多灰度级字符显示装置,包括多灰度级字符的显示装置的电视接收机以及多灰度级字符设备的显示
机译: 一种用于将一组输入字符串转换为至少一个将一组输入字符串表示为字符串的模式表达式的方法,一种将转换模式提取为近似模式表达式的方法及其计算机和计算机程序
机译: 车辆驾驶员的交通标志识别方法,包括给交通标志分配附加字符,在给定位置搜索附加字符,并通过边缘检测器和灰度值检测器检测附加字符。