著录项信息
专利名称 | 一种白色车牌类型的识别方法及装置 |
申请号 | CN201210177788.4 | 申请日期 | 2012-05-31 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2012-09-26 | 公开/公告号 | CN102693431A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K9/64 | IPC分类号 | G;0;6;K;9;/;6;4;;;G;0;6;K;9;/;3;6查看分类表>
|
申请人 | 信帧电子技术(北京)有限公司 | 申请人地址 | 北京市海淀区信息路甲28号科实大厦A座6A
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 贺江涛 | 当前权利人 | 贺江涛 |
发明人 | 王海峰 |
代理机构 | 北京超凡志成知识产权代理事务所(普通合伙) | 代理人 | 李世喆;葛松生 |
摘要
本发明公开了一种白色车牌类型的识别方法及装置,解决现有技术在对白色车牌的类型进行识别时精度低,准确性差的问题,该方法在进行白色车牌类型识别时,对预处理后的白色车牌区域进行了字符分割,根据分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列,根据与每种白色车牌类型对应的模板与该字符序列的匹配距离,确定该白色车牌的车牌类型。由于在本发明中根据字符序列之间的距离,确定满足每种类型的车牌序列,之后又根据该类型车牌对应的模板与该字符序列的距离最终确定该车牌的类型,因此在两次识别的情况下,可以保证识别结果的准确性及精确度。
1.一种白色车牌类型的识别方法,其特征在于,所述方法包括:
在输入的图像中进行车牌区域定位,在定位的车牌区域中识别出白色车牌区域;
对识别出的白色车牌区域进行预处理,并对预处理后的白色车牌区域进行字符分割;
其中,所述字符分割包括:
对所述预处理后的白色车牌区域进行二值化处理,并进行反色处理;
统计每列白色像素点的数目和;
根据每列白色像素点的数目和,判断每列是否为字符的左、右边界;
根据字符分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列;
将每个字符序列,与该字符序列对应车牌类型的模板进行匹配,根据平均匹配距离确定每个白色车牌的类型;
其中,所述根据字符分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列包括:
根据字符分割后每两个字符之间的距离,判断设定数量的相邻字符序列之间的距离,是否满足设定的第一距离条件、第二距离条件或第三距离条件;
所述将每个字符序列,与该字符序列对应车牌类型的模板进行匹配,根据平均匹配距离确定每个白色车牌的类型包括:
根据该字符序列满足的距离条件,确定该字符序列归属的车牌类型;
采用该车牌类型对应的模板,确定该模板与该字符序列之间的匹配距离,选择平均匹配距离最小的序列作为车牌,该模板对应的类型为该车牌类型。
2.如权利要求1所述的识别方法,其特征在于,所述对识别出的白色车牌区域进行预处理包括:
水平矫正和去除上下边界;
采用所述水平矫正预处理方法,对识别出的白色车牌区域进行预处理包括:
对识别出的所述白色车牌区域进行二值化处理;
根据识别出的二值化处理后的白色车牌区域中像素值的跳变,在水平边缘信息图中与该跳变时白色像素点对应的像素点的位置赋值为1,其他像素点的位置赋值为0;
以设定的步长旋转水平边缘信息图,针对旋转后的每个角度,在设定的角度范围内确定每行在水平方向上包含白色像素点的数目;
针对旋转后的每个角度,选择白色像素点的数目较多的设定行数,统计该设定行数的白色像素点的数目和;
根据白色像素点的数目和的最大值对应的旋转角度,确定该白色车牌区域的矫正角度,对该白色车牌区域进行水平矫正;
采用所述去除上下边界预处理方法,对识别出的白色车牌区域进行预处理包括:
对所述白色车牌区域进行二值化处理;
在二值化处理后的白色车牌区域中,识别每行像素值的跳变次数,并确定每行包含的最长白线长度和最长黑线长度;
根据所述跳变次数、最长白线长度和最长黑线长度中的至少一个,与设定的对应距离阈值,确定该白色车牌区域的上、下边界。
3.如权利要求2所述的方法,其特征在于,所述在确定每行包含的最长白线长度之前,所述方法还包括:
将该白线包含的像素点的数目作为该白线的长度,根据该白线的长度是否大于设定的第二比例阈值与设置的车牌宽度的积,判断该白线是否为真正的白线;或针对每行的白线,根据该白线包含的像素点的数目,以及该白线中像素点同列的相邻像素点是否为黑色像素点,确定识别参数的取值;
根据识别参数的取值是否大于第一比例阈值与白线的长度的积,判断该白线是否为真正的白线;
当确定该白线为真正的白线时,将该白线加入到最长白线长度的选择集合中。
4.一种白色车牌类型的识别装置,其特征在于,所述装置包括:
识别模块,用于在输入的图像中进行车牌区域定位,在定位的车牌区域中识别出白色车牌区域;
预处理分割模块,用于对识别出的白色车牌区域进行预处理,并对预处理后的白色车牌区域进行字符分割;具体用于对所述预处理后的白色车牌区域进行二值化处理,并进行反色处理;统计每列白色像素点的数目和;根据每列白色像素点的数目和,判断每列是否为字符的左、右边界;
字符序列选择模块,用于根据字符分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列;具体用于根据字符分割后每两个字符之间的距离,判断设定数量的相邻字符序列之间的距离,是否满足设定的第一距离条件、第二距离条件或第三距离条件;
匹配模块,用于将每个字符序列,与该字符序列对应车牌类型的模板进行匹配,根据平均匹配距离确定每个白色车牌的类型;具体用于根据该字符序列满足的距离条件,确定该字符序列归属的车牌类型;采用该车牌类型对应的模板,确定该模板与该字符序列之间的匹配距离,选择平均匹配距离最小的序列作为车牌,该模板对应的类型为该车牌类型。
5.如权利要求4所述的装置,其特征在于,所述预处理分割模块,具体用于对识别出的所述白色车牌区域进行二值化处理;根据识别出的二值化处理后的白色车牌区域中像素值的跳变,在水平边缘信息图中与该跳变时白色像素点对应的像素点的位置赋值为1,其他像素点的位置赋值为0;
以设定的步长旋转水平边缘信息图,针对旋转后的每个角度,在设定的角度范围内确定每行在水平方向上包含白色像素点的数目;针对旋转后的每个角度,选择白色像素点的数目较多的设定行数,统计该设定行数的白色像素点的数目和;根据白色像素点的数目和的最大值对应的旋转角度,确定该白色车牌区域的矫正角度,对该白色车牌区域进行水平矫正;对所述白色车牌区域进行二值化处理;在二值化处理后的白色车牌区域中,识别每行像素值的跳变次数,并确定每行包含的最长白线长度和最长黑线长度;根据所述跳变次数、最长白线长度和最长黑线长度中的至少一个,与设定的对应距离阈值,确定该白色车牌区域的上、下边界。
6.如权利要求5所述的装置,其特征在于,所述预处理分割模块,具体用于将该白线包含的像素点的数目作为该白线的长度,根据该白线的长度是否大于设定的第二比例阈值与设置的车牌宽度的积,判断该白线是否为真正的白线;或
针对每行的白线,根据该白线包含的像素点的数目,以及该白线中像素点同列的相邻像素点是否为黑色像素点,确定识别参数的取值;根据识别参数的取值是否大于第一比例阈值与白线的长度的积,判断该白线是否为真正的白线;
当确定该白线为真正的白线时,将该白线加入到最长白线长度的选择集合中。
一种白色车牌类型的识别方法及装置\n技术领域\n[0001] 本发明涉及计算机图像处理技术领域,尤其涉及一种白色车牌类型的识别方法及装置。\n背景技术\n[0002] 随着社会经济的发展,车辆的数量不断增加,因此通过计算机信息化、智能化的方案管理车辆成为必然。现有技术中车牌识别在智能交通领域扮演者重要的角色,其在交通流量监测、高速公路卡口收费、闯红灯违章车辆监控及社区自动收费系统中具有广泛的应用。\n[0003] 但现有常用的车辆牌照类型比较多,从底色上分为蓝底白字车牌,黄底黑字车牌、黑底白字车牌和白底黑字车牌;从类型上又可以分为普通蓝牌、普通单层黄牌、双层黄牌、教练用牌、临时挂牌、黑色牌照、白色警牌、白色军牌和白色武警车牌等。即对白底黑字的车牌有白色警牌、白色军牌和白色武警车牌。\n[0004] 现有技术中白底黑字的车牌在进行识别时,一般采用的方法包括:利用车牌的颜色定位出白色车牌,之后根据白底黑字车牌对应的三种车牌类型,对定位出的白色车牌进行字符分割,最后通过识别,选择置信度最大的作为最后的识别结果。在上述车牌类型的识别过程中,只根据置信度确定车牌类型,判断的标准较单一,不能有效的对车牌类型进行区分,因此现有技术中的白色车牌类型的识别方法精度低,准确性差。\n发明内容\n[0005] 有鉴于此,本发明实施例提供一种白色车牌类型的识别方法及装置,用以解决现有技术在对白色车牌的类型进行识别时精度低,准确性差的问题。\n[0006] 本发明提供一种白色车牌类型的识别方法,所述方法包括:\n[0007] 在输入的图像中进行车牌区域定位,在定位的车牌区域中识别出白色车牌区域;\n[0008] 对识别出的白色车牌区域进行预处理,并对预处理后的白色车牌区域进行字符分割;\n[0009] 根据字符分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列;\n[0010] 将每个字符序列,与该字符序列对应车牌类型的模板进行匹配,根据平均匹配距离确定每个白色车牌的类型。\n[0011] 本发明提供一种白色车牌类型的识别装置,所述装置包括:\n[0012] 识别模块,用于在输入的图像中进行车牌区域定位,在定位的车牌区域中识别出白色车牌区域;\n[0013] 预处理分割模块,用于对识别出的白色车牌区域进行预处理,并对预处理后的白色车牌区域进行字符分割;\n[0014] 字符序列选择模块,用于根据字符分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列;\n[0015] 匹配模块,用于将每个字符序列,与该字符序列对应车牌类型的模板进行匹配,根据平均匹配距离确定每个白色车牌的类型。\n[0016] 本发明提供了一种白色车牌类型的识别方法及装置,该方法在进行白色车牌类型识别时,对预处理后的白色车牌区域进行了字符分割,根据分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列,根据与每种白色车牌类型对应的模板与该字符序列的匹配距离,确定该白色车牌的车牌类型。由于在本发明中根据字符序列之间的距离,确定满足每种类型的车牌序列,之后又根据该类型车牌对应的模板与该字符序列的距离最终确定该车牌的类型,因此在两次识别的情况下,可以保证识别结果的准确性及精确度。\n附图说明\n[0017] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:\n[0018] 图1为本发明提供的该白色车牌类型的识别过程示意图;\n[0019] 图2为本发明提供的对该白色车牌区域进行水平矫正的过程示意图;\n[0020] 图3为本发明提供的对该白色车牌区域进行去除上下边界处理的过程示意图;\n[0021] 图4为本发明提供的通过距离识别白色车牌类型的过程示意图;\n[0022] 图5为本发明提供的该白色车牌类型的详细识别过程示意图;\n[0023] 图6为本发明提供的该白色车牌类型识别装置的结构示意图。\n具体实施方式\n[0024] 本发明实施例为了提高对白色车牌的类型的识别精度及准确性,提供了一种白色车牌类型的识别方法及装置。\n[0025] 下面结合说明书附图,对本发明进行详细说明。\n[0026] 图1为本发明提供的该白色车牌类型的识别过程示意图,该识别过程包括以下步骤:\n[0027] S101:在输入的图像中进行车牌区域定位,在定位的车牌区域中识别出白色车牌区域。\n[0028] 由于该白色车牌类型的识别方法,可以应用在交通流量监测、高速公路卡口收费、闯红灯违章车辆监控及社区自动收费等多个系统中,具体的在本发明中通过白色车牌类型识别装置对白色车牌类型进行识别。\n[0029] 当将包含车牌信息的车辆的图像输入到该装置中后,该装置在输入的图像中进行车牌区域定位,具体的在进行车牌区域定位时可以采用现有技术中的多种方法,例如可以采用边缘检测方法或者机器学习等算法在输入的图像中进行车牌定位,具体的例如可以进行sobel边缘检测,根据检测的结果,将边缘密度比较大的区域作为车牌所在区域。\n[0030] 由于在输入的图像中进行车牌区域定位、识别白色车牌区域,为本领域的常用方法,在本发明中就不对该内容进行赘述。\n[0031] S102:对识别出的白色车牌区域进行预处理,并对预处理后的白色车牌区域进行字符分割。\n[0032] 具体的在对识别出的白色车牌区域进行预处理时,可以采用多种预处理方法,例如可以直接对车牌区域进行二值化处理。\n[0033] 为了进一步提高白色车牌类型识别的准确性,在本发明中对识别出的白色车牌区域进行预处理包括:采用以下至少一种预处理方法对识别出的白色车牌区域进行预处理,水平矫正预处理方法和去除上下边界预处理方法。\n[0034] 水平矫正预处理方法和去除上下边界预处理方法应组合使用,并且先进行水平倾斜校正,然后再进行去除边界处理。由于预处理的过程对白色车牌区域进行了水平矫正,并且去除了对车牌类型识别中的上下边界的干扰,因此可以在该预处理后的车牌白色区域中进行字符分割了。具体的在进行字符分割时,即在白色车牌所在的区域中,确定每个字符的边界,从而确定每个字符的位置。\n[0035] S103:根据字符分割后每两个字符之间的距离,识别出满足每种白色车牌类型的字符序列。\n[0036] 对白色车牌区域进行字符分割后,可以确定每个字符所在的位置,根据每个字符所在的位置,可以确定任意两个相邻字符之间的距离。在本发明中由于任意两个字符之间的距离可以确定,而每种类型的白色车牌,其一定数目的字符序列之间的距离存在一定的关系,例如对于白色警牌,在其7个字符序列之间,前两个字符之间的距离大于其他任意两个字符之间的距离,而对于白色军牌,其7个字符序列之间,第二个字符和第三个字符之间的距离大于其他任意两个字符之间的距离,而对于白色武警牌,其5个字符序列中,任意两个字符之间的距离基本相同。\n[0037] 因此根据上述每种类型的白色车牌的字符之间的距离特征,可以针对每个白色车牌区域,识别出满足每种白色车牌类型的字符序列。\n[0038] S104:将每个字符序列,与该字符序列对应车牌类型的模板进行匹配,根据平均匹配距离确定每个白色车牌的类型。\n[0039] 由于在本发明中是从白色车牌区域包含的每个字符中,选择满足每种白色车牌类型的字符序列,而针对同一白色车牌区域中包含的字符,其不同的字符序列可能满足不同的白色车牌类型。因此在进行后续识别时,针对同一白色车牌区域中包含的字符,其不同的字符序列满足的白色车牌类型,选择与该类型对应的模板,对该模板与该字符序列进行匹配,根据匹配距离确定每个白色车牌的类型。\n[0040] 例如,对于某一白色车牌区域包含的字符,其3个字符序列分别为第一字符序列、第二字符序列和第三字符序列,其中第一字符序列为满足白色军牌的字符序列,第二字符序列为满足白色警牌的字符序列,第三字符序列为满足白色武警牌的字符序列,则采用白色军牌对应的第一模板与第一字符序列所在的区域进行匹配,采用白色警牌对应的第二模板与第二字符序列所在的区域进行匹配,采用白色武警牌对应的第三模板与第三字符序列所在的区域进行匹配,当第二模板与第二字符序列所在的区域匹配距离最短时,确定该白色车牌为白色警牌。\n[0041] 本发明在进行白色车牌类型识别时,对预处理后的白色车牌区域进行了字符分割,根据分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列,根据与每种白色车牌类型对应的模板与该字符序列的匹配距离,确定该白色车牌的车牌类型。由于在本发明中根据字符序列之间的距离,确定满足每种类型的车牌序列,之后又根据该类型车牌对应的模板与该字符序列的距离最终确定该车牌的类型,因此在两次识别的情况下,可以保证识别结果的准确性及精确度。\n[0042] 下面通过具体的实施例,对本发明的车牌类型识别过程进行详细说明。\n[0043] 在本发明中当在输入的图像中,一般为灰度图像,进行车牌区域定位后,可以确定该图像中车牌所在的区域,并通过相应的方法,将这些车牌中的白色车牌识别处理。\n[0044] 针对识别出的每个白色车牌所在的区域,对该区域进行预处理,具体的预处理过程包括水平矫正和/或去除上下边界。当该预处理过程包括水平矫正和去除上下边界时,识别的效果更好。\n[0045] 图2为本发明提供的对该白色车牌区域进行水平矫正的过程示意图,该过程包括以下步骤:\n[0046] S201:对识别出的所述白色车牌区域采用相应的方法进行二值化处理。\n[0047] S202:根据识别出的二值化处理后的白色车牌区域中像素值的跳变,在水平边缘信息图中与该跳变时白色像素点对应的像素点的位置赋值为1,其他像素点的位置赋值为\n0。\n[0048] S203:以设定的步长旋转水平边缘信息图,针对旋转后的每个角度,在设定的角度范围内确定每行在水平方向上包含白色像素点的数目。\n[0049] S204:针对旋转后的每个角度,选择白色像素点的数目较多的设定行数,统计该设定行数的白色像素点的数目和。\n[0050] S205:根据白色像素点的数目和的最大值对应的旋转角度,确定该白色车牌区域的矫正角度,对该白色车牌区域进行水平矫正。\n[0051] 具体的在对该白色车牌区域进行水平矫正时,针对该白色车牌区域进行相应的二值化处理,例如可以采用otsu二值化算法。二值化处理后,字符为黑色,背景为白色。为了识别出该二值化处理后该白色车牌区域中每个像素点的状态,在本发明中采用了水平边缘信息图。\n[0052] 按照一定的顺序,搜索该二值化处理后的白色车牌区域中的每个像素点,当该像素点与搜索到的与其相邻的下一个像素点的像素值相同时,在该水平边缘信息图中与该像素点的对应的像素点的位置赋值为0;当该像素点与搜索到的与其相邻的下一个像素点的像素值不同时,即像素点的像素值出现跳变时,即像素点的像素值由0跳变为1,或者由1跳变为0时,在该水平边缘信息图中,与该白色像素点位置对应的像素点位置赋值为1,将与黑色像素点位置对应的像素点的位置赋值为0。通过上述对二值化的白色车牌区域中每个像素点的搜索,最终确定水平边缘信息图中每个像素点的赋值。\n[0053] 针对最终确定的水平边缘信息图,以该水平边缘信息图的左上角的像素点为圆心,并确定水平轴,在本发明中设定的步长可以为1度,即以1度为步长旋转该水平边缘信息图,旋转后在水平轴正负20度的范围内,确定水平边缘信息图中每行在水平方向的投影值,即确定该水平边缘信息图中每行像素值为1的像素点,在该水平轴的正负20度的范围内的数目。\n[0054] 根据旋转每个度数后,水平边缘信息图中每行在水平方向的投影值,即确定水平边缘信息图中每行在该角度范围内包含的白色像素点的数目,选择白色像素点数目较多的n行,较佳地,在本发明中该n值为4,即在旋转该度数后,选择投影值最大的4行。针对该角度,统计该4行在水平方向的投影值的和,即选择该4行在该角度范围内包含的白色像素点的数目和。\n[0055] 根据旋转的每个角度,投影值较大的4行,在该角度范围内包含的白色像素点的数目和,确定该数目和的最大值。当确定了该数目和的最大值后,该最大值对应的角度也可以确定,根据该角度即可对该白色车牌区域进行水平矫正。具体的在对该白色车牌区域进行水平矫正时,当该角度为A时,利用双线性插值进行水平倾斜矫正。\n[0056] 在本发明中为了提高白色车牌类型识别的准确性,在对定位后得到的白色车牌区域进行水平矫正后,可以再对该水平矫正后的白色车牌区域进行去除上下边界的处理。\n[0057] 图3为本发明提供的对该白色车牌区域进行去除上下边界处理的过程示意图,该过程包括以下步骤:\n[0058] S301:对所述水平矫正后的白色车牌区域进行二值化处理。\n[0059] S302:在二值化处理后的白色车牌区域中,识别每行像素值的跳变次数,并确定每行包含的最长白线长度和最长黑线长度。\n[0060] S303:根据所述跳变次数、最长白线长度和最长黑线长度中的至少一个,与设定的对应距离阈值,确定该白色车牌区域的上、下边界。\n[0061] 具体的在对该白色车牌区域进行去除上下边界处理时,首先在进行了水平矫正的白色车牌区域,采用otsu二值化算法,对该白色车牌区域进行二值化处理。对该白色车牌区域进行二值化处理后,从该白色车牌区域的中间行位置开始,分别向上、下搜索每一行。\n[0062] 每搜索到一行,对该行进行下述处理步骤:\n[0063] 识别该行的跳变值,即该行中两个相邻的像素点的像素值由1变为0,及由0变为1的次数,将该次数作为该行的跳变值SumLineJump。另外,在对该行进行搜索时,还要识别出该行中包含的每条黑线和白线的长度,即识别出每条黑线和白线包含的像素点的个数,并从中确定出该行包含的最长白线的长度LineWhiteLength,和最长黑线的长度LineBlackLength。\n[0064] 由于在车牌类型的识别过程中,可能会出现字符粘连的情况,此时在进行白线长度的判读时就会出现误差,在本发明中为了进一步的提高白色车牌类型识别的准确性,在识别白色车牌区域中的白线时,首先需要判断该白线是否为真正的白线,因为可能是两个字符之间粘连形成的白线,而不是真正的字符代表的白线,当判断为真正的白线时,将该白线加入到最长白线长度的选择集合中。\n[0065] 具体的在判断是否为真正的白线时,首先确定该行中构成该白线的范围,即该行中起始像素点到终止像素点的范围。在该行构成该白线的范围内,从该白线的起始点对应的像素点开始,判断与该像素点相邻的,位于同一列的上下两行中的像素点中是否存在黑色像素点,当存在一个黑色像素点时,将初始化为0的识别参数iSumBlack加1,当检测到另一个像素点也为黑色像素点时,将该识别参数再加1;之后,针对该白线中的第二个像素点,判断与该像素点相邻的,位于同一列的上下两行中的像素点中是否存在黑色像素点,将该识别参数再加1,循环进行上述过程,直到对该白线中的每个像素点都进行了上述判断。\n[0066] 根据判断完成后该识别参数的数值,该白线的长度iWhiteLineLen,以及设置的第一比例阈值α,确定该白线是否为真正的白线,具体在进行判断时,判断该参数是否大于该第一比例阈值α与该白线长度的积,即判断是否iSumBlack>α×iWhiteLineLen,当该识别参数大于第一比例阈值α与该白线长度iWhiteLineLen的积时,确定该白线为真正的白线,将该白线加入到最长白线长度的选择集合中,否则,确定为干扰,不作为白线处理,其中第一比例阈值α一般在0.5到0.8的范围内取值。\n[0067] 或者,在判断识别出的每条白线是否为真正的白线时,也可以根据该白线的长度iWhiteLineLen、设置的第二比例阈值β及车牌的宽度W来确定,具体的为判断该白线的长度是否大于第二比例阈值β与该车牌宽度W的积,即判断是否iWhiteLineLen>β×W,当白线的长度iWhiteLineLen大于第二比例阈值β与该车牌宽度W的积时,确定该白线为真正的白线,将该白线加入到最长白线长度的选择集合中,否则,确定为干扰,不作为白线处理,其中第二比例阈值β一般在0.3到0.5的范围内取值。\n[0068] 当确定了每行的跳变值SumLineJump,以及每行的最长黑线长度LineBlackLength和最长白线长度LineWhiteLength后,即可判断该行是否为边界,具体在进行判断时:可以判断该行的跳变值SumLineJump是否小于设定的跳变阈值Thr1,即判断是否SumLineJumpThr2,当该行的最长黑线长度LineBlackLength大于设置的黑线长度阈值Thr2时,认为该行为上边界或下边界;\n[0070] 或者,也可以判断该行的最长白线长度LineWhiteLength是否大于设置的白线长度阈值Thr3,其中Thr1、Thr2和Thr3的取值一般取车牌宽度的四分之一。即判断是否LineWhiteLength>Thr3,当该行的最长白线长度LineWhiteLength大于设置的白线长度阈值Thr3时,认为该行为上边界或下边界。\n[0071] 确定了白色车牌区域的上边界和下边界后,即可将超过上、下边界的区域去除,从而减少在后续白色车牌类型识别时,边界区域对识别过程的干扰。\n[0072] 对白色车牌区域进行预处理后,在该白色车牌区域中即包括字符区域和背景区域,即可在该白色车牌区域中进行字符的分割了。具体的在该白色车牌区域中进行字符分割时,将该预处理后的白色车牌区域进行二值化处理后,再进行反色吹,使该白色车牌区域中字符部分为白色,背景部分为黑色。\n[0073] 在该二值化并反色处理后的白色车牌区域中,进行垂直方向的投影计算,即计算每列白色像素点的数目之和,具体的在进行计算时,可以依据下式:\n[0074] \n[0075] 其中,Sumi为二值化并反色处理后的白色车牌区域中第i列的白色像素点的数目之和,WhitePlate(j,i)白色像素点数组,代表第j行第i列的白色像素点,,iHeight为该白色车牌区域的宽度,即包含的行数,在进行反色处理后,该白色车牌区域中每个白色像素点的像素值为1,黑色像素点的像素值为0。\n[0076] 根据确定的每列在垂直方向的投影,确定字符区域。确定在确定字符所在区域时,依照设定的顺序,一般为从左到右的顺序,查找每列在垂直方向的投影值,当第i列在垂直方向的投影值Sumi大于了零时,则确定该第i列为字符的左边界,之后继续查找下一列,当第m列的投影值Summ等于0时,则确定该第m列为字符的右边界,则左边界和右边界之间的区域即为字符所在区域。依据上述方法,按照一定的顺序,可以在白色车牌区域中确定每个字符所在的位置,从而实现字符的分割。\n[0077] 由于在白色车牌区域中对字符进行了分割,确定了每个字符所在的位置,因此每两个字符之间的距离即可确定,在本发明中每个字符所在的区域为矩形区域,通过矩形的中心即可确定字符之间的距离。\n[0078] 白色车牌的三种不同类型的牌照其结构式不同的,因此可以根据每种车牌类型的结构,识别车牌类型。例如对于警牌,7个连续的字符序列中,第一个个和第二字符之间的距离大于其余任何两个相邻字符之间的距离,即:\n[0079] d12>max(d23,d34,d45,d56,d67)\n[0080] 其中d12,d23,d34,d45,d56,d67,分别为该7个连续的字符序列中,任意两个相邻字符之间的距离。对于军牌,7个连续的字符序列中,第二个和第三个字符之间的距离大于其余任何两个相邻字符之间的距离,即:\n[0081] d23>max(d12,d34,d45,d56,d67)\n[0082] 而对于武警车牌,5个连续的字符序列中,每两个字符之间的距离相等,在本发明中当每个相邻字符的间距小于3个像素值时,可以认为两个字符之间的距离相等。\n[0083] 根据上述每种车牌类型对应的字符序列的距离特征,在本发明中当对每个白色为车牌区域的字符进行分割后,识别相应的字符序列,判断每个字符序列是否满足相应的距离条件。图4为本发明提供的通过距离识别白色车牌类型的过程示意图,该过程包括以下步骤:\n[0084] S401:根据字符分割后每两个字符之间的距离,判断设定数量的相邻字符序列之间的距离,是否满足设定的第一距离条件、第二距离条件或第三距离条件。\n[0085] S402:根据该字符序列满足的距离条件,确定该字符序列归属的车牌类型。\n[0086] S403:采用该车牌类型对应的模板,确定该模板与该字符序列之间的距离,选择与模板距离最小的序列作为车牌,该模板对应的类型为该车牌类型。\n[0087] 具体的在根据白色车牌中的字符之间的距离,确定车牌类型时,针对每个车牌,取出该车牌中任意7个连续的字符序列和5个连续的字符序列,可能在每个白色车牌区域中有多个满足上述条件的字符序列,针对取出的每个字符序列,根据该字符序列的长度,选择相应的距离条件,判断该字符序列是否满足该相应的距离条件,即例如该字符序列为5字符的字符序列时,则其具距离条件为每两个的相邻的字符之间的距离是否相等,当该字符序列为7字符的字符序列时,则判断该7字符的字符序列中前两个字符之间的距离是否大于其余任何两个相邻字符之间的距离,或者判断第二个和第三个字符之间的距离是否大于其余任何两个相邻字符之间的距离。将满足上述距离条件的字符序列取出,并记录每个字符序列对应的距离条件。\n[0088] 根据选择出的每个满足上述距离条件的字符序列,采用该距离条件对应的模板,与该字符序列进行匹配,确定该字符序列与该模板的距离。根据从该白色车牌序列中取出的每个字符序列与其模板之间的平均匹配距离,选择平均距离最小值的模板对应的车牌类型为该白色车牌的类型。即采用下述公式:\n[0089] \n[0090] 其中,davg为平均匹配距离,di为字符序列中第i个字符与模板对应位置的距离,N为该字符序列的长度。\n[0091] 例如在该白色车牌区域中,共有3个字符序列,其中,其中第一字符序列为7个字符的字符序列,其满足第一距离条件,即满足警牌的距离条件,第二字符序列为7个字符的字符序列,其满足第二距离条件,即满足军牌的距离条件,第三字符序列为5个字符的字符序列,其满足第三距离条件,即满足武警牌的距离条件;则将该3个字符序列分别取出,分别采用军牌对应的模板与第一字符序列匹配,军牌对应的模板即满足军牌距离条件的模板,该模板中每个字符对应的位置确定,每个字符的中心位置也确定,而字符序列中每个字符的中心位置也确定,因此根据模板中每个字符的中心位置,以及对应每个字符的中心位置,可以确定模板和字符序列的匹配距离和,根据该字符序列的长度,即可确定字符序列与模板的平均匹配距离。由于该白色车牌序列中有3个字符序列都满足相应类型车牌的距离条件,因此每个字符序列和相应的模板都可以确定相应的平均匹配距离,则选择平均匹配距离最小值的模板对应的车牌类型即为该白色车牌对应的类型。\n[0092] 图5为本发明提供的该白色车牌类型的详细识别过程示意图,该过程包括以下步骤:\n[0093] S501:在输入的图像中进行车牌区域定位,在定位的车牌区域中识别出白色车牌区域。\n[0094] S502:对该白色车牌区域进行二值化处理,对该白色车牌区域进行水平矫正。\n[0095] S503:在水平矫正后的二值化白色车牌区域图中,去除上下边界。\n[0096] S504:对去除了上下边界的白色车牌区域进行二值化处理并进行反色处理,确定该反色处理后的白色车牌区域垂直方向的投影,白色车牌区域中的字符进行分割。\n[0097] S505:字符分割后,根据该白色车牌区域中包含的字符序列中每两个相邻字符之间的距离,及相应的距离条件,选择满足每种距离条件的字符序列。\n[0098] S506:根据选择出的字符序列,采用该字符序列与对应的模板进行匹配,确定平均匹配距离。\n[0099] S507:选择平均匹配距离最小的字符序列为该车牌序列,该模板对应的车牌类型为该白色车牌的类型。\n[0100] 由于在本发明中根据字符序列之间的距离,确定满足每种类型的车牌序列,之后又根据该类型车牌对应的模板与该字符序列的距离最终确定该车牌的类型,因此在两次识别的情况下,可以保证识别结果的准确性及精确度。\n[0101] 图6为本发明提供的该白色车牌类型识别装置的结构示意图,该装置包括:\n[0102] 识别模块61,用于在输入的图像中进行车牌区域定位,在定位的车牌区域中识别出白色车牌区域;\n[0103] 预处理分割模块62,用于对识别出的白色车牌区域进行预处理,并对预处理后的白色车牌区域进行字符分割;\n[0104] 字符序列选择模块63,用于根据字符分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列;\n[0105] 匹配模块64,用于将每个字符序列,与该字符序列对应车牌类型的模板进行匹配,根据平均匹配距离确定每个白色车牌的类型。\n[0106] 所述预处理分割模块62,具体用于对识别出的所述白色车牌区域采用相应的方法进行二值化处理;根据识别出的二值化处理后的白色车牌区域中像素值的跳变,在水平边缘信息图中与该跳变时白色像素点对应的像素点的位置赋值为1,其他像素点的位置赋值为0;以设定的步长旋转水平边缘信息图,针对旋转后的每个角度,在设定的角度范围内确定每行在水平方向上包含白色像素点的数目;针对旋转后的每个角度,选择白色像素点的数目较多的设定行数,统计该设定行数的白色像素点的数目和;根据白色像素点的数目和的最大值对应的旋转角度,确定该白色车牌区域的矫正角度,对该白色车牌区域进行水平矫正。\n[0107] 所述预处理分割模块62,具体用于对所述白色车牌区域进行二值化处理;在二值化处理后的白色车牌区域中,识别每行像素值的跳变次数,并确定每行包含的最长白线长度和最长黑线长度;根据所述跳变次数、最长白线长度和最长黑线长度中的至少一个,与设定的对应距离阈值,确定该白色车牌区域的上、下边界。\n[0108] 所述预处理分割模块62,具体用于在确定每行包含的最长白线长度之前,判断确定的每条白线是否为真正的白线;当确定该白线为真正的白线时,将该白线加入到最长白线长度的选择集合中。\n[0109] 所述预处理分割模块62,具体用于将该白线包含的像素点的数目作为该白线的长度,根据该白线的长度是否大于设定的第二比例阈值与设置的车牌宽度的积,判断该白线是否为真正的白线;或\n[0110] 针对每行的白线,根据该白线包含的像素点的数目,以及该白线中像素点同列的相邻像素点是否为黑色像素点,确定识别参数的取值;根据识别参数的取值是否大于第一比例阈值与白线的长度的积,判断该白线是否为真正的白线。\n[0111] 所述预处理分割模块62,对所述预处理后的白色车牌区域进行二值化处理,并进行反色处理;统计每列白色像素点的数目和;根据每列白色像素点的数目和,判断每列是否为字符的左、右边界。\n[0112] 所述匹配模块64,具体用于根据字符分割后每两个字符之间的距离,判断设定数量的相邻字符序列之间的距离,是否满足设定的第一距离条件、第二距离条件或第三距离条件;根据该字符序列满足的距离条件,确定该字符序列归属的车牌类型;采用该车牌类型对应的模板,确定该模板与该字符序列之间的匹配距离,选择平均匹配距离最小的序列作为车牌,该模板对应的类型为该车牌类型。\n[0113] 本发明提供了一种白色车牌类型的识别方法及装置,该方法在进行白色车牌类型识别时,对预处理后的白色车牌区域进行了字符分割,根据分割后每两个字符之间的距离,识别出该白色车牌中满足每种白色车牌类型的字符序列,根据与每种白色车牌类型对应的模板与该字符序列的匹配距离,确定该白色车牌的车牌类型。由于在本发明中根据字符序列之间的距离,确定满足每种类型的车牌序列,之后又根据该类型车牌对应的模板与该字符序列的距离最终确定该车牌的类型,因此在两次识别的情况下,可以保证识别结果的准确性及精确度。\n[0114] 上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述构思或相关领域的技术或知识进行改进。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-01-20
|
2008-12-30
| | |
2
| |
2006-08-30
|
2006-01-27
| | |
3
| |
2009-03-11
|
2008-10-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |