一种车牌识别方法及装置与流程

文档序号:18467105发布日期:2019-08-17 02:35阅读:175来源:国知局
一种车牌识别方法及装置与流程

本发明涉及智能交通领域,特别是涉及一种车牌识别方法及装置。



背景技术:

车牌是车辆的标识信息,是区别于其他机动车辆的一项重要信息。车牌识别技术已被广泛应用在卡口、停车场和电子警察等场景中,以获取场景内车辆的车牌信息。

现有的车牌识别方法的具体流程为:首先,在包含车牌信息的待识别图像中定位出车牌区域;然后,通过分析车牌区域内的图像,对车牌区域内的字符进行分割;最后,对分割得到的字符进行识别,得到车牌识别结果。

但是,在车牌的背景图像复杂、待识别图像的成像质量不佳、车牌出现倾斜等恶劣的车牌识别环境中,上述车牌识别方法的稳定性较差,易受到各种因素的影响,可能导致车牌识别结果中出现多字符、缺字符等问题,使得车牌识别的准确率较低。



技术实现要素:

本发明实施例的目的在于提供一种车牌识别方法及装置,以判断识别结果中是否丢字符或多字符,提高车牌识别准确率。具体技术方案如下:

第一方面,本发明实施例提供了一种车牌识别方法,所述方法包括:

对待识别图像进行车牌识别,得到车牌信息的识别结果;

将所述识别结果中各字符的位置信息,与预设车牌结构模型中各预设的矩形框的位置信息进行匹配,确定所述识别结果对应的目标车牌结构模型;

根据所述识别结果与所述目标车牌结构模型的匹配结果,判断所述识别结果中的字符数是否与所述目标车牌结构模型的字符数一致;

若为否,则确定所述识别结果中缺少字符或存在多余字符。

第二方面,本发明实施例提供了一种车牌识别装置,所述装置包括:

识别模块,用于对待识别图像进行车牌识别,得到车牌信息的识别结果;

匹配模块,用于将所述识别结果中各字符的位置信息,与预设车牌结构模型中各预设的矩形框的位置信息进行匹配,确定所述识别结果对应的目标车牌结构模型;

第一判断模块,用于根据所述识别结果与所述目标车牌结构模型的匹配结果,判断所述识别结果中的字符数是否与所述目标车牌结构模型的字符数一致;

确定模块,用于若所述第一判断模块的判断结果为所述识别结果中的字符数与所述目标车牌结构模型的字符数不一致,则确定所述识别结果中缺少字符或存在多余字符。

第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中,

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现本发明实施例第一方面所述的方法步骤。

本发明实施例提供的车牌识别方法及装置,首先,对待识别图像进行车牌识别,得到车牌信息的识别结果;然后,将识别结果中各字符的位置信息,与预设车牌结构模型中各预设的矩形框的位置信息进行匹配,确定识别结果对应的目标车牌结构模型;最后,根据识别结果与目标车牌结构模型的匹配结果,判断识别结果中的字符数是否与目标车牌结构模型的字符数一致,若为否,则确定识别结果中缺少字符或存在多余字符。

这样,能够判断出识别结果中是否存在丢字符或多字符的问题,以进一步对识别结果进行调整,使识别结果更加准确可靠。当然,实施本发明的任一产品或方法必不一定需要同时达到以上的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的车牌识别方法的一种流程示意图;

图2为本发明实施例的车牌结构模型的一种示意图;

图3为本发明实施例的车牌结构模型的又一种示意图;

图4为本发明实施例的识别结果与预设车牌结构模型匹配的一种流程示意图;

图5为本发明实施例的车牌识别方法的又一种流程示意图;

图6为本发明实施例中预设车牌结构模型与识别结果进行匹配的一种示意图;

图7为本发明实施例中预设车牌结构模型与识别结果进行匹配的又一种示意图;

图8为本发明实施例中预设车牌结构模型与识别结果进行匹配的另一种示意图;

图9为本发明实施例中单层车牌矩形框的中心距的示意图;

图10为本发明实施例中双层车牌矩形框的中心距的示意图;

图11为本发明实施例的车牌识别方法的再一种流程示意图;

图12为本发明实施例的车牌识别装置的结构示意图;

图13为本发明实施例的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种车牌识别方法,参见图1,图1为本发明实施例的车牌识别方法的一种流程示意图,包括如下步骤:

步骤101,对待识别图像进行车牌识别,得到车牌信息的识别结果。

在本步骤中,通过对待识别图像进行车牌识别,获取到车牌信息的识别结果。该识别结果中包含识别到的各字符、各字符在车牌中的位置信息以及车牌中的字符分布行数等信息,本步骤的详细过程可以参考相关技术,在此不再赘述。

在得到车牌信息的识别结果之后,可以先根据识别结果中各字符的置信度及字符位置的置信度判断是否满足输出条件,若不满足,再执行后续的匹配调整过程,若满足,按输出形式要求输出车牌识别结果。当然,在得到车牌信息的识别结果之后,也可以直接根据识别结果执行后续的匹配调整过程,而不需要对识别结果中各字符的置信度及字符位置的置信度进行是否满足输出条件的判断。

步骤102,将识别结果中各字符的位置信息,与预设车牌结构模型中各预设的矩形框的位置信息进行匹配,确定识别结果对应的目标车牌结构模型。

在本步骤中,将步骤101得到的车牌信息的识别结果中各字符的位置信息,与预设车牌结构模型中各预设的矩形框的位置信息进行匹配,以从预设车牌结构模型中,确定识别结果对应的目标车牌结构模型。

其中,预设车牌结构模型为至少一个,具体可以根据应用场景,设置多个车牌结构模型。参考图2和图3,图2为本发明实施例的车牌结构模型的一种示意图,图3为本发明实施例的车牌结构模型的又一种示意图。从图2和图3可见,在预设车牌结构模型中,一个矩形框表示一个字符,多个矩形框组合体现了车牌的字符分布情况。

具体的,图2和图3所示的均为意大利国家的车牌结构。图2所示的车牌结构为2-5型,即车牌的字符序列包括两段字符串,第一段字符串为连续的两个字符,第二段字符串为连续的五个字符。图3所示的车牌结构为2-3-2型,即车牌的字符序列包括三段字符串,第一段字符串为连续的两个字符,第二段字符串为连续的三个字符,第三段字符串为连续的两个字符。

这样,将识别结果中各字符的位置信息,与预设车牌结构模型中各预设的矩形框的位置信息进行匹配,其中,位置信息具体包括字符的宽度或矩形框的宽度,以及字符间的中心距或矩形框间的中心距,来确定识别结果匹配的目标车牌结构模型,以进一步使用目标车牌结构模型来判断识别结果中是否存在多字符或者少字符的问题。

