基于区域划分和霍夫变换的车牌倾斜校正

2017-04-05 07:53黄龙超
关键词:边框车牌校正

王 越,黄龙超,李 琴

(重庆理工大学 计算机科学与工程学院,重庆 400054)

基于区域划分和霍夫变换的车牌倾斜校正

王 越,黄龙超,李 琴

(重庆理工大学 计算机科学与工程学院,重庆 400054)

针对车牌倾斜会降低字符分割和识别准确率的问题,提出了基于区域划分和霍夫变换的倾斜校正方法。定位后的车牌在垂直方向根据阈值划分成高度相同的等分域,然后通过霍夫变换取得所有区域的最大角度值为水平角度值,同样在水平方向从两侧往中间划分等分域,通过霍夫变换取两侧最大角度值为垂直倾斜角度,对水平倾斜进行双线性插值旋转校正,对垂直倾斜进行错位偏移校正。通过区域划分的方法,可以有效降低霍夫变换搜索的区域,从而提高校正速度。实验结果表明:该算法简单、正确率高、鲁棒性好。

车牌识别;倾斜校正; 霍夫变换; 区域划分

车牌识别在现代交通中显得越来越重要,被广泛应用在停车场、机场等车辆频繁出入的场所中。车牌识别主要由车牌定位、字符校正、字符分割和字符识别4部分组成。由于车牌字符的倾斜常常为字符分割和字符识别带来困难,因此在字符分割之前,通常需要对车牌字符进行倾斜校正。

车牌的倾斜通常是由于拍摄位置和车牌位置存在一定角度所导致。车牌的倾斜往往会对后续操作产生影响,因此车牌倾斜校正是字符分割和识别成功率提高的关键所在。

车牌的倾斜主要有3种:水平方向、垂直方向、混合方向(水平和垂直方向)。现在主要的倾斜校正方法有Radon变换法[1-3]、霍夫变换法(Hough)[4]、旋转投影法[6]、线性拟合法[8]、K-L变换[8]。这些单一的方法都存在不足。Radon变换法对边框不敏感,但是计算量大。霍夫变换对边框敏感,若边框缺失,会造成检测到的角度与正确的倾斜角度误差很大。旋转投影法通过穷举法,给定一个角度阈值范围,然后在每个角度进行垂直方向的旋转,最后统计落在水平方向最少白色像素点的角度为垂直倾斜角度。虽然该方法倾斜校正的角度比较准确,但是运算量巨大,花费时间较长,不满足车牌识别的实时性要求。K-L变换也称为主成分分析法,要求车牌的定位精准,不包含噪声,并且受二值化效果的影响,因此该方法容错率低。

针对以上问题,本文提出了基于区域划分和霍夫变换相结合的方法。该方法主要解决了Hough变换对边框的敏感性,并且通过区域划分和边缘检测算子减少Hough变换搜索的区域,从而提高搜索速度。针对Hough变换对边框的敏感性,本文算法在实现精确定位的基础上,首先在定位图像的垂直方向和水平方向的上下增加一个阈值高度,可以解决Hough变换无边框的情况。再通过边缘检测算子对二值图像进行水平和垂直方向的边缘检测,然后将经过边缘检测的二值图像在垂直方向划分成等区域的高度。在水平方向的区域划分的宽度小于高度。这样通过Hough变换检测到最长的直线是有一定角度的倾斜的线条(车牌边框二值线)。通过Hough变换得到水平和垂直方向的角度,先对水平方向进行校正,再在垂直方向上对每行元素进行错位纠正。

1 图像预处理

定位后车牌的图像预处理是进行车牌倾斜校正前必不可少的工作,也是提高倾斜校正算法成功率的关键之一。本文的图像预处理主要由4部分组成:图像灰度化、图像归一化、图像去噪、图像边缘检测。

1.1 图像灰度化

获取图像一般是彩色图像,由RGB彩色元素构成的三维矩阵。一般可以对彩色图像进行加权处理来得到灰度图像。本文选择R、G、B的权值系数分别为:0.229、0.587和0.114[7]。

