基于旋转投影的车牌倾斜矫正的方法

xiaoxiao2021-2-25  373

基于旋转投影的车牌倾斜矫正的方法
【技术领域】
[0001] 本发明属于车牌倾斜矫正技术领域,具体设及一种基于旋转投影的车牌倾斜矫正 的方法。
【背景技术】
[0002] 在车牌识别系统中,由于摄像机安装角度W及车辆行驶等情况会不可避免的造成 采集到的车牌图像存在一定的倾斜。倾斜的车牌图像会造成字符倾斜,影响字符的正确分 割及字符识别的准确率。因此,有必要对倾斜的车牌进行校正。进行校正的前提是需要计算 出车牌倾斜的角度。一般情况下,倾斜的车牌主要表现为Ξ种情形:水平倾斜、竖直倾斜及 水平竖直倾斜。分别如图1、图2和图3所示,而现有的车牌倾斜校正的算法主要有:
[0003] (1化OU曲变换法。化U曲变换法利用hou曲变换检测直线的原理在车牌图像中检测 出车牌的边框,从而求得车牌区域的倾斜角度。由于实际的应用场景中,获得的车牌图像可 能没有边框,或者边框不明显,也有些受到污损噪声干扰等,导致hou曲变换后参数空间的 极值点分散,检测效果不理想。另外,hou曲变换的方法计算量大,耗时等问题在实时性高的 应用场景中也不如人意。
[0004] (2)模板匹配法。该方法采用模板匹配捜索到车牌区域的两个或四个顶点,再利用 双线性空间的变换重建车牌所在的矩形区域,从而达到车牌倾斜校正的目的。其缺点在 于,当车牌背景颜色与车身颜色一致或者相近时,算法可靠性不高。
[000引(3)最小二乘法拟合法。该方法通过求取车牌上各个字符的连通域中屯、点,然后根 据运些中屯、点坐标进行最小二乘拟合,得到一条直线。该直线的倾斜角度即为车牌的倾斜 角度。最小二乘法在车牌字符清晰且没有污损时效果良好,但是对于那些存在污损,字符断 裂,低分辨率的车牌,造成的误差较大。

【发明内容】

[0006] 本发明的目的提供一种基于旋转投影的车牌倾斜矫正的方法,本方法主要利用标 准车牌(即无任何倾斜)在水平或竖直方向上的投影方差最大运一特性将车牌边缘图在一 定的角度范围内(通常[-30~30])进行旋转,记录每次旋转过后的新图像的水平(竖直)方 向投影值。通过比较和分析每次旋转角度得到的投影值的大小的方差分布,方差最大的旋 转角即为车牌的倾斜角,从而可W确定一个最优的水平(竖直)方向旋转角度。避免了现有 技术中的检测效果不理想、在实时性高的应用场景中也不如人意、算法可靠性不高、造成的 误差较大的缺陷。
[0007] 为了克服现有技术中的不足,本发明提供了一种基于旋转投影的车牌倾斜矫正的 方法的解决方案,具体如下:
[0008] -种基于旋转投影的车牌倾斜矫正的方法,在初定位时找到车牌区域,将车牌初 定位后得到车牌图像作为输入图像,对车牌图像做如下步骤的操作:
[0009] 步骤1:灰度化
[0010] 将颜色图转换成灰度图,把车牌图像的RGB颜色图转化灰度图公式为公式(1)所 示:
[0011] Gray(i,j)= R*0.299+G*0.587+6*0.114 (1)
[001引其中Gray(i,j)为目标图像在点(i,j)上的灰度值,R、G、B为图像Ξ个分量,i为大 于0的整数,j为大于0的整数;
[0013] 步骤2:边缘提取
[0014] 将车牌图像进行灰度化后,需要提取出车牌的字符纹理信息,边缘信息的完整与 否关系到最终角度的计算。提取车牌图像边缘信息是基于Sobel算子的边缘检测,具体做法 如下:
[0015] 1.做水平倾斜计算计算得到水平方向边缘检测的图像:对车牌图像灰度化后,对 灰度化的车牌图像做一次平滑处理,再采用只对水平方向响应的Sobel算子提取图像边缘, 其中采用的水平Sobel算子如下所示:
[0016]
[0017] 水平方向边缘提取计算公式如公式(2)所示:
[0018]
' 2)
[0019] 其中A代表平滑处理后的车牌图像,也即原始图像,Gx表示为水平方向边缘检测的 图像;
[0020] 2.做竖直倾斜计算得到竖直方向边缘检测的图像:采用的竖直Sobel算子如下:
[0021]
[0022] 竖直方向边缘提取计算公式如公式(3)所示:
[0023]
[0024] 其中A代表平滑处理后的车牌图像,也即原始图像,Gy表示为竖直方向边缘检测的 图像;
[002引 3.二值化
[0026] 采用全局二值化方法,通过求得图像灰度平均值继而将该均值作为图像二值化的 阔值,求得图像二值化的阔值T的计算公式如公式(4)所示:
[0027]
(4)
[0028] 其M*N表示经过Sobel算子计算得到的图像的大小,M、m为大于0的整数,N、n为大于 0的整数,f(m, η)表示图像中(m, η)点的灰度值;
[0029] 4.倾斜角计算如下:
[0030] 1)水平方向倾斜角计算的算法步骤如下:
[0031 ] Step_l_l.在旋转角度[-30,30]的区间,首先^旋转角度9 = -30度的角度对边缘 图像W图像中屯、为旋转中屯、进行旋转变换,旋转后图像高度记为m,得到该角度下的投影 值,记为Pr〇jectHo;r-3〇[m],其中P;rojectHo;r-3〇[k],0<k<m表示在旋转角度-30°下图像的 第k行非0值数目;
[0032] St邱_1_2.在Step_l_l的基础上,旋转角度目Wstep = 5°递增并旋转原始图像,记 录第i次旋转后的水平方向投影值为Projec地ore[m],其中目= i*5-30,且i<12,st邱代表 步进值;
[0033] St邱_1_3.若i<12,则重复Step_l_2,否则,对于每个Pro jectHor0[m],求一阶差分 和
,并将其记录在Si中,i为整数;
[0034] Step_l_4.计算Si中最大值Max(Si),根据最大值下标i可W知道当旋转角度9 = i* 5-30时投影值最大,此时所要求的真正旋转角在[(i-1)巧-30],( i+1)巧-30]区间范围内; [00;3引 Step_l_5.在[(i-1)巧-30],(i+l)巧-30]区间中旋转角度目Wstep=l°递增并旋 转原始图像,重复Step_l_2,Step_l_3,Step_l_4;最终求得Max(Si),此时水平方向的倾斜 角日=i。
[0036] 2)竖直方向倾斜角计算的算法步骤如下:
[0037] 具体的算法步骤如下:
[0038] Step_2_l.根据上述计算得到的水平方向的倾斜角并进行旋转校正车牌图像,旋 转后的车牌图像作为计算竖直方向倾斜角度原始图像;
[0039] Step_2_2.在旋转角度[-30,30]的区间,首先^0 = -3〇的角度对边缘图像^图像 中屯、为旋转中屯、进行旋转变换,旋转后图像宽度记为η,得到该角度下的投影值,记为 P;rojectVe;r-3〇[n],其中P;rojectVe;r-3〇[l],0<1<η表示在旋转角度-30° 下图像的第 1 列非0 值数目;
[0040] Step_2_3.在步骤1的基础上,旋转角度目Wstep = 5°递增并旋转原始图像,记录第 i次旋转后的竖直方向投影值为Pro jectVen[η],其中Θ = i*5-30,且i < 12;
[0041 ] St邱_2_4.若i<12,则重复Step_2_2,否则,对于每个Pro jectVere[n],求一阶差分 租
丰记录在Si中;
[0042] 81:邱_2_5.计算5冲最大值1曰义估),根据最大值下标;[可^知道当旋转角度目=;[* 5-30时投影值最大;此时所要求的真正旋转角在[(i-1)巧-30],(i+1)巧-30]区间范围内;
[0043] Step_2_6.在[(i-1)巧-30],(i+l)巧-30]区间中旋转角度目Wstep=l°递增并旋 转原始图像,重复步骤Step_2_2,St邱_2_3,Step_2_4;最终求得Max(Si),此时竖直方向的 倾斜角e=i;
[0044] 5.车牌旋转校正
[0045] 根据计算得到水平或竖直方向的车牌倾斜角度,对车牌进行旋转校正,对于车牌 的旋转校正,首先需要校正水平方向的倾斜,水平方向的校正只需按照水平的车牌倾斜角 度的大小去旋转图像即可,对于竖直方向的校正,通过仿射变换来校正。
[0046] 本发明实现了倾斜矫正效果佳、在实时性高的应用场景中速度快、算法可靠性高、 造成的误差小。
【附图说明】
[0047] 图1为车牌水平倾斜的示意图。
[0048] 图2为车牌竖直倾斜的示意图。
[0049] 图3为车牌水平竖直倾斜的示意图。
[0050] 图4为本发明的方法的流程图。
[0051] 图5为本发明的方法应用的第一组的Ξ张图片,按照自左向右的顺序分别为初定 位车牌的图片、水平定位后的图片、竖直定位后的图片。
[0052] 图6为本发明的方法应用的第二组的Ξ张图片,按照自左向右的顺序分别为初定 位车牌的图片、水平定位后的图片、竖直定位后的图片。
[0053] 图7为本发明的方法应用的第Ξ组Ξ张图片,按照自左向右的顺序分别为初定位 车牌的图片、水平定位后的图片、竖直定位后的图片。
【具体实施方式】
[0054] 车牌的倾斜有水平倾斜,竖直倾斜及水平竖直倾斜Ξ种模式,在车牌识别中往往 不能只针对前面两种情况作相应的单一校正,而是需要考虑水平竖直倾斜运一普遍的模 式。基于旋转投影法计算倾斜角流程图如图4所示。
[0055] 下面结合附图和实施例对
【发明内容】
作进一步说明:
[0056] 参照图4所示,基于旋转投影的车牌倾斜矫正的方法,在初定位时找到车牌区域, 将车牌初定位后得到车牌图像作为输入图像,对车牌图像做如下步骤的操作:
[0057] 步骤1:灰度化
[0058] 将颜色图转换成灰度图,把车牌图像的RGB颜色图转化灰度图公式为公式(1)所 示:
[0059] Gray(i,j)= R*0.299+G*0.587+6*0.114 (1)
[0060] 其中Gray(iJ)为目标图像在点(i,j)上的灰度值,R、G、B为图像Ξ个分量,i为大 于0的整数,j为大于0的整数;
[0061] 步骤2:边缘提取
[0062] 将车牌图像进行灰度化后,需要提取出车牌的字符纹理信息,边缘信息的完整与 否关系到最终角度的计算。提取车牌图像边缘信息是基于Sobel算子的边缘检测,具体做法 如下:
[0063] 1.做水平倾斜计算计算得到水平方向边缘检测的图像:对车牌图像灰度化后,对 灰度化的车牌图像做一次平滑处理,再采用只对水平方向响应的Sobel算子提取图像边缘, 其中采用的水平Sobel算子如下所示:
[0064]
[0065] 水平方向边缘提取计算公式如公式(2)所示:
[0066]
<2> ;
[0067] 其中A代表平滑处理后的车牌图像,也即原始图像,Gx表示为水平方向边缘检测的 图像;
[0068] 2.做竖直倾斜计算得到竖直方向边缘检测的图像:采用的竖直Sobel算子如下:
[0069]
[0070] 竖直方向边缘提取计算公式如公式(3)所示:
[0071]
[0072] 其中A代表平滑处理后的车牌图像,也即原始图像,Gy表示为竖直方向边缘检测的 图像;
[0073] 3.二值化
[0074] 采用全局二值化方法,通过求得图像灰度平均值继而将该均值作为图像二值化的 阔值,求得图像二值化的阔值T的计算公式如公式(4)所示:
[00巧]