由于不同的预设车牌结构模型出现的频次和几率不同,例如在意大利的实际交通场景中,单层2-5型车牌的使用率高于单层2-3-2型车牌的使用率、而单层2-3-2型车牌的使用率高于双层2-3-2型车牌,即在正常情况下识别结果对应的目标车牌结构模型为单层2-5型车牌的几率要高于单层2-3-2型车牌、单层2-3-2型车牌的几率要高于双层2-3-2型车牌,因此,为了减少匹配工作量,可以设置每种类型的预设车牌结构模型的匹配优先级,匹配优先级的设置可以按照实际的使用率进行设置,即单层2-5型车牌结构模型的匹配优先级高于单层2-3-2型车牌结构模型的匹配优先级、单层2-3-2型车牌结构模型的匹配优先级高于双层2-3-2型车牌结构模型的匹配优先级。匹配优先级也可以按照场景进行设置,例如在城市中单层2-3-2型车牌的使用率高于双层2-3-2型车牌,则可以设置单层2-3-2型车牌结构模型的匹配优先级高于双层2-3-2型车牌结构模型。

可选的,步骤102,具体为:

将识别结果中各字符的位置信息,与第一预设车牌结构模型中各预设的矩形框的位置信息进行匹配,第一预设车牌结构模型为待匹配的预设车牌结构模型中匹配优先级最高的预设车牌结构模型;

若匹配成功,则确定第一预设车牌结构模型为识别结果对应的目标车牌结构模型;

若匹配不成功,则从待匹配的预设车牌结构模型中剔除匹配优先级最高的预设车牌结构模型,并返回执行将识别结果中各字符的位置信息,与第一预设车牌结构模型中各预设的矩形框的位置信息进行匹配。

例如,预设车牌结构模型包括:单层2-5型结构的车牌、单层2-3-2型结构的车牌、双层2-3-2型结构的车牌,根据车牌的使用率,设置单层2-5型结构的车牌的匹配优先级最高、匹配优先级次高的为单层2-3-2型结构的车牌,匹配优先级最低的为双层2-3-2型结构的车牌。则识别结果与预设车牌结构模型匹配的过程如图4所示,包括:

步骤401,将识别结果中各字符的位置信息,与单层2-5型车牌结构模型中各预设的矩形框的位置信息进行匹配,判断是否匹配成功,若是,则执行步骤402,否则执行步骤403。

步骤402,确定识别结果对应的目标车牌结构模型为单层2-5型车牌结构模型。

步骤403,将识别结果中各字符的位置信息,与单层2-3-2型车牌结构模型中各预设的矩形框的位置信息进行匹配,判断是否匹配成功,若是,则执行步骤404,否则执行步骤405。

步骤404,确定识别结果对应的目标车牌结构模型为单层2-3-2型车牌结构模型。

步骤405,将识别结果中各字符的位置信息,与双层2-3-2型车牌结构模型中各预设的矩形框的位置信息进行匹配,判断是否匹配成功,若是,则执行步骤406,否则执行步骤407。

步骤406,确定识别结果对应的目标车牌结构模型为双层2-3-2型车牌结构模型。

步骤407,不存在与识别结果匹配的预设车牌结构模型。

如上述匹配过程,由于单层2-5型车牌的使用率最高,识别到的目标车牌结构模型的可能性也最大,如果进行一次识别就可以识别出目标车牌结构模型为单层2-5型车牌,则可以不再与其他结构的车牌结构模型进行匹配,有效减少匹配工作量,并且,设置条件除了不同结构的车牌的使用率以外,还可以根据场景内出现不同结构的车牌的几率进行设置,可以提高匹配的效率。

当然,针对上述实例中所提及的单层2-5型结构的车牌、单层2-3-2型结构的车牌、双层2-3-2型结构的车牌等预设车牌结构模型,将识别结果中各字符的位置信息,与各预设车牌结构模型进行同步匹配;再基于识别结果与各预设车牌结构模型的匹配结果,确定哪一个预设车牌结构模型可以作为目标车牌结构模型。

如上述,车牌中字符的行数除了为一行以外,还可以为多行,例如上述实例中的双层2-3-2型车牌,在对待识别图像进行车牌识别时,识别结果中可以包括字符分布行数,也就是可以识别出车牌的字符行数是一行还是多行,这样根据字符分布行数可以先对预设车牌结构模型进行一次筛选,例如识别出车牌的字符分布行数为2行,则在进行匹配时,只需要匹配字符行数为2的预设车牌结构模型,而不需要再对其他行数的预设车牌结构模型进行匹配,从而可以减少匹配工作量、提高匹配效率。

可选的,在步骤102之前,车牌识别方法还可以包括:

根据识别结果中的字符分布行数,筛选字符分布行数与识别结果中的字符分布行数相同的预设车牌结构模型。

由于对车牌进行识别的识别结果中,可能存在多字符或者缺字符的情况,因此在进行预设车牌结构模型的匹配时,需要逐字符进行匹配,进而判断哪一个预设车牌结构模型与待识别的车牌最相近,将该预设车牌结构模型作为目标车牌结构模型,进行车牌更为准确的识别。

可选的,预设车牌结构模型包括预设的矩形框的宽度;

因此,步骤102,具体可以包括:

针对各预设车牌结构模型,按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与识别结果中指定位字符的宽度之间的重叠宽度;

根据重叠宽度以及指定位字符的预设置信度,计算指定位字符对应的匹配值;

将识别结果中所有字符对应的匹配值相加,计算识别结果与该预设车牌结构模型的匹配总值;

确定各预设车牌结构模型中匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型。

实际的匹配过程,可以是预设车牌结构模型中各矩形框与指定位字符的重叠的情况进行匹配,多字符和缺字符所对应的指定位字符可以不同,但是对于同一种情况而言,最相近的预设车牌结构模型所匹配出来的匹配总值就越大,因此,根据匹配总值的大小,可以确定匹配总值最大的预设车牌结构模型为目标车牌结构模型。如果车牌的字符分布行数为一行,则按照上述匹配步骤,对该行的字符,逐个进行匹配;如果车牌的字符分布行数为多行,则可以按照上述匹配步骤,对每一行的字符,分别逐个进行匹配。

步骤103,根据识别结果与目标车牌结构模型的匹配结果,判断识别结果中的字符数是否与目标车牌结构模型的字符数一致,若为否,则执行步骤104。