1.2 图像归一化

由于灰度处理后的图像每个像素点的值在0~255,采取归一化的方法把每个像素点的值变换到0~1。假设得到的灰度图像为A,其归一化原理如下:

delta=1/(max(A)-min(A))

(1)

B=(A-min(A))*delta

(2)

式中:max(A)是矩阵A中所有元素最大值;min(A)为矩阵A中所有元素的最小值;B是归一化后的矩阵。

1.3 图像去噪

由于车牌图像存在着图像光照不均匀以及车牌污染、图像模糊等情况,本算法采用非平滑技术中的中值滤波方法,它能有效消除孤立点,达到去噪的效果。由于直方图反映了图像的清晰程度,当直方图分布均匀时,图像达到最清晰,并且该方法对于背景和前景都太亮或者太暗的图像非常有用,可以解决光照不均的情况,因此本文在滤波后采取直方图均衡化方法。

1.4 图像边缘检测

由于车牌的边框的内外含有明显的边缘变化,因此可以明显检测到车牌边框的边缘。现在常用的边缘检测算子有sobel、canny。本文在车牌水平方向上选取了sobel算子,在垂直方向上选择了canny算子。下面以sobel算子为例进行介绍。

Sobel算子的的卷积核:

(3)

式中,Gx和Gy分别代表经横向及纵向边缘检测的一个卷积模板,Gx可由Gy旋转90°得到。

分别将式(3)中的卷积核与式(2)中的灰度矩阵B做卷积:

(4)

对式(3)和式(4)进行运算。令B(a,b)表示图像在矩阵B的(a,b)点的灰度值,运算结果如下:

GBx=(-1)*B(x-1,y-1)+ 0*B(x,y-1)+1*B(x+1,y-1)+ (-2)*B(x-1,y)+0*B(x,y)+ 2*B(x+1,y)+(-1)*B(x-1,y+1)+ 0*B(x,y+1)+1*B(x+1,y+1)

(5)

GBy=1*B(x-1,y-1)+2*B(x,y-1)+ 1*B(x+1,y-1)+0*B(x-1,y)+ 0*B(x,y)+0*B(x+1,y)+ (-1)*B(x-1,y+1)+ (-2)*B(x,y+1)+ (-1)*B(x+1,y+1)

(6)

由式(5)和式(6)化简可得:

GBx=[B(x+1,y-1)+2*B(x+1,y)+B(x+1,y+1)]-[B(x-1,y-1)+ 2*B(x-1,y)+B(x-1,y+1)]

(7)

GBy=[B(x-1,y-1)+2B(x,y-1)+B(x+1,y-1)]-[B(x-1,y+1)+ 2B(x,y+1)+B(x+1,y+1)]

(8)

图像在该点的灰度值为

(9)

当GB大于某个阈值时,即认为该点是边缘点,然后把该点的值设置为1,小于阈值时就把该点的值设置为0,这样就产生一个具有边缘的二值图像。

车牌定位图像的预处理是为了使车牌边框的直线凸显,让车牌的水平和垂直方向的倾斜角度更加准确。如图1(a)和图1(b)所示,首先得到定位后的车牌图像,在水平方向和垂直方向进行阈值的长度扩张,然后通过sobel算子得到水平方向的二值化图像,通过canny算子得到垂直方向的二值化,见图1(c)和图1(d)。由于车牌的固定特征为长度约为高度的2倍,所以车牌的水平方向的直线足够长,因此在水平方向通过sobel算子尽可能保存直线的形状,并减少白色像素点的数量,加快检测的速度。图1(e)和图1(f)是图1(b)中进行水平旋转后的边缘检测情况。比较图1(e)和图1(f),由于车牌的宽度较小图1(f)中sobel算子在垂直边缘的处理情况不理想,边缘几乎没有了,图1(e)canny算子对弱边缘的检测效果好,边缘明显。因此,在水平方向和垂直方向分别选择了sobel、canny算子。图1是在水平方向和水平校正后的垂直方向预处理的两种情况对比。

图1 车牌水平方向和垂直方向水平校正后的预处理结果

