一种lpr车牌精确定位的方法和系统的制作方法

文档序号:6551745阅读:183来源:国知局
一种lpr车牌精确定位的方法和系统的制作方法
【专利摘要】本发明涉及一种LPR车牌精确定位的方法,包括图像校正的步骤和精确分割的步骤。所述的图像校正的步骤包括倾斜角α计算的步骤和车牌旋转的步骤。所述的倾斜角α计算的步骤包括:步骤1:对原始车牌区域进行灰度化操作;步骤2:对灰度图进行平滑操作;步骤3:对灰度图进行灰度拉伸;步骤4:对灰度图进行sobel运算;步骤5:将灰度图转化为二值图;步骤6:使用hough变换检测二值图中的直线;步骤7:根据直线斜率求得倾斜角α。能够有效排除照片中车牌以外的其他图像信息的干扰,诸如边框、铆钉等也成为亟待解决的问题。
【专利说明】一种LPR车牌精确定位的方法和系统

【技术领域】
[0001] 本发明涉及图像处理【技术领域】,尤其涉及一种车牌定位的方法和系统。

【背景技术】
[0002] 随着经济的增长和人们购买力的不断提高,国内汽车数量大规模增加,尤其是私 家车数量的急剧增长,远远超过城市原本配备的停车位,导致国内停车难等问题日益凸显, 如何在停车位资源一定的情况下实现对停车场科学、规范、统一的管理成为人们关注的重 点。
[0003] 车牌识别作为现代智能交通监控【技术领域】中的重要组成部分,在停车场管理方面 扮演着重要的角色。除此之外,对智能车牌识别的应用还可实现公司车辆的智能管理,完成 自动考勤的功能。
[0004] 车牌识别是以计算机视觉、图像处理、模式识别等技术为基础,对前端摄像机所拍 摄的车辆图像或者视频序列进行分析,得到每一辆汽车唯一的车牌号码,从而完成车牌识 别的过程。众所周知,车牌的识别流程大致分为三个步骤,即:车牌的定位,字符分割以及字 符的识别。
[0005] 实际的识别场景中,由于摄像头的部署或者行驶的角度导致的车牌的倾斜。车牌 的倾斜如不能很好的校正,那么对后部分的区域分割影响较大,如上下边缘切割导致字符 不完整、字符的错切。此外,如何有效排除照片中车牌以外的其他图像信息的干扰,诸如边 框、铆钉等也成为亟待解决的问题。


【发明内容】

