发明内容
本发明的目的是:提供一种基于多角度投影的模糊车牌识别方法,以提高识别精度,在一定程度上能够识别模糊车牌。
本发明的技术方案是:基于多角度投影的模糊车牌识别方法包括如下步骤:
车牌字符预处理:
步骤1通过数字图像处理的方法,去除图像中的噪声,使车牌部分更加清晰;
步骤2从预处理后的图像中大致切割出完全包含车牌部分的图像;
步骤3检测出车牌的倾斜角度,通过旋转图像使其变成水平方向。
在车牌字符分割阶段(步骤4-6):
步骤4将经过预处理阶段的图像灰度化;
步骤5确定车牌的精确上下边界,按照找到的上下左右边界,沿着车牌边缘切割出只包含车牌的车牌图像;
步骤6参照车牌图像和其投影的柱状图,将车牌图像切割成一个个待识别字符图像。
在字符识别阶段(步骤7-10):
步骤7对每个待识别字符图像,依次计算其水平投影、垂直投影、左上到右下投影、左下到右上投影,以充分提取该字符的特征;
步骤8生成稍大标准字符。首先离散化实际的车牌,然后缩小成为摄像机能够成像的最大尺寸,最后再缩放成为比待识别字符稍微大点的尺寸,以便于由于寻找待识别字符在稍大标准字符上的精确位置,减少切割带来的位置误差;
步骤9是在稍大标准字符上找到和待识别字符最相似的位置,切割出标准字符图像;
步骤10是根据选定的方法识别字符。
步骤11是本发明的基于多角度投影的模糊车牌识别方法的结束步骤。
1)图像预处理阶段:
11)去除噪音、增强车牌中字符的特征;
12)从整幅图像中大致切割出完全包含车牌部分的图像;
13)矫正车牌方向;
14)结束;
2)车牌字符分割阶段:
21)将切割出来的图像灰度化;
22)沿车牌边缘切割出车牌图像;
23)将车牌图像上的每个字符沿着其边缘切割,得到待识别字符图像;
24)结束;
3)字符识别阶段:
31)通过多角度投影提取每个待识别字符的特征;
32)生成比待识别字符稍大的稍大标准字符图像;
33)选定最佳位置,切割出标准字符,提取标准字符的多角度投影特征;
34)识别字符;
35)结束。
其中:
步骤11)的具体过程如下:
111)如果车牌图像比较模糊,可以通过多帧融合等技术,合成一幅比较清晰的图像;
112)对该图像进行平滑滤波等操作,去除噪音,增强车牌的特征;
步骤13)的具体过程如下:
131)通过Hough变换等方法,计算出车牌的倾斜角度;
132)旋转图像,从而使车牌变为水平方向。
步骤22)的具体过程如下:
221)对灰度化以后的图像进行水平投影、垂直投影;
222)根据水平投影、垂直投影画出柱状图;
223)从柱状图中找到波峰或波谷,即为车牌的边缘可能的地方,同时参照车牌图像,尽量沿着车牌边缘精确切割出只包含车牌的那部分图像。
步骤23)的具体过程如下:
231)对切割出来的车牌图像进行水平投影、垂直投影;
232)根据水平、垂直投影画出柱状图;
233)从柱状图中找到波谷,由于车牌中字符颜色和背景颜色有明显区别,波谷可能为两个字符之间的空隙;参照车牌图像,尽量沿着每个字符的笔画边缘,将其切分出来,得到待识别字符。
步骤31)的具体过程如下:
311)对于每个待识别字符,分别做水平投影、垂直投影、左上到右下的投影、左下到右上的投影,以能够更充分地提取字符的特征;其中从左上到右下的投影如下图所示,共选取三条,分别是左上角到右边界中点、左上角到右下角、左上角到下边界中点;从左下到右上的投影也如图7所示,也选取了三条,依次为左下角到上边界的中点、左下角到右上角、左下角到右边界的中点。
步骤32)的具体过程如下,说明书附图3中有其详细流程图。
321)根据实际车牌的尺寸大小和摄像机或者照相机的分辨率(单位为像素/英寸),计算出表示实际的车牌需要的像素个数,再按照真实的比例折算出一个字符需要的像素个数;然后根据车牌字体,从A~Z、0~9依次生成符合实际车牌的比例的离散化车牌字符图像。
322)将离散的车牌字符图像缩放小为照相机或者摄像头所能拍摄的最大图像的大小(一般摄像头为640*480);该步骤是模拟了相机的成像原理,将生成的图像模糊化,更逼近车牌图像的效果;
323)将322)中得到的图像再次缩放成为比切割出来的字符图像稍大的图像,即稍大标准字符图像;由于模糊车牌识别方法一般面对的车牌图像都是十分小并且很模糊的,很难保证从车牌图像中切割出来的待识别字符在整个车牌中的位置与生成的字符图像在整个车牌中的位置相同,因此先缩小成稍大的字符图像,然后再寻找最佳位置。一般情况下,高和宽各稍大几个像素即可。
324)选定一种灰度拉伸方法,将稍大标准字符图像的灰度拉伸为与待识别字符的灰度分布相似。本发明中使用两种灰度拉伸方法:通过最值拉伸灰度与通过图像平均值、标准差拉伸灰度。灰度拉伸方法的详细说明参见说明书附图的图4、图5以及附图说明中相应部分。
步骤33)的具体过程如下:
331)选定一种通过比较投影而判断两个图像相似度的方法,用于比较待识别字符图像与稍大标准字符图像。本发明中提供两种方法:通过计算欧式距离来比较图像相似度和通过计算投影相关系数来比较图像相似度。计算欧式距离公式为:
其中Pa、Pb为两个图像的投影,N为投影的大小。
计算投影相关系数的方法参见说明书附图的图6及附图说明中的相应部分。
332)求取稍大标准字符的水平投影、垂直投影,依次分割出与待识别字符图像的水平、垂直投影大小相同的投影,利用331)中选定的方法比较与待识别字符图像的相似度,找出最相似的位置;
333)根据找到的最相似位置,切割出标准字符图像;
334)计算标准字符图像的水平投影、垂直投影、从左上到右下的投影、从左下到右上的投影。
步骤34)的具体过程如下:
341)根据331)选定的方法,将生成的A~Z、0~9的标准字符图像的四种投影依次和待识别字符的四种投影比较,记录得到的相似度。
342)将相似度结果排序,得到识别的结果。
本发明的有益结果是:本发明的基于多角度投影的模糊车牌识别方法能够在车牌图像比较模糊,以致人眼无法区分的情况下,进行车牌识别,在一定程度上能够识别模糊车牌。
具体实施方式
下面结合附图对本发明进行详细说明:
如图1所示,车牌识别系统首先通过摄像头或照相机等图像采集设备获取包含车牌的图像,然后进行去噪、增强特征等预处理,接着进行车牌字符分割、特征提取、字符识别等车牌识别操作,最后输出识别结果。
由于针对的车牌图像通常小而且模糊,因此车牌识别操作的任何一步都可能对结果产生很大影响。本发明的主要思路是:通过投影来支持车牌字符的精确分割;通过提取更充分的特征、利用更精确的比较方法来识别字符,最终达到识别出模糊车牌的目的。本发明的基于多角度投影的模糊车牌识别方法的工作流程如图2所示。
1)图像预处理阶段:
15)去除噪音、增强车牌中字符的特征;
16)从整幅图像中大致切割出完全包含车牌部分的图像;
17)矫正车牌方向;
18)结束;
2)车牌字符分割阶段:
25)将切割出来的图像灰度化;
26)沿车牌边缘切割出车牌图像;
27)将车牌图像上的每个字符沿着其边缘切割,得到待识别字符图像;
28)结束;
3)字符识别阶段:
36)通过多角度投影提取每个待识别字符的特征;
37)生成比待识别字符稍大的稍大标准字符图像;
38)选定最佳位置,切割出标准字符,提取标准字符的多角度投影特征;
39)识别字符;
310)结束。
其中:
步骤11)的具体过程如下:
111)如果车牌图像比较模糊,可以通过多帧融合等技术(能否细化一些?),合成一幅比较清晰的图像;
112)对该图像进行平滑滤波等操作,去除噪音,增强车牌的特征;
步骤13)的具体过程如下:
131)通过Hough变换等方法,计算出车牌的倾斜角度;
132)旋转图像,从而使车牌变为水平方向。
步骤22)的具体过程如下:
221)对灰度化以后的图像进行水平投影、垂直投影;
222)根据水平投影、垂直投影画出柱状图;
223)从柱状图中找到波峰或波谷,即为车牌的边缘可能的地方,同时参照车牌图像,尽量沿着车牌边缘精确切割出只包含车牌的那部分图像。
步骤23)的具体过程如下:
231)对切割出来的车牌图像进行水平投影、垂直投影;
232)根据水平、垂直投影画出柱状图;
233)从柱状图中找到波谷,由于车牌中字符颜色和背景颜色有明显区别,波谷可能为两个字符之间的空隙;参照车牌图像,尽量沿着每个字符的笔画边缘,将其切分出来,得到待识别字符。
步骤31)的具体过程如下:
311)对于每个待识别字符,分别做水平投影、垂直投影、左上到右下的投影、左下到右上的投影,以能够更充分地提取字符的特征;其中从左上到右下的投影如图7所示,共选取三条,分别是左上角到右边界中点、左上角到右下角、左上角到下边界中点;从左下到右上的投影也如下图所示,也选取了三条,依次为左下角到上边界的中点、左下角到右上角、左下角到右边界的中点。
步骤32)的具体过程如下,说明书附图3中有其详细流程图。
321)根据实际车牌的尺寸大小和摄像机或者照相机的分辨率(单位为像素/英寸),计算出表示实际的车牌需要的像素个数,再按照真实的比例折算出一个字符需要的像素个数;然后根据车牌字体,从A~Z、0~9依次生成符合实际车牌的比例的离散化车牌字符图像。
322)将离散的车牌字符图像缩放小为照相机或者摄像头所能拍摄的最大图像的大小(一般摄像头为640*480);该步骤是模拟了相机的成像原理,将生成的图像模糊化,更逼近车牌图像的效果;
323)将322)中得到的图像再次缩放成为比切割出来的字符图像稍大的图像,即稍大标准字符图像;由于模糊车牌识别方法一般面对的车牌图像都是十分小并且很模糊的,很难保证从车牌图像中切割出来的待识别字符在整个车牌中的位置与生成的字符图像在整个车牌中的位置相同,因此先缩小成稍大的字符图像,然后再寻找最佳位置。一般情况下,高和宽各稍大几个像素即可。
324)选定一种灰度拉伸方法,将稍大标准字符图像的灰度拉伸为与待识别字符的灰度分布相似。本发明中使用两种灰度拉伸方法:通过最值拉伸灰度与通过图像平均值、标准差拉伸灰度。灰度拉伸方法的详细说明参见说明书附图的图4、图5以及附图说明中相应部分。
步骤33)的具体过程如下:
331)选定一种通过比较投影而判断两个图像相似度的方法,用于比较待识别字符图像与稍大标准字符图像。本发明中提供两种方法:通过计算欧式距离来比较图像相似度和通过计算投影相关系数来比较图像相似度。计算欧式距离公式为:
其中Pa、Pb为两个图像的投影,N为投影的大小。
计算投影相关系数的方法参见说明书附图的图6及附图说明中的相应部分。
332)求取稍大标准字符的水平投影、垂直投影,依次分割出与待识别字符图像的水平、垂直投影大小相同的投影,利用331)中选定的方法比较与待识别字符图像的相似度,找出最相似的位置;
333)根据找到的最相似位置,切割出标准字符图像;
334)计算标准字符图像的水平投影、垂直投影、从左上到右下的投影、从左下到右上的投影。
步骤34)的具体过程如下:
341)根据331)选定的方法,将生成的A~Z、0~9的标准字符图像的四种投影依次和待识别字符的四种投影比较,记录得到的相似度。
342)将相似度结果排序,得到识别的结果。
步骤0为本发明的模糊车牌识别的起始状态;
在图像预处理阶段(步骤1-3):
步骤1通过一些数字图像处理的方法,去除图像中的噪声,使车牌部分更加清晰;
步骤2从预处理后的图像中大致切割出完全包含车牌部分的图像;
步骤3检测出车牌的倾斜角度,通过旋转图像使其变成水平方向。
在车牌字符分割阶段(步骤4-6):
步骤4将经过预处理阶段的图像灰度化;
步骤5确定车牌的精确上下边界,按照找到的上下左右边界,沿着车牌边缘切割出只包含车牌的车牌图像;
步骤6参照车牌图像和其投影的柱状图,将车牌图像切割成一个个待识别字符图像。
在字符识别阶段(步骤7-10):
步骤7对每个待识别字符图像,依次计算其水平投影、垂直投影、左上到右下投影、左下到右上投影,以充分提取该字符的特征;
步骤8生成稍大标准字符。首先离散化实际的车牌,然后缩小成为摄像机能够成像的最大尺寸,最后再缩放成为比待识别字符稍微大点的尺寸,以便于由于寻找待识别字符在稍大标准字符上的精确位置,减少切割带来的位置误差;
步骤9是在稍大标准字符上找到和待识别字符最相似的位置,切割出标准字符图像;
步骤10是根据选定的方法识别字符。
步骤11是本发明的基于多角度投影的模糊车牌识别方法的结束步骤。
图3是对图2中步骤8-9的详细描述。
步骤30为起始步骤;
步骤31离散化实际的车牌,生成车牌字符。由于各种型号的车牌的尺寸是由国家统一规定的,根据摄像头或者照相机的分辨率(像素/英寸),就可以计算出来可以用多少个像素来表示实际的车牌,再根据比例,就可以计算出来每个车牌字符在其中所占的像素个数。通过车牌字体,就可以模拟出标准的车牌字符。
步骤32将模拟的车牌字符缩放成为摄像头或者照相机所能成像的最大尺寸。该步骤模拟相机成像原理,考虑相机成像时的模糊效果,将标准字符模糊化,尽量逼近真实效果。
步骤33将步骤32所得的结果再次缩放成为比待识别字符稍大的稍大标准字符。该步骤同样是考虑了相机成像的原理,再次对生成的标准字符模糊化。由于一般面临的情况都是待识别字符小且模糊,边缘难以区分,不能保证切割出来的待识别字符在实际车牌中的位置正好是我们生成的字符在整个车牌中的位置,因此该步骤我们考虑该步骤中先缩放成稍大的字符图像,然后在稍大图像中确定待识别字符的最佳位置。
步骤34选定一种灰度拉伸方法,将稍大标准字符图像的灰度拉伸为与待识别字符的灰度分布相似。本发明中使用两种灰度拉伸方法:通过最值拉伸灰度与通过图像平均值、标准差拉伸灰度。灰度拉伸方法的详细说明参见说明书附图的图4、图5以及附图说明中相应部分。
步骤35计算稍大标准字符的水平、垂直投影,从投影首项依次切割出和待识别字符的投影同样大小的部分;切割的次数视稍大标准字符比待识别字符大多少而定。
步骤36中首先选定比较的方法,然后依次比较步骤34中截取的图像投影和待识别字符图像的投影,记录二者的相似度;
步骤37检查从稍大标准字符图像投影中截取投影与待识别字符图像的投影比较的过程是否结束,如果结束则转到步骤37,否则继续执行步骤34;
步骤38根据比较的结果,找到最相似的位置,切割出标准字符;
步骤39依次计算标准字符的水平投影、垂直投影、左上到右下的投影、左下到右上的投影;
步骤310为结束状态。
图4为灰度拉伸方法中利用最值进行灰度拉伸的流程图:
步骤40为起始步骤;
步骤41从待识别字符图像中寻找n个最大值,求其平均值MaxAve;n个最小值,求其平均值MinAve;
步骤42找出标准字符图像中的最大值max,最小值min;
步骤43将标准字符的最大值max设定为MaxAve,最小值min设定为MinAve,对标准图像进行线性灰度拉伸;
步骤44得到线性拉伸以后的灰度图像;
步骤45为结束状态。
图5是利用图像平均值、标准差进行灰度拉伸的流程图:
步骤50为起始步骤;
步骤51利用OSTU算法计算出待识别字符的阈值Threshold1。该算法使得计算出来的阈值将灰度图像分割为背景和前景两部分,并且两部分的方差最大。
步骤52利用OSTU算法计算出标准字符的阈值Threshold2。
步骤53计算待识别字符中小于OSTU阈值部分的平均值ave1,标准差diff1;大于OSTU阈值部分的平均值ave2,标准差diff2;
步骤54计算标准字符中小于OSTU阈值部分的平均值ave3,标准差diff3;大于OSTU阈值部分的平均值ave4,标准差diff4;
步骤55依次读取标准字符图像中的每个像素的灰度值gray;
步骤56如果gray小于Threshold2,则将其灰度进行公式1变换:
(公式1)
步骤57如果gray大于Threshold2,则将其灰度进行公式2变换:
(公式2)
步骤58检查所有像素是否读完,如果没有读完则执行步骤55;否则执行步骤59;
步骤59得到利用图像的平均值和标准差进行灰度拉伸以后的图像;
步骤510为结束状态。
图6是通过计算投影相关系数来比较图像相似度的流程图:
步骤60是起始步骤;
步骤61计算出需要比较的两个投影的平均值;
步骤62到65是计算投影的相关系数,相关系数越大,两个图像越相似。相关系数的计算公式为:
步骤66为结束状态。
实际应用举例:
有一为通过照相机拍摄的实际车牌照片,由于图像较大,只截取显示包含车牌的部分图像。由于拍摄距离较远,车牌部分比较模糊,肉眼难以辨别。其实际车牌号为“苏AFE558”。
在经过平滑、滤波等预处理后,切割出完全包含车牌的部分,然后矫正车牌、灰度化,结果图像如图8所示:
计算出该图像的水平、垂直投影,然后根据投影的柱状图的波谷,切割出车牌图像。
然后根据该图像的水平投影、垂直投影的波谷,依次切割出待识别字符。此处切割出了第一个字符A,其大小为4*9:
其水平投影为:511,486,456,444,433,406,326,360,403;
垂直投影为:789,1029,1108,899;
左上到右下投影为:1042,512,937;
左下到右上投影为:1012,581,937。
然后依次生成从A~Z,0~9的36个字符,经过缩放、灰度拉伸,得到稍大标准图像。数字9的稍大标准图像如图9所示:切割出完全包含车牌的部分,然后矫正车牌、灰度化,结果图像如图8所示:
然后寻找最佳位置、提取投影特征等,最终得到识别的结果:
通过最值拉伸灰度、计算欧氏距离比较相似度的排名依次为:
1:W,740.893380
2:A,962.678035
3:X,988.700157
4:K,1082.953831
5:N,1115.893364
6:4,1129.074400
7:B,1148.309192
8:8,1181.194734
9:R,1212.497010
10:6,1304.339680
11:3,1339.356562
12:5,1365.385660
13:2,1369.883207
14:Q,1404.147428
15:S,1427.617946
16:V,1428.980406
17:M,1441.592175
18:Z,1444.394337
19:G,1462.783306
20:9,1472.856069
21:E,1491.740594
22:D,1538.020806
23:P,1550.877494
24:Y,1558.249017
25:0,1633.015309
26:O,1635.385276
27:C,1729.834385
28:H,1757.974971
29:F,1777.365747
30:7,1851.688959
31:T,1964.251002
32:U,1991.259149
33:L,2017.816642
34:J,2186.112531
35:I,2376.146671
36:1,2408.599178
通过图像的平均值、标准差拉伸灰度、计算欧氏距离比较相似度的排名为:
1:4,289.235198
2:A,323.790055
3:6,370.255317
4:X,371.161690
5:3,388.036081
6:Y,394.318399
7:Z,415.824482
8:2,444.654922
9:S,450.132203
10:7,454.978021
11:V,467.593841
12:K,472.801227
13:J,487.766338
14:B,507.669184
15:N,522.355243
16:9,524.214651
17:G,527.087279
18:T,534.609203
19:8,535.825531
20:W,540.858577
21:R,542.438015
22:Q,542.535713
23:D,545.563012
24:5,553.950359
25:E,560.601463
26:0,570.956215
27:O,571.466534
28:L,576.065968
29:C,584.532292
30:M,604.440237
31:P,620.238664
32:F,629.748362
33:H,629.935711
34:U,635.203117
35:I,2297.134084
36:1,2297.229854
通过最值拉伸灰度、计算投影相关系数比较相似度的排名:
1:A,0.842462
2:X,0.838680
3:4,0.795991
4:2,0.753450
5:W,0.751541
6:6,0.750751
7:K,0.730257
8:S,0.701520
9:3,0.687937
10:Y,0.687572
11:Z,0.671579
12:N,0.644969
13:8,0.623783
14:V,0.622251
15:B,0.611217
16:R,0.595690
17:5,0.555888
18:G,0.546582
19:9,0.534896
20:Q,0.521448
21:E,0.500427
22:7,0.480611
23:C,0.474696
24:M,0.461677
25:0,0.443870
26:O,0.439654
27:D,0.421641
28:P,0.406044
29:T,0.393051
30:U,0.378084
31:H,0.373161
32:J,0.361659
33:F,0.358564
34:L,0.324163
35:1,0.174453
36:I,0.174447
通过图像的平均值、标准差拉伸灰度、计算投影相关系数比较相似度的排名:
1:4,0.963238
2:A,0.957502
3:X,0.937144
4:Y,0.930745
5:6,0.927854
6:3,0.919148
7:7,0.916729
8:Z,0.912498
9:J,0.906685
10:2,0.903998
11:K,0.901148
12:S,0.893547
13:V,0.885573
14:T,0.881063
15:N,0.868080
16:9,0.865124
17:B,0.864226
18:G,0.858132
19:W,0.857774
20:L,0.852759
21:8,0.849732
22:R,0.849615
23:Q,0.846765
24:D,0.844216
25:E,0.840807
26:5,0.840704
27:C,0.831695
28:O,0.831367
29:0,0.830690
30:M,0.825716
31:U,0.814876
32:P,0.807773
33:H,0.805216
34:F,0.801710
35:I,0.174107
36:1,0.173880
综合起来,得到最相似的为A。