2 车牌倾斜校正算法

车牌倾斜主要分为水平方向、垂直方向和两种方向相结合的情况。考虑到Hough变换对车牌的边框敏感,因此本文算法在实现车牌精确定位的前提下,分别在水平方向和垂直方向增加了一个阈值来使车牌的边框显示出来。在进行垂直角度检测时,由于水平线的长度要大于垂直、倾斜线的长度,因此通过Hough变换检测不到边框的垂直角度倾斜线,需要对水平方向和垂直方向进行区域的划分。因此,本文提出了基于区域划分和霍夫变换的车牌倾斜校正算法。图2是车牌倾斜校正算法的处理流程。

2.1 区域划分

区域划分是在预处理之后的步骤,图3(a)和图3(b)分别对图1(d)和图1(e)中的图像进行垂直方向和水平方向的区域划分。为了尽最大限度保留水平方向的直线,便于Hough变换检测到的直线是最长的水平倾斜直线,对图1(d)的划分阈值选取的是车牌高度的1/4,便于Hough变换检测到的直线是最长的垂直倾斜的直线。为了使水平方向的直线长度小于垂直方向的直线长度,对图1(e)的区域划分采取的是从两端到中间的划分方法。图3是对车牌图像的区域划分。

图2 车牌倾斜校正算法处理流程

2.1 Hough变换

由Hough变换可知:直线上任何一点都可以转换为直线到原点的距离和角度θ之间的关系。因此,x-O-y平面内直线问题可转化为s-O-θ平面内点的问题。由于在一条直线上的点在s-O-θ内会相交于一点,因此只需统计s-o-θ内点的个数,取点个数最多的即为x-o-y平面内最长的直线。图4为车牌水平倾斜情况。

图4 车牌水平倾斜

2.2 水平倾斜校正

首先在数据的第1行第1列的点建立如图4所示的坐标系。设A是图4直线L上任意一点,其坐标为(x1,y1),其中直线L到原点的距离是d,并且与x轴的角度为θ。因此,由Hough变换可得

(10)

水平倾斜算法的步骤:

1) 如图3(a)所示,把预处理后的图像在垂直方向进行区域划分,阈值选取为高度的1/4。

2) 从图像的第1行开始做递增循环,然后在对第1列开始做递增循环,对图3(a)中每个划分区域的点在1°~180°每个方向上统计(d,θ)的数量,取其中3个区域中(d,θ)数量最大的θ为水平方向的角度。

由于车牌的水平倾斜方向有两种情况,其中θ的角度分别小于90°和大于90°,因此对图4(a)类型车牌进行顺时针旋转θ,对图4(b)类型车牌进行逆时针旋转180°-θ。图5是本文算法水平校正后的车牌二值图像:

图5 车牌的水平倾斜校正二值图像

2.3 垂直倾斜校正

由图6可知:车牌在水平校正后会产生黑色的区域。由于在进行垂直角度的检测时,会对图像进行二值化操作,因此黑色的区域会对Hough变换的结果产生影响,所以在图6的基础上对车牌的上下边框减去了一个h值。通常车牌的垂直倾斜可以看成一个平行四边形,其中每行元素进行了一定角度的偏移,因此对垂直倾斜的行元素进行偏移校正就可以实现垂直倾斜校正。车牌的垂直倾斜有两种不同的方向,分别叫做垂直右倾和垂直左倾。图7为车牌的垂直倾斜的两种情况。

图6 水平旋转后图像

图7 车牌垂直倾斜

如图6所示:假设存在一点A(x,y)在垂直倾斜直线上,得到Hough变换的角度为θ,让其水平平移到A1(x′,y′)上,错位变换公式如下:

垂直右倾:

(11)

垂直左倾:

(12)

垂直倾斜算法的具体步骤如下:

1) 如图3(b)所示,对车牌水平方向校正,然后在水平方向做区域划分。

2) 车牌的垂直倾斜角度一般在10°的倾斜范围内,考虑到垂直左倾和垂直右倾,因此Hough变换的θ范围为80°~100°,然后再对两侧和中间划分区域通过式(10)统计(d,θ)个数,然后取所有区域的(d,θ)个数最多的θ为垂直倾斜角度。