[0006] 针对以上现有技术中的缺陷,本发明的LPR识别系统不但可用于停车管理系统还 可实现公司车辆的智能管理,完成自动考勤的功能。对现有的车牌图像精确定位技术作了 进一步改进。
[0007] 具体技术方案如下:
[0008] -种LPR车牌精确定位的方法,包括图像校正的步骤和精确分割的步骤。
[0009] 所述的图像校正的步骤包括倾斜角α计算的步骤和车牌旋转的步骤。
[0010] 所述的倾斜角α计算的步骤包括:
[0011] 步骤1 :对原始车牌区域进行灰度化操作;
[0012] 步骤2 :对灰度图进行平滑操作;
[0013] 步骤3 :对灰度图进行灰度拉伸;
[0014] 步骤4 :对灰度图进行sobel运算;
[0015] 步骤5 :将灰度图转化为二值图;
[0016] 步骤6 :使用hough变换检测二值图中的直线;
[0017] 步骤7 :根据直线斜率求得倾斜角α。
[0018] 所述的车牌旋转的步骤包括:
[0019] 步骤1 :构造图像的旋转矩阵: fcos<2 sin a 〇] , Γ cos(-a) ?ιι(-α) 〇] fcosa -mi a 0
[0020] M= , Λ/ - = , . n = . n
[-sma cos a OJ cos(-a) Oj Lsma cos a 0」·
[0021] 步骤2 :将旋转矩阵作为参数输入OpenCv库中的cvWarpAffine进行仿射变换。 上述步骤2优选在扩展了区域的上下边框后再将旋转矩阵作为参数输入OpenCv库中的 cvWarpAffine进行仿射变换。
[0022] 所述的精确分割的步骤包括:
[0023] 步骤1 :切除上下边框的步骤,对车牌从两个方向进行扫描,即从上往下,从下往 上;当扫描到的底色投影值大于最大值的80%时停止扫描并进行切除边框的操作。
[0024] 步骤2 :去除铆钉的步骤,截取车牌0. 3宽度到0. 7的宽度,从左至右,从车牌1/2 高度到上边界进行扫描并统计像素跳变的次数nhop,若扫描至第i行,有nhop = 0,记录当 前的位置top,中止此次扫描;同样,从左至右,从车牌1/2高度到下边界进行扫描并统计像 素跳变的次数,若扫描至第j行,有nhop = 0,记录当前的位置bottom,则车牌的上下边界 为[top, bottom]所在的范围;步骤3 :左右边框精确切割的步骤,
[0025] 对左边框的精确切割,对车牌进行坚直方向的直方图投影,然后在车牌的0?0. 3 宽度范围内对直方图进行扫描,跟踪每一个柱状的宽度,若小于5pixelS宽度,那么就可以 认为该柱状是由边框产生的,此时将左边缘缩进;
[0026] 对右边框的精确分割在字符分割时剔除掉。
[0027] 当遇到厚边框时,上述步骤1中从上往下及从下往上扫描时,若找不到边框与字 符的分界线则在最上和最下边缘多抹去2pixel的宽度。
[0028] 本发明还涉及一种LPR车牌精确定位的系统,包括图像校正模块和精确分割模 块,所述的图像校正模块用于将倾斜的车牌图像校正后送入精确分割模块,所述的精确分 割模块用于滤除边框、铆钉后留取只包含车牌底色和字符的车牌图像。
[0029] 所述的图像校正模块包括倾斜角α计算单元和车牌旋转单元,所述的倾斜角α 计算单元用于利用Hough变换计算车牌的倾斜角后送入车牌旋转单元,所述的车牌旋转单 元用于利用倾斜角α构造的旋转矩阵校正倾斜的车牌。
[0030] 所述的精确分割模块包括上下边框切除单元、铆钉去除单元、左右边框精确切割 单元;所述的上下边框切除单元用于对车牌从两个方向进行扫描,即从上往下,从下往上; 当扫描到底色时停止扫描并进行切除边框的操作;
[0031] 所述的铆钉去除单元用于截取车牌0. 3宽度到0. 7的宽度,从左至右,从车牌1/2 高度到上边界进行扫描并统计像素跳变的次数nhop,若扫描至第i行,有nhop = 0,记录当 前的位置top,中止此次扫描;同样,从左至右,从车牌1/2高度到下边界进行扫描并统计像 素跳变的次数,若扫描至第j行,有nhop = 0,记录当前的位置bottom,则车牌的上下边界 为[top, bottom]所在的范围;
[0032] 所述的左右边框精确切割单元用于精确切割左边框,对车牌进行坚直方向的直方 图投影,然后在车牌的〇?〇. 3宽度范围内对直方图进行扫描,跟踪每一个柱状的宽度,若 小于5pixelS宽度,那么就可以认为该柱状是由边框产生的,此时将左边缘缩进。
[0033] 对右边框的精确分割在字符分割时剔除掉。

【专利附图】

【附图说明】
[0034] 图1为车牌识别系统的大致流程示意图;
[0035] 图2为获取车牌倾斜角度方法示意图;
[0036] 图3为车牌旋转示意图;
[0037] 图4为较为标准的车牌示意图;
[0038] 图5为厚边框车牌示意图;
[0039] 图6为左边框精确切割示意图。

【具体实施方式】
[0040] 下面结合附图对本发明作进一步说明,
[0041] 一种LPR车牌识别方法:
[0042] 1.获取理想车牌
[0043] 由于系统是直接从摄像头的视频流中直接提取图像,车辆进入识别区域时的状态 具有连续性、随机性。基于视频流的车牌识别就必须解决如何才能从连续的帧图像中提取 最优的车牌。所谓最优车牌是指车牌的大小、位置、倾斜程度等因素对系统当前算法适应性 最好。这里最优车牌的提取主要是通过对识别区域的设定以及获取同一辆车图像的张数。
[0044] 2、车牌定位
[0045] 车牌的定位主要包含两个步骤,其一是车牌的粗定位,其二是精细定位。在车牌定 位当中粗定位和精细定位处理的目标不同。在粗定位中,主要的目标是在整个输入图像中 正确的寻找到车牌的大致位置,可以包含车牌也可以只包含车牌。此处车牌实际位置不要 求很精确,但定位的区域中必须包含车牌。而精细定位的目标是在粗定位中得到的车牌进 行车牌的标准化(包括车牌的旋转校正、上下边缘、左右边缘的切割等),最后的车牌应只 包含车牌背景及字符。
[0046] 2. 1 粗定位(LPRCoarseLocate)
[0047] 粗定位的主要工作包括对图像进行必要的预处理,如灰度化、二值化、滤噪等,再 者执行数学形态学操作,对二值图进行膨胀腐蚀,为后续的搜索矩形区域做准备。
[0048] 2. 2图像的形变及校正
[0049] 在实际的识别场景中,由于摄像头的部署或者行驶的角度导致的车牌的倾斜。车 牌的倾斜如不能很好的校正,那么对后部分的区域分割影响较大,如上下边缘切割导致字 符不完整、字符的错切。对车牌图像校正首先的前提是需要得到倾斜的角度,其次是车牌的 旋转。
[0050] 2. 2. 1 倾斜角计算(FindAngle)
[0051] 倾斜角的计算对于图像的旋转校正是一个难点,计算的方法一般有两种,一是霍 夫变换(Hough Transform)检测直线获得倾斜角;一是拉东变换(Radon Transform)。
[0052] Hough变换的基本原理:其基本原理在于利用点与线的对偶性,将原始图像空间 给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的 检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。 比如可以将Hough变换推广为检测直线、椭圆、圆、弧线等。
[0053] Hough变换的基本思想:在原始图像坐标系下的一个点对应了参数坐标系中的一 条直线,同样参数坐标系的一条直线对应了原始坐标系下的一个点,然后,原始坐标系下呈 现
[0054] 直线的所有点,它们的斜率和截距是相同的,所以它们在参数坐标系下对应于同 一个点。这样在将原始坐标系下的各个点投影到参数坐标系下之后,看参数坐标系下有没 有聚集点,这样的聚集点就对应了原始坐标系下的直线。
[0055] Radon变换的基本原理:一个平面内沿不同的直线(直线与原点的距离为d,方向 角为alfa)对f (X,y)做线积分,得到的像F(d, alfa)就是函数f的Radon变换。也就是 说,平面(d,alfa)的每个点的像函数值对应了原始函数的某个线积分值。
[0056] Radon变换的基本思想:Radon变换可以理解为图像在ρ Θ空间的投影,ρ Θ空 间的每一点对应一条直线,而Radon变换是图像像素点在每一条直线上的积分。因此,图像 中高灰度值的直线会在Ρ Θ空间形成亮点,而低灰度值的线段在ρ Θ空间形成暗点。对 直线的检测转化为在变换区域对亮点、暗点的检测。
[0057] 注:此处的旋转角度的计算只限定于上平方向的倾斜的情况,坚直方向的倾斜角 度暂未考虑。
[0058] 霍夫变换(Hough Transform)检测直线获得倾斜角具体方法如下:
[0059] 步骤1 :对原始车牌区域进行灰度化操作;
[0060] 为了能够保留车牌的更为丰富的信息,本发明在计算车牌倾斜角α时所输入的 图像为在原始采集图像上截取的子图,为了避免彩色图像带来的冗余计算,需将车牌图像 进行灰度化处理。
[0061] 步骤2 :对灰度图进行平滑操作;
[0062] 在通常的情况下,由于图像噪声往往以高斯分布的形式存在,噪声信息主要表现 在图像中的高频部分。构造传统的高斯滤波器虽然可以滤除噪声,但是在某种程度上也会 抑制边缘信息。基于本发明后续步骤对边缘信息的依赖,同时又能最大程度上降低噪声的 干扰,本发明构造一种基于中值滤波器。该滤波器可以在滤噪的同时,尽可能的减少边缘信 息的损失。
[0063] 步骤3 :对灰度图进行灰度拉伸;
[0064] 灰度拉伸的目的是提高图像的对比度,执行一个Τ变换,将原始图像的像素范围 在[P0,P k]的亮度Ρ变换到一个新范围[%>,%]内的亮度q。变换关系如下:
[0065] q(i, j) = T(p(i, j))
[0066] 步骤4 :对灰度图进行Sobel运算;
[0067] Sobel算子可以根据需要对边缘信息进行检测,本发明利用该特性构造一个水平 方向Sobel核,对图像执行该运算,可以破坏坚直方向的边缘信息,使其分解为孤立的点, 而只保留水平方向信息。
[0068] 步骤5 :将灰度图转化为二值图;
[0069] 将步骤4中的Sobel输出图像进行二值化处理。接着利用一种去除指定类型噪声 的方法将图像中孤立的点滤除,此时图像中只包含有水平方向的线段。
[0070] 步骤6 :使用hough变换检测二值图中的直线;
[0071] 在平面直角坐标系中一个点(x,y)的Hough变换的极坐标方程为:
[0072] λ = x*cos θ +y*sin θ
[0073] 经过该变换后,点(χ,y)在Hough变换空间形成随θ变化的一条曲线,这样同一 条直线上的点经过Hough变换空间形成的所有曲线将有一个共同的交点。算法设定一个累 加数组Α(θ,λ),最终求取最大Α(θ,λ)对应的θ,λ作为待求直线极坐标方程参数。
[0074] 步骤7 :根据直线斜率求得α角;
[0075] 步骤6中所求得参数Θ即为车牌倾斜角α。
[0076] 2. 2. 2 车牌旋转(ImageRotate)
[0077] 有了旋转的角度,那么就可以进行旋转了。要对图像进行旋转就需先构造其旋转 矩阵。 「cos? sina 0 ] , Γ cosf-α) ski(-〇f) 〇1 「cos cr -sin or 0]
[0078] M=\ Μ^· =
[-sin a cos a 0」 [-sin(-a) cos(-a) 0」[sin a cos a 0」
[0079] 然后将旋转矩阵作为参数输入OpenCv库中的cvWarpAffine进行仿射变换。注:在 进行图像变换的时候可以适当的扩展区域的上下边框,防止旋转后的车牌超出区域。
[0080] 2. 3 精确定位(LPRPreciseLocate)
[0081] 粗定位中只是初步的找到车牌的大致区域,此时的车牌仍旧包含有其他的噪声。 所谓的精确定位是指定位的车牌中只包含有车牌底色和字符,其他的诸如边框、铆钉等都 需滤除。精确定位在整个识别的流程之中是重中之重的,它不仅承自粗定位的结果,而且还 关系着后期字符的分割和识别的效果。
[0082] 精确定位主要有两个主题:
[0083] 1)如何精确切除上下边框?
[0084] 2)如何精确切除左右边框?
[0085] 当然,在实际的操作中还涉及到很多的细节上的问题,如厚边框车牌等。一个良好 的方法应该是能够胜任上述或者更多的适应条件。这里精确定位分为两个场景:
[0086] 1).针对普通的车牌的精确分割:
[0087] 普通车牌是指在图像清晰的前提下,车牌背景与字符有良好的对比度、车牌颜色 标准、车牌边框内边缘与字符的间距大于5mm。对于此类的车牌处理的方法为:
[0088] St印L分析背景色的颜色分布。由于车牌的背景是已知的某一种颜色(这里假 设为蓝底车牌),对车牌的底色分布进行分析可以大致的确定车牌的边框位置(不包含边 框),这是因为对颜色检测,车牌的边框不可能是蓝色的。即对车牌从两个方向进行扫描,即 从上往下,从下往上;当扫描到的底色投影值大于最大值的80%时停止扫描并进行切除边 框的操作。
[0089] Step2.上下边框精确切割。对颜色分布的分析,可以将上下边框去除,但上边框可 能仍存在铆钉的影响,我们需要做的是只保留字符外接的最小矩形。具体的做法是基于一 种扫描线去除上下边框的方法。
[0090] 算法描述:a).截取车牌0. 3宽度到0. 7的宽度,从左至右,从车牌1/2高度到上 边界进行扫描并统计像素跳变的次数nhop。假设扫描至第i行,有nhop = 0,记录当前的 位置top,中止此次扫描。b).同样,从左至右,从车牌1/2高度到下边界进行扫描并统计像 素跳变的次数。假设扫描至第j行,有nhop = 0,记录当前的位置bottom。则车牌的上下 边界为[top, bottom]所在的范围。
[0091] Step3.左右边框的精确切割。根据车牌的先验知识,每个字符之间都有一定宽度 的间隔,上述的方法不再适应坚直方向的扫描。基于坚直方向的边框去除,一般基于投影的 方式界定字符的边界。较标准的车牌并不需做太多的处理。
[0092] 2).针对厚边框车牌的精确分割:厚边框车牌的特点是字符和最小外接矩形与边 框的内边缘之间的距离很小,甚至粘连在一起。此类车牌给边框的去除带来了困难,特别是 在车牌倾斜的情况下更难以去除。
[0093] 针对此类车牌,基本做法可以依据情形1,但是在上下边框处理时,最好在最上和 最下边缘多抹去2pixel的宽度,防止字符与边框之间的粘连。对于厚边框的判断通过从上 往下及从下往上扫描时,找不到边框与字符的分界线则判定为厚边框。对于左右边框的情 形,由于两边的边框情形不一致,通常采用不同的方法。
[0094] a).左边框:对车牌进行坚直方向的直方图投影,然后在从左往右(0?0. 3width 之间)对直方图进行扫描,跟踪每一个柱状的宽度,若小于5pixelS宽度,那么就可以认为 该柱状是由边框产生的,此时将左边缘缩进。
[0095] b).右边框:由于右边缘的字符有可能为"1 ",因此不能使用与去除左边框的方 法。对于右边框可以在字符分割的时候剔除掉。
【权利要求】
1. 一种LPR车牌精确定位的方法,其特征在于,包括图像校正的步骤和精确分割的步 骤。
2. 根据权利要求1所述的一种LPR车牌精确定位的方法,其特征在于,所述的图像校正 的步骤包括倾斜角α计算的步骤和车牌旋转的步骤。
3. 根据权利要求2所述的一种LPR车牌精确定位的方法,其特征在于,所述的倾斜角 α计算的步骤包括: 步骤1 :对原始车牌区域进行灰度化操作; 步骤2 :对灰度图进行平滑操作; 步骤3 :对灰度图进行灰度拉伸; 步骤4 :对灰度图进行sobel运算; 步骤5 :将灰度图转化为二值图; 步骤6 :使用hough变换检测二值图中的直线; 步骤7 :根据直线斜率求得倾斜角α。
4. 根据权利要求2所述的一种LPR车牌精确定位的方法,其特征在于,所述的车牌旋转 的步骤包括: 步骤1 :构造图像的旋转矩阵:
步骤2 :将旋转矩阵作为参数输入OpenCv库中的cvWarpAffine进行仿射变换。
5. 根据权利要求4所述的一种LPR车牌精确定位的方法,其特征在于,所述的步骤2中 在扩展了区域的上下边框后再将旋转矩阵作为参数输入OpenCv库中的cvWarpAffine进行 仿射变换。
6. 根据权利要求1所述的一种LPR车牌精确定位的方法,其特征在于,所述的精确分割 的步骤包括: 步骤1 :切除上下边框的步骤,对车牌从两个方向进行扫描,即从上往下,从下往上;当 扫描到的底色投影值大于最大值的80%时停止扫描并进行切除边框的操作; 步骤2 :去除铆钉的步骤,截取车牌0. 3宽度到0. 7的宽度,从左至右,从车牌1/2高度 到上边界进行扫描并统计像素跳变的次数nhop,若扫描至第i行,有nhop = 0,记录当前 的位置top,中止此次扫描;同样,从左至右,从车牌1/2高度到下边界进行扫描并统计像素 跳变的次数,若扫描至第j行,有nhop = 0,记录当前的位置bottom,则车牌的上下边界为 [top, bottom]所在的范围;步骤3 :左右边框精确切割的步骤, 对左边框的精确切割,对车牌进行坚直方向的直方图投影,然后在车牌的0?0. 3宽度 范围内对直方图进行扫描,跟踪每一个柱状的宽度,若小于5pixelS宽度,那么就可以认为 该柱状是由边框产生的,此时将左边缘缩进; 对右边框的精确分割在字符分割时剔除掉。
7. 根据权利要求6所述的一种LPR车牌精确定位的方法,其特征在于,所述步骤1中 从上往下及从下往上扫描时,若找不到边框与字符的分界线则在最上和最下边缘多抹去 2pixel的宽度。
8. -种LPR车牌精确定位的系统,其特征在于,包括图像校正模块和精确分割模块,所 述的图像校正模块用于将倾斜的车牌图像校正后送入精确分割模块,所述的精确分割模块 用于滤除边框、铆钉后留取只包含车牌底色和字符的车牌图像。
9. 根据权利要求8所述的一种LPR车牌精确定位的系统,其特征在于,所述的图像校 正模块包括倾斜角α计算单元和车牌旋转单元,所述的倾斜角α计算单元用于利用Hough 变换计算车牌的倾斜角后送入车牌旋转单元,所述的车牌旋转单元用于利用倾斜角α构 造的旋转矩阵校正倾斜的车牌。
10. 根据权利要求8所述的一种LPR车牌精确定位的系统,其特征在于,所述的精确分 割模块包括上下边框切除单元、铆钉去除单元、左右边框精确切割单元;所述的上下边框切 除单元用于对车牌从两个方向进行扫描,即从上往下,从下往上;当扫描到底色时停止扫描 并进行切除边框的操作; 所述的铆钉去除单元用于截取车牌〇. 3宽度到0. 7的宽度,从左至右,从车牌1/2高 度到上边界进行扫描并统计像素跳变的次数nhop,若扫描至第i行,有nhop = 0,记录当前 的位置top,中止此次扫描;同样,从左至右,从车牌1/2高度到下边界进行扫描并统计像素 跳变的次数,若扫描至第j行,有nhop = 0,记录当前的位置bottom,则车牌的上下边界为 [top,bottom]所在的范围;所述的左右边框精确切割单元用于精确切割左边框,对车牌进 行坚直方向的直方图投影,然后在车牌的〇?0.3宽度范围内对直方图进行扫描,跟踪每一 个柱状的宽度,若小于5pixels宽度,那么就可以认为该柱状是由边框产生的,此时将左边 缘缩进。 对右边框的精确分割在字符分割时剔除掉。
【文档编号】G06K9/54GK104112139SQ201410307280
【公开日】2014年10月22日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】蔡志旻, 娄刚, 刘伟, 许焱 申请人:南京富士通南大软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1