在本步骤中,根据步骤102确定的目标车牌结构模型,以及识别结果与目标车牌结构模型的匹配结果,判断识别结果中的字符数与目标车牌结构模型的字符数是否一致,若一致,则说明识别结果中不存在多字符或者少字符的问题,若不一致,则说明识别结果中存在多字符或者少字符的问题。

步骤104,确定识别结果中缺少字符或存在多余字符。

在本步骤中,当确定识别结果中的字符数与目标车牌结构模型的字符数不一致时,可以确定识别结果中缺少字符或存在多余字符,可以进一步对识别结果进行调整。

在确定识别结果中缺少字符或存在多余字符,根据逐字符匹配对比的过程可以确定识别结果中缺少了哪些字符,或者存在哪些多余字符,因此,为了可以还原正确的车牌,可选的,在步骤104之后,车牌识别方法还可以包括:

若识别结果中缺少字符,则添加所缺少的字符;若识别结果中存在多余字符,则去除该多余字符。

由于缺字符和多字符可能存在尾位字符之后、首位字符之前,或者其他位置,因此,相应的,添加所缺少的字符的步骤,可以为:

若识别结果的尾位字符之后缺少字符,则从识别结果尾位字符之后的位置处识别字符,并将识别出的字符添加到识别结果中;

若识别结果中的首位字符之前缺少字符,则从首位字符之前的位置处识别字符,并将识别出的字符添加到识别结果中。

去除多余字符的步骤,可以为:

若识别结果的尾位字符为多余字符,则去除尾位字符;

若识别结果中的首位字符为多余字符,则去除首位字符。

同理,如果识别出缺少字符或者多余字符出现在中间其他位,可以使用相应的识别方法识别出后,对应添加或者去除。

可见,本发明实施例提供的车牌识别方法,首先,根据车牌信息的识别结果匹配对应的目标车牌结构模型,进而通过比较识别结果中的字符数是否与目标车牌结构模型的字符数一致来判断识别结果中是否存在丢字符或多字符的问题,若识别结果中的字符数与目标车牌结构模型的字符数不一致,则说明识别结果中存在丢字符或多字符的问题,这样,就可以进一步对识别结果进行调整,使识别结果更加准确可靠。

此外,在再一种实现方式中,在步骤104之后,车牌识别方法还可以包括:

根据目标车牌结构模型的字母分布规则和数字分布规则,判断识别结果是否有误;

若为是,则按照预设的修改规则,对识别结果进行修改。

在实际应用中,由于某些字母和数字的外形较为相似,比如数字1和大写字母i、数字0和大写字符o、数字8和大写b等,容易出现识别错误,因此,可以根据识别结果对应的目标车牌结果模型中字符的分布规律来解决该问题。

比如,对于意大利国家的2-3-2型车牌,第一段字符串和第三段字符串均为字母,第二段字符串为数字,那么,当识别结果中的第一段字符串和第三段字符串中出现1、0、8等数字时,可以将该1、0、8等数字更改为i、o、b等大写字母,同样,当识别结果中的第二段字符串中出现i、o、b等大写字母时,可以将i、o、b等大写字母更改为1、0、8等数字。

一种实现方式中,根据目标车牌结构模型的字母分布规则和数字分布规则,判断识别结果是否有误的步骤,可以包括:

根据目标车牌结构模型中预设字母所在矩形框的排列位置,判断识别结果中与预设字母所在矩形框处于同一排列位置的字符是否为数字;

若为是,则根据预设的字符相似度表,将识别结果中处于与预设字母所在矩形框同一排列位置的字符修改为数字对应的大写字母;

根据目标车牌结构模型中预设数字所在矩形框的排列位置,判断识别结果中与预设数字所在矩形框处于同一排列位置的字符是否为大写字母;

若为是,则根据预设的字符相似度表,将识别结果中处于与预设数字所在矩形框同一排列位置的字符修改为大写字母对应的数字。

在具体实施中,可以根据识别结果匹配的目标车牌结构模型中,预设字母和预设数据所在矩形框的排列位置,来判断识别结果中的字符是否有误,比如,判断识别结果中与预设字母所在矩形框处于同一排列位置的字符是否为1、0、8等数字,若为是,则将该字符修改为i、o、b等大写字母,又比如,判断识别结果中与预设数字所在矩形框处于同一排列位置的字符是否为i、o、b等大写字母,若为是,则将该字符修改为1、0、8等数字,进一步提高了识别结果的准确性。

由于在通常情况下,在进行预设车牌结构模型的匹配之前,无法获知车牌是缺字符还是多字符,因此,需要依据不同的情况进行逐个字符的匹配,才能够确定目标车牌结构模型。参考图5,图5为本发明实施例的车牌识别方法的又一种流程示意图,包括如下步骤:

步骤501,对待识别图像进行车牌识别,得到车牌信息的识别结果。

本步骤的详细过程和技术效果可以参考图1所示的车牌识别方法中的步骤101,在此不再赘述。

步骤502,针对各预设车牌结构模型,按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与第一字符的宽度的第一重叠宽度、以及矩形框的宽度与第二字符的宽度的第二重叠宽度。

预设车牌结构模型包括预设的矩形框的宽度。第一字符为识别结果中处于与预设车牌结构模型中矩形框同一排列位置的字符,例如,预设车牌结构模型中位于第一位的矩形框,所对应的第一字符即为识别结果中位于第一位的字符,预设车牌结构模型中位于第二位的矩形框,所对应的第一字符即为识别结果中位于第二位的字符,以此类推,每个矩形框对应有一个第一字符。第二字符为识别结果中处于与预设车牌结构模型中矩形框同排列位置处右移一位字符,例如,预设车牌结构模型中位于第一位的矩形框,所对应的第二字符即为识别结果中位于第二位的字符,预设车牌结构模型中位于第二位的矩形框,所对应的第二字符即为识别结果中位于第三位的字符,以此类推,除了位于最后一位的矩形框,其他每个矩形框对应有一个第二字符。

一种实现方式中,车牌结构模型中各预设的矩形框的宽度可以相同,具体可以根据实际车牌中字符的宽度,计算出字符宽度的平均值,并将该平均值作为车牌结构模型中预设的矩形框的宽度。

需要说明的是,由于字母i和数字1的宽度明显小于其他字符,为了避免影响字符宽度的平均值的适用性,可以在剔除车牌中的字母i和数字1之后,再根据车牌中字符的宽度计算出字符宽度的平均值。