3) 进行错位变换。如果θ小于90°,即垂直右倾,为了避免错位移动像素的重复扫描,首先从第1行(i)开始扫描,列数从最后一列(j)开始扫描,列数进行递减。如果当前行的列扫描完毕,再对行数进行递增。重复以上操作,直到所有的数据扫描完。设A为水平校正后图像的二值图像,当扫描到其中某行某列的1个元素时,如果A(i,j)等于1,就把A(i,j)置0,再运用式(11)进行错位变换,使A(i,j+i*tan(θ1))等于1。如果θ大于90°,即为垂直左倾。垂直左倾和垂直右倾有两点不同,首先是从第1行和第1列开始扫描,列数进行增加,当某行的列数扫描完后行数进行递增。其次是运用式(12)得到水平平移后的坐标,使A(i,j-i*tan(θ1))等于1。

车牌的垂直倾斜校正二值图像如图8所示。

图8 车牌的垂直倾斜校正二值图像

3 实验结果及分析

表1是倾斜的两种特殊情况在本文中的校正效果,其中两张车牌图像方向和光照的明暗程度各不相同。从表1可以看出:本文选取了不同亮度、不同模糊度的图片,其校正情况都很好。为了进一步验证实验结果的有效性,选取了100张由车牌定位得到的车牌图像进行实验,并在不同算法上进行了比较。表2是本文算法与其他算法的对比情况。检测倾斜角度和人工校正的倾斜角度,差值在[-2°,2°]范围内当作正确的校正,否则是失败的校正。

表2 算法性能指标对比

实验平台是在windows 64位系统、Matlab2014a上进行的。通过实验发现:文献[2]算法得到的倾斜角度准确度要低于本文算法,并且运行时间比本文算法略高;文献[5]算法在时间和准确率上都比本文算法性能低;文献[8]算法在耗时上比较高,由于该算法使用了旋转投影法,正确率上要优于本文算法。通过实验得知本文算法的鲁棒性较好。

表1 部分车牌倾斜校正

Table 1 Part of the license plate tilt correction

4 结束语

提出了基于区域划分和Hough变换的车牌倾斜校正算法。该方法利用区域划分和边缘检测来减少搜索的空间,降低运行时间,通过Hough变换求得水平和垂直方向的倾斜角度。本文方法在车牌边框与字符紧凑和光照不均匀的情况下处理效果良好,并且通过精确定位后进行水平方向和垂直方向的扩张,使得算法克服了传统Hough变换对边框的敏感性。实验结果表明:本文算法对不同倾斜角度的车牌都能取得很好、很快的水平方向和垂直方向的校正效果,运行耗时少,并且鲁棒性好。

[1] 于明,李延果,于洋,等.融合Hough与Radon变换的车牌倾斜校正算法[J].控制工程,2013,20(6):1014-1017.

YU Ming,LI Yanguo,YU Yang.Fusion of Hough and Radon transformation of the license plate tilt correction algorithm[J].Control Engineering,2013,20(6):1014-1017.

[2] 葛海江,方江江,张翔.车牌识别系统中车牌定位及倾斜校正算法研究[J].杭州电子科技大学学报,2007,27(2):49-52.

GE Haijiang,FANG Jiangjiang,ZHANG Xiang.Research on license plate location and tilt correction algorithm in license plate recognition system[J].Journal of Hangzhou Dianzi University,2007,27(2):49-52.

[3] 王洪亚.一种改进的Radon倾斜校正方法[J].大庆师范学院学报,2013,33(6):18-21.

WANG Hongya.An improved method of Radon tilt correction[J].Journal of Daqing Normal University,2013,33(6):18-21.

[4] FANG J,DAI S.A vehicle license plate location and correction method based the characteristics of license plate[C]// Intelligent Control and Automation.[S.l.]:IEEE,2012:42-46.

[5] 王楠楠.车牌定位及倾斜校正方法研究[J].工业控制计算机,2014,27(11):25-26.