[0076] 其M*N表示经过Sobel算子计算得到的图像的大小,M、m为大于0的整数,N、n为大于 0的整数,f(m, η)表示图像中(m, η)点的灰度值;
[0077] 4.倾斜角计算如下:
[0078] 1)水平方向倾斜角计算的算法步骤如下:
[0079] Step_l_l.在旋转角度[-30,30]的区间,首先則定转角度目=-30度的角度对边缘 图像W图像中屯、为旋转中屯、进行旋转变换,旋转后图像高度记为m,得到该角度下的投影 值,记为Pr〇jectHo;r-3〇[m],其中P;rojectHo;r-3〇[k],0<k<m表示在旋转角度-30°下图像的 第k行非0值数目;
[0080] Step_l_2.在Step_l_l的基础上,旋转角度目W step = 5°递增并旋转原始图像,记 录第i次旋转后的水平方向投影值为Projec地ore[m],其中目= i*5-30,且i<12,st邱代表 步进值;
[0081 ] St邱_1_3.若i<12,则重复Step_l_2,否则,对于每个Pro jectHor0[m],求一阶差分 租
并将其记录在Si中,i为整数;
[0082] Step_l_4.计算Si中最大值Max(Si),根据最大值下标i可W知道当旋转角度9 = i* 5-30时投影值最大,此时所要求的真正旋转角在[(i-1)巧-30],( i+1)巧-30]区间范围内;
[0083] Step_l_5.在[(i-1)巧-30],(i+l)巧-30]区间中旋转角度目Wstep=l°递增并旋 转原始图像,重复Step_l_2,Step_l_3,Step_l_4;最终求得Max(Si),此时水平方向的倾斜 角日=i。
[0084] 2)竖直方向倾斜角计算的算法步骤如下:
[0085] 具体的算法步骤如下:
[0086] Step_2_l.根据上述计算得到的水平方向的倾斜角并进行旋转校正车牌图像,旋 转后的车牌图像作为计算竖直方向倾斜角度原始图像;
[0087] Step_2_2.在旋转角度[-30,30]的区间,首先^0 = -3〇的角度对边缘图像^图像 中屯、为旋转中屯、进行旋转变换,旋转后图像宽度记为η,得到该角度下的投影值,记为 P;rojectVe;r-3〇[n],其中P;rojectVe;r-3〇[l],0<1<η表示在旋转角度-30° 下图像的第 1 列非0 值数目;
[0088] St邱_2_3.在步骤1的基础上,旋转角度目Wstep = 5°递增并旋转原始图像,记录第 i次旋转后的竖直方向投影值为Pro jectVen[η],其中Θ = i*5-30,且i < 12;
[0089] St邱_2_4.若i<12,则重复Step_2_2,否则,对于每个Pro jectVere[n],求一阶差分 巧
,并记录在Si中;
[0090] 81:邱_2_5.计算5冲最大值1曰义估),根据最大值下标;[可^知道当旋转角度目=;[* 5-30时投影值最大;此时所要求的真正旋转角在[(i-1)巧-30],(i+1)巧-30]区间范围内; [0091] Step_2_6.在[(i-1)巧-30],(i+l)巧-30]区间中旋转角度目Wstep=l°递增并旋 转原始图像,重复步骤Step_2_2,St邱_2_3,St邱_2_4;最终求得Max(Si),此时竖直方向的 倾斜角e=i;
[009引5.车牌旋转校正
[0093] 根据计算得到水平或竖直方向的车牌倾斜角度,对车牌进行旋转校正,对于车牌 的旋转校正,首先需要校正水平方向的倾斜,水平方向的校正只需按照水平的车牌倾斜角 度的大小去旋转图像即可,对于竖直方向的校正,通过仿射变换来校正。
[0094] 车牌校正效果如图5、图6和图7所示。
[0095] W上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽 然本发明已W较佳实施例掲露如上,然而并非用W限定本发明,任何熟悉本专业的技术人 员,在不脱离本发明技术方案范围内,当可利用上述掲示的技术内容做出些许更动或修饰 为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在 本发明的精神和原则之内,对W上实施例所作的任何简单的修改、等同替换与改进等,均仍 属于本发明技术方案的保护范围之内。
【主权项】
1. 一种基于旋转投影的车牌倾斜矫正的方法,其特征在于在初定位时找到车牌区域, 将车牌初定位后得到车牌图像作为输入图像,对车牌图像做如下步骤的操作: 步骤1:灰度化 将颜色图转换成灰度图,把车牌图像的RGB颜色图转化灰度图公式为公式(1)所示: Gray(i,j)= R*0.299+G*0.587+B*0.114 (I) 其中Gray (i,j)为目标图像在点(i,j)上的灰度值,R、G、B为图像三个分量,i为大于O的 整数,j为大于〇的整数; 步骤2:边缘提取 将车牌图像进行灰度化后,需要提取出车牌的字符纹理信息,边缘信息的完整与否关 系到最终角度的计算。提取车牌图像边缘信息是基于Sobel算子的边缘检测,具体做法如 下:1. 做水平倾斜计算计算得到水平方向边缘检测的图像:对车牌图像灰度化后,对灰度 化的车牌图像做一次平滑处理,再采用只对水平方向响应的Sobel算子提取图像边缘,其中 采用的水平Sobel算子如下所示:水平方向边缘提取计算公式如公式(2)所示:其中A代表平滑处理后的车牌图像,也即原始图像,Gx表示为水平方向边缘检测的图 像;2. 做竖直倾斜计算得到竖直方向边缘检测的图像:采用的竖直Sobel算子如下:竖直方向边缘提取计算公式如公式(3)所示:其中A代表平滑处理后的车牌图像,也即原始图像,Gy表示为竖直方向边缘检测的图 像;3. 二值化 采用全局二值化方法,通过求得图像灰度平均值继而将该均值作为图像二值化的阈 值,求得图像二值化的阈值T的计算公式如公式(4)所示:其M*N表示经过Sobel算子计算得到的图像的大小,M、m为大于0的整数,N、n为大于0的 整数,f(m, η)表示图像中(m, η)点的灰度值;4. 倾斜角计算如下: 1) 水平方向倾斜角计算的算法步骤如下: Step_l_l.在旋转角度[-30,30]的区间,首先以旋转角度Θ = -30度的角度对边缘图像 以图像中心为旋转中心进行旋转变换,旋转后图像高度记为m,得到该角度下的投影值,记 为ProjectHor-3〇[m],其中ProjectHor-3〇[k],0<k<m表示在旋转角度-30°下图像的第k行 非〇值数目; Step_l_2.在Step_l_l的基础上,旋转角度Θ以8七6口 = 5°递增并旋转原始图像,记录第1 次旋转后的水平方向投影值为Pro jectHore[m],其中Θ = i*5_30,且i<12, step代表步进 值; Step_l_3 ·若i〈12,则重复Step j_2,否则,对于每个Pro jectHore[m],求一阶差分和I并将其记录在S冲,i为整数; 5七6口_1_4.计算5!中最大值1&?(5〇,根据最大值下标;[可以知道当旋转角度0 = ;[*5-3〇 时投影值最大,此时所要求的真正旋转角在[(i-l)*5-30],(i+l)*5-30]区间范围内; Step_l_5.在[(卜1)*5-3〇],(1+1)*5-3〇]区间中旋转角度0以#叩=1°递增并旋转原 始图像,重复Step_l_2,Step_l_3,Step_l_4;最终求得Max(Si),此时水平方向的倾斜角α = i〇 2) 竖直方向倾斜角计算的算法步骤如下: 具体的算法步骤如下: Step_2j.根据上述计算得到的水平方向的倾斜角并进行旋转校正车牌图像,旋转后 的车牌图像作为计算竖直方向倾斜角度原始图像; Step_2_2.在旋转角度[-30,30]的区间,首先以Θ = -30的角度对边缘图像以图像中心 为旋转中心进行旋转变换,旋转后图像宽度记为η,得到该角度下的投影值,记为 Pro jectVer-3〇[η],其中ProjectVer-3〇[1],0<l<m表示在旋转角度-30°下图像的第1列非0 值数目; Step_2_3.在步骤1的基础上,旋转角度Θ以8丨6口 = 5°递增并旋转原始图像,记录第;[次 旋转后的竖直方向投影值为Pro jectVere[η],其中Θ = i*5_30,且i < 12; Step_2_4 ·若i〈12,则重复Step_2_2,否则,对于每个Pro jectVere[n],求一阶差分和_并记录在Si中; Step_2_5.计算Si中最大值Max(Si),根据最大值下标i可以知道当旋转角度0 = i*5-3〇 时投影值最大;此时所要求的真正旋转角在[(i-l)*5-30],(i+l)*5-30]区间范围内; Step_2_6.在[(卜1)*5-3〇],(1+1)*5-3〇]区间中旋转角度0以#叩=1°递增并旋转原 始图像,重复步骤Step_2_2,Step_2_3,Step_2_4;最终求得Max(Si),此时竖直方向的倾斜 角 0=i;5.车牌旋转校正 根据计算得到水平或竖直方向的车牌倾斜角度,对车牌进行旋转校正,对于车牌的旋 转校正,首先需要校正水平方向的倾斜,水平方向的校正只需按照水平的车牌倾斜角度的 大小去旋转图像即可,对于竖直方向的校正,通过仿射变换来校正。
【专利摘要】一种基于旋转投影的车牌倾斜校正的方法,本方法主要利用标准车牌(即无任何倾斜)在水平或竖直方向上的投影方差最大这一特性将车牌边缘图在一定的角度范围内(通常[-30~30])进行旋转,记录每次旋转过后的新图像的水平(竖直)方向投影值。通过比较和分析每次旋转角度得到的投影值的大小的方差分布,方差最大的旋转角即为车牌的倾斜角,从而可以确定一个最优的水平(竖直)方向旋转角度。避免了现有技术中的检测效果不理想、在实时性高的应用场景中也不如人意、算法可靠性不高、造成的误差较大的缺陷。
【IPC分类】G06K9/32
【公开号】CN105488501
【申请号】CN201510843159
【发明人】蔡志旻, 娄刚, 刘伟, 许焱, 韦树艺
【申请人】南京富士通南大软件技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日

最新回复(0)