在本步骤中,将预设的车牌模型中的各预设的矩形框的宽度,逐一与车牌信息的识别结果中第一字符的宽度进行比较,计算第一重叠宽度,以根据第一重叠宽度进一步确定识别结果对应的目标车牌结构模型。

具体的,可以参考图6,图6为本发明实施例中预设车牌结构模型与识别结果进行匹配的一种示意图。在图6中,将预设车牌结构模型中各预设的矩形框的宽度,与识别结果(dd12345)中第一字符的宽度,分别逐一进行比较,最终每个矩形框均对应一个第一重叠宽度。

需要说明的是,车牌结构模型还包括矩形框间的中心距。这样,以车牌结构模型中的首位矩形框,以及识别结果中的首位字符对齐,将车牌结构模型“平移覆盖”到识别结果上,使识别结果中的各字符与车牌结构模型中的各矩形框“重叠”,得到第一重叠宽度。

在本步骤中,将预设的车牌模型中各矩形框的宽度,逐一与车牌信息的识别结果中第二字符的宽度进行比较,计算第二重叠宽度,以根据第二重叠宽度进一步确定识别结果对应的目标车牌结构模型。

具体的,可以参考图7,图7为本发明实施例中预设车牌结构模型与识别结果进行匹配的又一种示意图。在图7中,第一排为预设车牌结构模型,第二排为有误的识别结果(xdd12345),第三排为正确的识别结果(dd12345)。具体的,将预设车牌结构模型中预设的各矩形框的宽度,与有误的识别结果中第二字符的宽度逐一进行比较,使得各矩形框均对应一个第二重叠宽度。

需要说明的是,以车牌结构模型中的首位矩形框,以及识别结果中的第二位字符对齐,将车牌结构模型“平移覆盖”到识别结果上,使识别结果中的除首字符外的各字符与车牌结构模型中的各矩形框“重叠”,得到各第二字符与矩形框的第二重叠宽度。

步骤503,根据第一重叠宽度以及第一字符的预设置信度,计算第一字符对应的第一匹配值;根据第二重叠宽度以及第二字符的预设置信度,计算第二字符对应的第二匹配值。

在本步骤中,将步骤502计算得到的第一重叠宽度,与该矩形框的宽度之比,乘以该字符的预设置信度,可以计算该字符对应的匹配值,以根据该匹配值进一步确定识别结果对应的目标车牌结构模型;其中,识别结果中各字符的预设置信度是已知的,具体可以参考相关技术,在此不再赘述。

具体的,匹配值的计算公式如公式(1)所示。

在公式(1)中,crd为一个字符对应的匹配值;match_len为字符重叠宽度,为该字符与预设的车牌模型中对应矩形框的宽度匹配结果,其中,char_crd为该字符的预设置信度;char_w为预设的车牌模型对应字符矩形框的宽度。

比如,位于车牌结构模型首位的矩形框的宽度为1厘米,位于识别结果首位的字符与该矩形框匹配,且字符宽度为0.8厘米,同时,该矩形框在空间上完全包括该首位的字符,那么,字符重叠宽度为0.8厘米,该首位的字符对应的宽度匹配结果为0.8/1=0.8。

在本步骤中,将步骤502计算得到的第二重叠宽度,与该矩形框的宽度之比,乘以该字符的预设置信度,可以计算该字符对应的匹配值,以根据该匹配值进一步确定识别结果对应的目标车牌结构模型。

步骤504,将识别结果中所有字符对应的第一匹配值相加,计算识别结果与该预设车牌结构模型的第一匹配总值;将识别结果中所有字符对应的第二匹配值相加,计算识别结果与该预设车牌结构模型的第二匹配总值。

在本步骤中,将识别结果中所有字符对应的匹配值相加,得到识别结果与车牌结构模型的匹配总值,同一个识别结果与同一车牌结构模型对应的匹配总值不止一个。

步骤505,针对各预设车牌结构模型,按照该预设车牌结构模型中每一行内除首位矩形框以外的矩形框从首到尾的排列顺序,计算矩形框的宽度与第三字符的宽度的第三重叠宽度。

第三字符为识别结果中处于与预设车牌结构模型中矩形框同排列位置处左移一位的字符,例如,预设车牌结构模型中位于第二位的矩形框,所对应的第三字符即为识别结果中位于第一位的字符,预设车牌结构模型中位于第三位的矩形框,所对应的第三字符即为识别结果中位于第二位的字符,以此类推,除了位于第一位的矩形框,其他每个矩形框对应有一个第三字符。

在本步骤中,将预设的车牌模型中的除首位矩形框以外的各矩形框的宽度,逐一与车牌信息的识别结果中第三字符的宽度进行比较,计算第三重叠宽度,以根据第三重叠宽度进一步确定识别结果对应的目标车牌结构模型。

具体的,可以参考图8,图8为本发明实施例中预设车牌结构模型与识别结果进行匹配的另一种示意图。在图8中,第一排为预设车牌结构模型,第二排为有误的识别结果(d12345),第三排为正确的识别结果(dd12345)。具体的,将预设车牌结构模型中除首位矩形框以外的各矩形框的宽度,与有误的识别结果中第三字符的宽度,逐一进行比较,最终除首位矩形框以外的各矩形框均对应一个第三重叠宽度。

需要说明的是,以车牌结构模型中的第二位矩形框,以及识别结果中的首位字符对齐,将车牌结构模型“平移覆盖”到识别结果上,使识别结果中的各字符与车牌结构模型中的除首位矩形框外的各矩形框“重叠”,得到各第三字符与矩形框的第三重叠宽度。

步骤506,根据第三重叠宽度以及第三字符的预设置信度,计算第三字符对应的第三匹配值。

在本步骤中,将步骤505计算得到的第三重叠宽度,与该矩形框的宽度之比,乘以该字符的预设置信度,可以计算该字符对应的匹配值,以根据该匹配值进一步确定识别结果对应的目标车牌结构模型。

步骤507,将识别结果中所有字符对应的第三匹配值相加,计算识别结果与该预设车牌结构模型的第三匹配总值。

在本步骤中,将识别结果中所有字符对应的匹配值相加,得到识别结果与车牌结构模型的匹配总值。

需要说明的是,步骤502至步骤504,步骤505至步骤507的执行顺序可以根据实际情况来设置,当然,步骤502至步骤504,步骤505至步骤507也可以同时执行。

步骤508,确定各预设车牌结构模型的第一匹配总值、第二匹配总值以及第三匹配总值中,所有值的最大值。