WANG Nannan.Research on license plate location and tilt correction[J].industrial control computer,2014,27(11):25-26.

[6] 李文举,梁德群,崔连延,等.一种新的车牌倾斜校正方法[J].信息与控制,2004,33(2):231-235.

LI Wenju,LIANG Dequn,LIAN Yancui.A new method for vehicle license plate tilt correction[J].Information and Control,2004,33(2):231-235.

[7] 刘衍琦,詹福宇.MALAB图像处理与视频处理实用案例详解[M].北京:电子工业出版社,2015:48-56.

LIU Yanqi,ZHAN Fuyu.MALAB image processing and video processing utility case[M].Beijing:Electronic Industry Press,2015:48-56.

[8] 刘少梅,杨鼎才.基于最小二乘法和主元分析的车牌倾斜校正方法[J].电子测量技术,2008,31(4):49-51.

LIU Shaomei,YANG Dingcai.A method of vehicle plate tilt correction based on least square method and principal component analysis[J].Electronic Measurement Technology,2008,31(4):49-51.

[9] PAN M,YAN J,XIAO Z.An Approach to Tilt Correction of Vehicle License Plate[C]//International Conference on Mechatronics and Automation.2007:271-275.

[10]吴一全,丁坚.基于K-L展开式的车牌倾斜校正方法[J].仪器仪表学报,2008,29(8):1690-1694.

WU Yiquan,DING Jian.A method of vehicle license plate tilt correction based on K-L expansion[J].Chinese Journal of scientific instrument,2008,29(8):1690-1694.

[11]BODADE R,PACHORI R B,GUPTA A,et al.A novel approach for automated skew correction of vehicle number plate using principal component analysis[C]// IEEE International Conference on Emerging Trends in Communication,Control,Signal Processing and Computing Applications.2013:1 - 6.

(责任编辑 刘 舸)

License Plate Tilt Correction Based on Region Partition and Hough Transform

WANG Yue,HUAG Long-chao,LI Qin

(College of Computer Science and Engineering, Chongqing University of Technology, Chongqing 400054, China)

License plate tilt will reduce the accuracy of character segmentation and recognition. A license plate tilt correction method based on region partition and Hough transform is proposed. Firstly, positioning the plate was divided into equal height regions along vertical direction according to threshold. Then through the Hough transform to obtain the maximum angle of all regions is the horizontal angle, equally in the horizontal direction from both sides to the middle division of the sub-regions, and the maximum angle between the two sides and the middle of the hough transform is the vertical tilt angle, and the bilinear interpolation rotation correction is carried out on the horizontal inclined and the vertical tilt correction dislocation of the offset. By the method of region division, we can effectively reduce the search area of Hough transform and improve the speed of correction. The experiment results show that the algorithm is simple, and the accuracy is high and the robustness is strong.

license plate recognition; tilt correction; Hough transform; region partition

2016-12-30 作者简介:王越(1961—),男,博士,教授,主要从事数据库技术及应用、数据挖掘及其应用、嵌入式系统及应用研究,E-mail:wangyue@cqut.edu.cn; 黄龙超(1993—),男,硕士研究生,主要从事计算机图像研究。

王越,黄龙超,李琴.基于区域划分和霍夫变换的车牌倾斜校正[J].重庆理工大学学报(自然科学),2017(3):97-104.

format:WANG Yue,HUAG Long-chao,LI Qin.License Plate Tilt Correction Based on Region Partition and Hough Transform[J].Journal of Chongqing University of Technology(Natural Science),2017(3):97-104.

10.3969/j.issn.1674-8425(z).2017.03.014

TP18

A

1674-8425(2017)03-0097-08

猜你喜欢
边框车牌校正
劉光第《南旋記》校正
数字图像处理技术在车牌识别系统中的应用
基于MR衰减校正出现的PET/MR常见伪影类型
用Lightroom添加宝丽来边框
给照片制作专业级的边框
在Lightroom中校正镜头与透视畸变
机内校正
第一张车牌
基于MATLAB 的车牌识别系统研究
外出玩