步骤509,将最大值对应的预设车牌结构模型,确定为识别结果匹配的目标车牌结构模型。若目标车牌结构模型为第一匹配总值对应的预设车牌结构模型,执行步骤510;若目标车牌结构模型为第二匹配总值或第三匹配总值对应的预设车牌结构模型,确定识别结果中的字符数与目标车牌结构模型的字符数不一致,若目标车牌结构模型为第二匹配总值对应的预设车牌结构模型,则执行步骤513;若目标车牌结构模型为第三匹配总值对应的预设车牌结构模型,则执行步骤514。

在本步骤中,将计算出的各预设车牌结构模型的第一匹配总值、第二匹配总值以及第三匹配总值所组成的所有值中的最大值对应的预设车牌结构模型,确定为该识别结果最为匹配的目标车牌结构模型;并且,根据最大值的类型,来确定识别结果中的首位或者尾位是否存在多余字符或缺少字符。具体的,如果最大值为第一匹配总值,则识别结果中的尾位字符之后可能存在缺少字符或者尾位字符为多余字符;如果最大值为第二匹配总值,则识别结果中的首位字符为多余字符;如果最大值为第三匹配总值,则识别结果中的首位字符之前缺少字符。

比如,一个识别结果与三个预设车牌结构模型进行匹配,该识别结果与第一个预设车牌结构模型对应的第一、第二和第三匹配总值分别为4、5和3,与第二个预设车牌结构模型对应的第一、第二和第三匹配总值分别为3、5和6,与第三个预设车牌结构模型对应的第一、第二和第三匹配总值分别为18、16和17,那么,所有的匹配总值中,第一匹配总值18对应的第三个预设车牌结构模型为该识别结果匹配的目标车牌结构模型。

在具体实施过程中,车牌结构模型中的矩形框间的中心距包括同一段字符串中相邻两个矩形框之间的第一中心距,以及两段字符串之间相邻两个矩形框的第二中心距,如图9所示,图9为本发明实施例中单层车牌矩形框的中心距的示意图,在图9中,char_dis为第一中心距,seg_dis为第二中心距,第二中心距也即字符段间距。可以理解的,不同的车牌类型中包括的第二中心距的个数不同,比如,2-3-2型车牌中包括2个第二中心距,2-5型车牌中包括1个第二中心距。再例如图10所示,图10为本发明实施例中双层车牌矩形框的中心距的示意图,在图10中,char_dis为底层的第一中心距,seg_dis为底层第二中心距,hori_seg_dis为顶层左侧边缘距底层左侧边缘的距离,vert_seg_dis为顶层下边缘与底层上边缘的距离。

一种实现方式中,还可以设置矩形框的宽度,矩形框间的第一中心距与矩形框的宽度的比例范围,以及矩形框间的第二中心距与矩形框的宽度的比例范围,这样,可以根据矩形框的宽度,计算出矩形框间的第一中心距和第二中心距。

由于不同国家的车牌,虽然结构模型相同,例如均为2-5型车牌,但是第二中心距有差异,为了减少存储的预设车牌结构模型的个数,例如只存储一个2-5型车牌结构模型,这样可以通过调整不同的第二中心距达到多模型匹配的效果。具体的,以图2所示的2-5型车牌为例,可以预先设置第二中心距的数值范围,在执行步骤502、步骤505之前,逐步调整第二中心距的取值,每次调整,步骤503、步骤506均可以生成第一匹配值、第二匹配值和第三匹配值,对应的,步骤504、步骤507也可以生成新的第一匹配总值、第二匹配总值和第三匹配总值,这样,步骤508、步骤509就需要从多个第一匹配总值、多个第二匹配总值和多个第三匹配总值中确定最大值,并将最大值对应的车牌结构模型确定为识别结果匹配的目标车牌结构模型。对于其他包括多个第二中心距的车牌类型,可以根据实际需求,依次或者同时调整多个第二中心距的取值。

比如,预设第二中心距的数值范围为20~30个像素,设置第二中心距的初始值为20个像素,此时,通过执行步骤502至步骤507可以计算得到一个第一匹配总值,一个第二匹配总值和一个第三匹配总值;接下来,将第二中心距调整为21个像素,此时,通过执行步骤502至步骤507又可以计算得到一个第一匹配总值,一个第二匹配总值和一个第三匹配总值;同理,再将第二中心距调整为22个像素、23个像素、24个像素、25个像素、26个像素、27个像素、28个像素、29个像素和30个像素的情况下,分别执行步骤502至步骤507。这样,总共可以得到十一个第一匹配总值,十一个第二匹配总值和十一个第三匹配总值。最后,可以从上述十一个第一匹配总值,十一个第二匹配总值和十一个第三匹配总值中取最大值,并将最大值对应的车牌结构模型确定为识别结果匹配的目标车牌结构模型。

需要说明的是,步骤502至步骤509可以是在筛选出字符分布行数与识别结果中的字符分布函数相同的预设车牌结构模型之后,从中再通过匹配确定目标车牌结构模型,这样可以减少匹配的工作量,提高匹配效率。

步骤510,通过比较目标车牌结构模型中预设的矩形框的数量与识别结果中的字符的数量,确定识别结果中的字符数是否与目标车牌结构模型的字符数一致;若目标车牌结构模型中预设的矩形框的数量大于识别结果中的字符的数量,则执行步骤511;若目标车牌结构模型中预设的矩形框的数量小于识别结果中的字符的数量,则执行步骤512。

在本步骤中,若目标车牌结构模型为第一匹配总值对应的预设车牌结构模型,可以通过比较目标车牌结构模型中预设的矩形框的数量与识别结果中的字符的数量来进一步判断识别结果中的尾位字符之后是否存在缺少字符或者尾位字符是否为多余字符;如果目标车牌结构模型中预设的矩形框的数量与识别结果中的字符的数量不一致,则识别结果中的尾位字符之后存在缺少字符或者尾位字符为多余字符。

步骤511,确定识别结果中缺少字符。

在本步骤中,当最大值为第一匹配总值且目标车牌结构模型中预设的矩形框的数量大于识别结果中的字符的数量时,可以确定识别结果中缺少字符,例如,在尾位字符之后缺少字符或者在中间的位置缺少字符。具体根据各匹配值,确定是哪个位置缺少了字符。这样,就可以在识别结果的对应位置处补充缺少的字符,提高识别结果的准确性。

步骤512,确定识别结果中存在多余字符。

在本步骤中,当最大值为第一匹配总值且目标车牌结构模型中预设的矩形框的数量小于识别结果中的字符的数量时,可以确定识别结果中存在多余字符,例如在尾位处多了若干个字符。这样,就可以去除识别结果中对应位置处的字符,提高识别结果的准确性。

步骤513,确定识别结果中的首位字符为多余字符。

在本步骤中,当最大值为第二匹配总值时,可以确定识别结果的首位字符为多余字符,这样,就可以去除识别结果的首位字符,提高识别结果的准确性。

步骤514,确定识别结果中的首位字符之前缺少字符。

在本步骤中,当最大值为第三匹配总值时,可以确定识别结果中的首位字符之前缺少字符,这样,就可以在首位字符之前补充缺少的字符,提高识别结果的准备性。

在具体实施过程中,当由步骤509至步骤514确定识别结果中的字符数与目标车牌结构模型的字符数不一致,且已经确定识别结果中缺少或者存在多余字符的具体位置时,可以执行如下步骤:

若识别结果中缺少字符,则添加所缺少的字符;若识别结果中存在多余字符,则去除多余字符。

具体的,当识别结果中的字符数与目标车牌结构模型的字符数不一致时,需要对识别结果进行调整,去除多余字符或添加缺少字符。

在一种实现方式中,上述步骤具体可以包括如下:

若识别结果的尾位字符之后缺少字符,则从识别结果尾位字符之后的位置处识别字符,并将识别出的字符添加到识别结果中;

若识别结果中的首位字符之前缺少字符,则从首位字符之前的位置处识别字符,并将识别出的字符添加到识别结果中;

若识别结果的尾位字符为多余字符,则去除尾位字符;

若识别结果中的首位字符为多余字符,则去除首位字符。

具体的,当识别结果的尾位字符之后缺少字符时,可以从尾位字符之后的位置处开始识别字符,并将识别出的字符添加到识别结果中的尾位字符之后;当识别结果中的尾位字符为多余字符时,可以去除尾位字符,实现对识别结果的进一步调整,提高识别结果的准确性。当识别结果的首位字符之前缺少字符时,可以从首位字符之前的位置处识别字符,并将识别出的字符添加到识别结果中的首位字符之前;当识别结果中的首位字符为多余字符时,可以去除首位字符,实现对识别结果的进一步调整,提高识别结果的准确性。当然,如果识别结果的中间位置缺少字符或者多字符时,可以通过添加或者去除的处理进行调整。

在进行识别结果和预设车牌结构模型的匹配调整时,为了提高匹配的效率,简化匹配流程,可以先对识别结果和预设车牌结构模型对应位进行重叠匹配,如果满足了匹配条件,则可以直接确定目标车牌结构模型,如果不满足匹配条件,再进行左移一位或者右移一位的重叠匹配。参考图11,图11为本发明实施例的车牌识别方法的再一种流程示意图,包括如下步骤:

步骤1101,对待识别图像进行车牌识别,得到车牌信息的识别结果。

步骤1102,针对各预设车牌结构模型,按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与第一字符的宽度的第一重叠宽度。

步骤1103,根据第一重叠宽度以及第一字符的预设置信度,计算第一字符对应的第一匹配值。

步骤1104,将识别结果中所有字符对应的第一匹配值相加,计算识别结果与该预设车牌结构模型的第一匹配总值。

步骤1105,判断各预设车牌结构模型中最大的第一匹配总值是否大于第一预设阈值,若是则执行步骤1106,否则执行步骤1107。

在得到第一匹配总值后,如果第一匹配总值足够大,则说明对应的预设车牌结构模型为目标车牌结构模型的可能很大,因此可以直接将该预设车牌结构模型确定为目标车牌结构模型,否则说明对应的预设车牌结构模型为目标车牌结构模型的可能性较小,则需要计算第二匹配总值。

例如,上述的预设车牌结构模型包括:单层2-5型结构的车牌、单层2-3-2型结构的车牌、双层2-3-2型结构的车牌,通过对与各预设车牌结构模型的第一匹配总值的计算,得到单层2-3-2型结构的车牌的第一匹配总值最大,且大于第一预设阈值,则确定单层2-3-2型结构的车牌为目标车牌结构模型。如果单层2-3-2型结构的车牌的第一匹配总值最大,但是单层2-3-2型结构的车牌的第一匹配总值小于第一预设阈值,则进行第二匹配总值或者第三匹配总值的计算。

步骤1106,确定各预设车牌结构模型中第一匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型。

步骤1107,按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与第二字符的宽度的第二重叠宽度。

步骤1108,根据第二重叠宽度以及第二字符的预设置信度,计算第二字符对应的第二匹配值。

步骤1109,将识别结果中所有字符对应的第二匹配值相加,计算识别结果与该预设车牌结构模型的第二匹配总值。

步骤1110,判断各预设车牌结构模型中最大的第二匹配总值是否大于第二预设阈值,若是则执行步骤1111,否则执行步骤1112。

在得到第二匹配总值后,如果第二匹配总值足够大,则说明对应的预设车牌结构模型为目标车牌结构模型的可能很大,因此可以直接将该预设车牌结构模型确定为目标车牌结构模型,否则说明对应的预设车牌结构模型为目标车牌结构模型的可能性较小,则需要计算第三匹配总值。

例如,上述的预设车牌结构模型包括:单层2-5型结构的车牌、单层2-3-2型结构的车牌、双层2-3-2型结构的车牌,通过对与各预设车牌结构模型的第二匹配总值的计算,得到单层2-5型结构的车牌的第二匹配总值最大,且大于第二预设阈值,则确定单层2-5型结构的车牌为目标车牌结构模型。如果单层2-5型结构的车牌的第二匹配总值最大,但是单层2-5型结构的车牌的第二匹配总值小于第二预设阈值,则进行第三匹配总值的计算。

步骤1111,确定各预设车牌结构模型中第二匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型。

步骤1112,按照该预设车牌结构模型中每一行内除首位矩形框以外的矩形框从首到尾的排列顺序,计算矩形框的宽度与第三字符的宽度的第三重叠宽度。

步骤1113,根据第三重叠宽度以及第三字符的预设置信度,计算第三字符对应的第三匹配值。

步骤1114,将识别结果中所有字符对应的第三匹配值相加,计算识别结果与该预设车牌结构模型的第三匹配总值。

步骤1115,判断各预设车牌结构模型中最大的第三匹配总值是否大于第三预设阈值,若是,则确定各预设车牌结构模型中第三匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型。

在得到第三匹配总值后,如果第三匹配总值足够大,则说明对应的预设车牌结构模型为目标车牌结构模型的可能很大,因此可以直接将该预设车牌结构模型确定为目标车牌结构模型,否则说明对应的预设车牌结构模型为目标车牌结构模型的可能性较小,则说明目前的预设车牌结构模型中没有适合作为目标车牌结构模型的模型,需要更新预设车牌结构模型,重新进行匹配。

例如,上述的预设车牌结构模型包括:单层2-5型结构的车牌、单层2-3-2型结构的车牌、双层2-3-2型结构的车牌,通过对与各预设车牌结构模型的第三匹配总值的计算,得到双层2-3-2型结构的车牌的第三匹配总值最大,且大于第三预设阈值,则确定双层2-3-2型结构的车牌为目标车牌结构模型。如果双层2-3-2型结构的车牌的第三匹配总值最大,但是双层2-3-2型结构的车牌的第三匹配总值小于第三预设阈值,则需要更新预设车牌结构模型,重新进行匹配。

其中,第一预设阈值、第二预设阈值及第三预设阈值的设置可以相同,也可以不同,并且,第一预设阈值、第二预设阈值及第三预设阈值可以基于缺字符、多字符等事件发生的几率,以及对不同事件发生的容忍度相关。

当然,以上只给出了如果第一匹配总值中的最大值不满足大于第一预设阈值,则先进行第二匹配总值的计算、再进行第三匹配总值的计算的过程;在实际应用实例中,还可以是如果第一匹配总值中的最大值不满足大于第一预设阈值,则先进行第三匹配总值的计算、再进行第二匹配总值的计算。这里不做具体限定。

若目标车牌结构模型为第一匹配总值对应的预设车牌结构模型,执行步骤1116;若目标车牌结构模型为第二匹配总值或第三匹配总值对应的预设车牌结构模型,确定识别结果中的字符数与目标车牌结构模型的字符数不一致,若目标车牌结构模型为第二匹配总值对应的预设车牌结构模型,则执行步骤1119;若目标车牌结构模型为第三匹配总值对应的预设车牌结构模型,则执行步骤1120。

步骤1116,通过比较目标车牌结构模型中预设的矩形框的数量与识别结果中的字符的数量,确定识别结果中的字符数是否与目标车牌结构模型的字符数一致;若目标车牌结构模型中预设的矩形框的数量大于识别结果中的字符的数量,则执行步骤1117;若目标车牌结构模型中预设的矩形框的数量小于识别结果中的字符的数量,则执行步骤1118。

步骤1117,确定识别结果中缺少字符。

步骤1118,确定识别结果中存在多余字符。

步骤1119,确定识别结果中的首位字符为多余字符。

步骤1120,确定识别结果中的首位字符之前缺少字符。

其他步骤与图5所示实施例相同或相似,这里不再一一赘述。

上述图11所示实施例中,还可以是针对某一个预设车牌模型进行步骤1101至步骤1120的流程,例如针对单层2-5型结构的车牌,先计算第一匹配总值,如果满足第一匹配总值大于第一预设阈值的条件,则确定单层2-5型结构的车牌为目标车牌结构模型;如果不满足第一匹配总值大于第一预设阈值的条件,则针对单层2-5型结构的车牌,计算第二匹配总值或第三匹配总值,进一步判断该单层2-5型结构的车牌是否可以作为目标车牌结构模型,如果单层2-5型结构的车牌不可以作为目标车牌结构模型,则再针对单层2-3-2型结构的车牌、双层2-3-2型结构的车牌等预设车牌结构模型,进行上述匹配调整过程,直至确定出目标车牌结构模型。

由于相同结构的车牌中,还存在大量的车牌模型,这些模型虽然具有相同的结构,例如均为单层2-5型结构的车牌,但是各模型中的字符宽度不同和/或第一中心距不同和/或第二中心距不同,则构成了结构相同的不同车牌模型,这些模型的匹配调整过程也同样适用于上述图5和图11所示的实施例。这里不再详述。

本发明实施例还提供了一种车牌识别装置,参考图12,图12为本发明实施例的车牌识别装置的结构示意图,如图12所示,车牌识别装置包括:

识别模块1201,用于对待识别图像进行车牌识别,得到车牌信息的识别结果;

匹配模块1202,用于将识别结果中各字符的位置信息,与预设车牌结构模型中各预设的矩形框的位置信息进行匹配,确定识别结果对应的目标车牌结构模型;

第一判断模块1203,用于根据识别结果与目标车牌结构模型的匹配结果,判断识别结果中的字符数是否与目标车牌结构模型的字符数一致;

确定模块1204,用于若第一判断模块1203的判断结果为识别结果中的字符数与目标车牌结构模型的字符数不一致,则确定识别结果中缺少字符或存在多余字符。

可选的,匹配模块1202,具体可以用于:

将识别结果中各字符的位置信息,与第一预设车牌结构模型中各预设的矩形框的位置信息进行匹配,第一预设车牌结构模型为待匹配的预设车牌结构模型中匹配优先级最高的预设车牌结构模型;

若匹配成功,则确定第一预设车牌结构模型为识别结果对应的目标车牌结构模型;

若匹配不成功,则从待匹配的预设车牌结构模型中剔除匹配优先级最高的预设车牌结构模型,并返回执行将识别结果中各字符的位置信息,与第一预设车牌结构模型中各预设的矩形框的位置信息进行匹配。

可选的,车牌识别装置还可以包括:

筛选模块,用于根据识别结果中的字符分布行数,筛选字符分布行数与识别结果中的字符分布行数相同的预设车牌结构模型。

可选的,预设车牌结构模型包括预设的矩形框的宽度;

匹配模块1202,具体还可以用于:

针对各预设车牌结构模型,按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与识别结果中指定位字符的宽度之间的重叠宽度;

根据重叠宽度以及指定位字符的预设置信度,计算指定位字符对应的匹配值;

将识别结果中所有字符对应的匹配值相加,计算识别结果与该预设车牌结构模型的匹配总值;

确定各预设车牌结构模型中匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型。

可选的,指定位字符包括:识别结果中处于与预设车牌结构模型中矩形框同一排列位置的第一字符、识别结果中处于与预设车牌结构模型中矩形框同排列位置处右移一位的第二字符、以及识别结果中处于与预设车牌结构模型中矩形框同排列位置处左移一位的第三字符;

匹配模块1202,具体还可以用于:

按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与第一字符的宽度的第一重叠宽度、以及矩形框的宽度与第二字符的宽度的第二重叠宽度;

按照该预设车牌结构模型中每一行内除首位矩形框以外的矩形框从首到尾的排列顺序,计算矩形框的宽度与第三字符的宽度的第三重叠宽度;

根据第一重叠宽度以及第一字符的预设置信度,计算第一字符对应的第一匹配值;

根据第二重叠宽度以及第二字符的预设置信度,计算第二字符对应的第二匹配值;

根据第三重叠宽度以及第三字符的预设置信度,计算第三字符对应的第三匹配值;

将识别结果中所有字符对应的第一匹配值相加,计算识别结果与该预设车牌结构模型的第一匹配总值;

将识别结果中所有字符对应的第二匹配值相加,计算识别结果与该预设车牌结构模型的第二匹配总值;

将识别结果中所有字符对应的第三匹配值相加,计算识别结果与该预设车牌结构模型的第三匹配总值;

确定各预设车牌结构模型的第一匹配总值、第二匹配总值以及第三匹配总值中,所有值的最大值;

将最大值对应的预设车牌结构模型,确定为识别结果匹配的目标车牌结构模型。

可选的,指定位字符包括:识别结果中处于与预设车牌结构模型中矩形框同一排列位置的第一字符、识别结果中处于与预设车牌结构模型中矩形框同排列位置处右移一位的第二字符、以及识别结果中处于与预设车牌结构模型中矩形框同排列位置处左移一位的第三字符;

匹配模块1202,具体还可以用于:

按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与第一字符的宽度的第一重叠宽度;

根据第一重叠宽度以及第一字符的预设置信度,计算第一字符对应的第一匹配值;

将识别结果中所有字符对应的第一匹配值相加,计算识别结果与该预设车牌结构模型的第一匹配总值;

判断各预设车牌结构模型中最大的第一匹配总值是否大于第一预设阈值;

若是,则确定各预设车牌结构模型中第一匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型;

若否,则执行:

按照该预设车牌结构模型中每一行内矩形框从首至尾的排列顺序,计算矩形框的宽度与第二字符的宽度的第二重叠宽度;

根据第二重叠宽度以及第二字符的预设置信度,计算第二字符对应的第二匹配值;

将识别结果中所有字符对应的第二匹配值相加,计算识别结果与该预设车牌结构模型的第二匹配总值;

判断各预设车牌结构模型中最大的第二匹配总值是否大于第二预设阈值;

若是,则确定各预设车牌结构模型中第二匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型;

若否,则执行:

按照该预设车牌结构模型中每一行内除首位矩形框以外的矩形框从首到尾的排列顺序,计算矩形框的宽度与第三字符的宽度的第三重叠宽度;

根据第三重叠宽度以及第三字符的预设置信度,计算第三字符对应的第三匹配值;

将识别结果中所有字符对应的第三匹配值相加,计算识别结果与该预设车牌结构模型的第三匹配总值;

判断各预设车牌结构模型中最大的第三匹配总值是否大于第三预设阈值;

若是,则确定各预设车牌结构模型中第三匹配总值最大的预设车牌结构模型为识别结果匹配的目标车牌结构模型。

可选的,第一判断模块1203,具体可以用于:

若目标车牌结构模型为第一匹配总值对应的预设车牌结构模型,则通过比较目标车牌结构模型中预设的矩形框的数量与识别结果中的字符的数量,确定识别结果中的字符数是否与目标车牌结构模型的字符数一致;

若目标车牌结构模型为第二匹配总值或第三匹配总值对应的预设车牌结构模型,则确定识别结果中的字符数与目标车牌结构模型的字符数不一致。

可选的,确定模块1204,具体可以用于:

若目标车牌结构模型为第一匹配总值对应的预设车牌结构模型且目标车牌结构模型中预设的矩形框的数量大于识别结果中的字符的数量,则确定识别结果中缺少字符;

若目标车牌结构模型为第一匹配总值对应的预设车牌结构模型且目标车牌结构模型中预设的矩形框的数量小于识别结果中的字符的数量,则确定识别结果中存在多余字符;

若目标车牌结构模型为第二匹配总值对应的预设车牌结构模型,则确定识别结果中的首位字符为多余字符;

若目标车牌结构模型为第三匹配总值对应的预设车牌结构模型,则确定识别结果中的首位字符之前缺少字符。

可选的,车牌识别装置还可以包括:

添加模块,用于若识别结果中缺少字符,则添加所缺少的字符;

去除模块,用于若识别结果中存在多余字符,则去除多余字符。

可选的,添加模块,具体可以用于:

若识别结果的尾位字符之后缺少字符,则从识别结果尾位字符之后的位置处识别字符,并将识别出的字符添加到识别结果中;

若识别结果中的首位字符之前缺少字符,则从首位字符之前的位置处识别字符,并将识别出的字符添加到识别结果中;

去除模块,具体可以用于:

若识别结果的尾位字符为多余字符,则去除尾位字符;

若识别结果中的首位字符为多余字符,则去除首位字符。

可选的,车牌识别装置还可以包括:

第二判断模块,用于根据目标车牌结构模型的字母分布规则和数字分布规则,判断识别结果是否有误;

修改模块,用于若第二判断模块的判断结果为是,则按照预设的修改规则,对识别结果进行修改。

可选的,第二判断模块,具体可以用于:

根据目标车牌结构模型中预设字母所在矩形框的排列位置,判断识别结果中处于与预设字母所在矩形框同一排列位置的字符是否为数字;

若为是,则根据预设的字符相似度表,将识别结果中处于与预设字母所在矩形框同一排列位置的字符修改为数字对应的大写字母;

根据目标车牌结构模型中预设数字所在矩形框的排列位置,判断识别结果中处于与预设数字所在矩形框同一排列位置的字符是否为大写字母;

若为是,则根据预设的字符相似度表,将识别结果中处于与预设数字所在矩形框同一排列位置的字符修改为大写字母对应的数字。

可见,本发明实施例提供的车牌识别装置,首先,根据车牌信息的识别结果匹配对应的目标车牌结构模型,进而通过比较识别结果中的字符数是否与目标车牌结构模型的字符数一致来判断识别结果中是否存在丢字符或多字符的问题,若识别结果中的字符数与目标车牌结构模型的字符数不一致,则说明识别结果中存在丢字符或多字符的问题,这样,就可以进一步对识别结果进行调整,使识别结果更加准确可靠。

本发明实施例还提供了一种电子设备,参考图13,图13为本发明实施例的电子设备的结构示意图。如图13所示,包括处理器1301和存储器1302,其中,

存储器1302,用于存放计算机程序;

处理器1301,用于执行存储器1302上所存放的程序时,实现本发明实施例所提供的车牌识别方法的所有步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

另外,相应于上述实施例所提供的车牌识别方法,本发明实施例提供了一种计算机可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现本发明实施例提供的车牌识别方法的所有步骤。

对于电子设备以及计算机可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1