本申请涉及计算机领域,特别是涉及一种车架号的角点定位方法、装置、计算机设备及存储介质。
背景技术:
随着社会经济的不断发展和人民生活水平的不断提高,城市机动车保有量迅猛增长。其中,车辆车架号作为车辆的识别号码,无论是办理车牌、行驶证、保险以及机动车年检审核,都必须要使用车架号信息。例如,在车辆检测检测项目实施过程中,检测车架号的尺寸是一项重要工作。
传统技术中,采用手动测量方式获取车辆车架号的尺寸信息。但是,当年检车辆数较大的情况下,手动测量的方式会导致车辆车架号的测量尺寸的准确率较低。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高车辆车架号测量尺寸的准确率的车架号的角点定位方法、装置、计算机设备及可读存储介质。
对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像;
根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集;
根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像;
对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
在其中一个实施例中,所述根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像,包括:
从所述第一轮廓点集和所述第二轮廓点集中,选取上排车架号轮廓点集和下排车架号轮廓点集;
在预设图像中,对所述上排车架号轮廓点集和所述下排车架号轮廓点集进行轮廓填充,得到上排车架号字符图像和下排车架号字符图像;其中,所述预设图像表征背景为黑色的图像。
在其中一个实施例中,所述从所述第一轮廓点集和所述第二轮廓点集中,选取上排车架号轮廓点集和下排车架号轮廓点集,包括:
计算所述第一轮廓点集和所述第二轮廓点集的平均纵坐标,得到第一平均纵坐标和第二平均纵坐标;
若所述第一平均纵坐标大于所述第二平均纵坐标时,则将所述第一平均纵坐标对应的所述第一轮廓点集作为所述上排车架号轮廓点集,以及将所述第二平均纵坐标对应的所述第二轮廓点集作为所述下排车架号轮廓点集。
在其中一个实施例中,所述根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像,包括:
在所述预设图像中,将所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,得到第一车架号标签字符图像和/或第二车架号标签字符图像;
对所述双排车架号字符图像与所述第一车架号标签字符图像和/或所述第二车架号标签字符图像进行按位与运算,得到第一车架号图像和/或第二车架号图像;
根据所述第一轮廓点集、所述第二轮廓点集、所述第一车架号图像和/或所述第二车架号图像,确定所述上排车架号字符图像和/或所述下排车架号字符图像。
在其中一个实施例中,所述根据所述第一轮廓点集、所述第二轮廓点集、所述第一车架号图像和/或所述第二车架号图像,确定所述上排车架号字符图像和/或所述下排车架号字符图像,包括:
若所述第一轮廓点集为上排车架号轮廓点集或下排车架号轮廓点集,则将所述第一车架号图像或所述第二车架号图像,确定为上排车架号字符图像或下排车架号字符图像;和/或
若所述第二轮廓点集为所述上排车架号轮廓点集或所述下排车架号轮廓点集,则将所述第二车架号图像确定为所述上排车架号字符图像或所述下排车架号字符图像。
在其中一个实施例中,所述根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集,包括:
获取所述双排车架号字符图像的若干轮廓点集;
根据各所述轮廓点集包括的点的数量,对各所述轮廓点集进行排序;
按照所述轮廓点集中包含的点的数量由大到小的顺序,确定所述第一轮廓点集和/或所述第二轮廓点集。
在其中一个实施例中,所述对所述上排车架号字符图像和/或下排车架号字符图像进行角点检测,得到所述双排车架号的角点位置信息,包括:
采用直线逼近法对所述上排车架号字符图像进行角点检测,得到所述车辆的双排车架号中上排车架号的角点位置信息;和/或,
采用所述直线逼近法对所述下排车架号字符图像进行角点检测,得到所述车辆的双排车架号中下排车架号的角点位置信息。
本申请实施例提供一种车架号的角点定位装置,所述车架号的角点定位装置包括:
图像分割模块,用于对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像;
轮廓点集确定模块,用于根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集;
轮廓填充模块,用于根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像;
角点检测模块,用于对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
本申请实施例提供一种计算机设备,包括存储器、处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像;
根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集;
根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像;
对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
本申请实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像;
根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集;
根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像;
对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
本实施例提供的车架号的角点定位方法、装置、计算机设备及可读存储介质,该方法可以对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像,根据双排车架号字符图像,确定双排车架号图像中的第一轮廓点集和/或第二轮廓点集,根据第一轮廓点集和/或第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像,对上排车架号字符图像和/或下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息;该方法可以通过这一套智能化技术,能够快速、精确地获取车辆车架号的角点位置信息,从而提高车辆车架号的测量尺寸的准确率。
附图说明
图1为一实施例提供的一种车架号的角点定位方法的应用场景图;
图2为一实施例提供的一种车架号的角点定位方法的流程示意图;
图3为一实施例提供的一种双排车架号图像示意图;
图4为一实施例提供的一种二值化处理后的双排车架号图像示意图;
图5为一实施例提供的一种二值化字符图像示意图;
图6为一实施例提供的从排序结果中选取的两个轮廓点集显示在预设图像中的示意图;
图7为一实施例提供的一种上排车架号图像示意图;
图8为一实施例提供的一种下排车架号图像示意图;
图9为一实施例提供的一种车架号的角点定位方法的具体流程示意图;
图10为一实施例提供的一种上排车架号字符图像采用直线逼近法进行角点检测过程示意图;
图11为一实施例提供的一种车架号的角点定位装置的结构示意图;
图12为一实施例提供的计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的车架号的角点定位方法可以适用于图1所示的车架号的角点定位系统中,且该方法适用于直型车架号的角点定位,直形车架号可以理解为车架号中的字符分布呈长条形,不呈弯曲形的车架号。可选的,上述车架号的角点定位系统包括:车辆、终端以及后台服务器。可选的,车辆可以为任意型号的各种车辆,车辆上安装有车架号,本实施例中的车架号的类型为双排车架号;终端上可以安装能够采集车辆车架号图像的应用程序,通过该应用程序可以采集车辆车架号图像,其中,打开该应用程序后,终端上可以显示一个长条形采集框,将长条形采集框对准车辆车架号区域,点击采集按钮采集车辆车架号图像;然后终端将采集到的车架号图像发送至后台服务器。可选的,终端可以为手机、平板电脑及个人电脑等能够安装采集车辆车架号图像的应用程序的电子设备。可选的,终端与后台服务器之间可以通过无线连接通信;无线连接的方式可以是wi-fi,移动网络或蓝牙连接。在下述实施例中将具体介绍车架号的角点定位的具体过程。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图2为一实施例提供的车架号的角点定位方法的流程示意图。本实施例涉及的是如何对车辆车架号的角点进行定位的过程。如图2所示,该方法包括:
步骤s1000、对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像。
具体的,在执行步骤s1000之前,终端通过车辆车架号图像的应用程序采集车辆的双排车架号图像,并将双排车架号图像发送至后台服务器。可选的,车辆车架号图像的应用程序可以采集不同质量、不同倾斜角度的双排车架号图像,其中,倾斜角度的范围可以为正负5度之间的任意角度。可选的,双排车架号图像可以包含双排车架号对应的所有字符以及这些字符的起止符,其中,双排车架号对应的字符可以包括数字和大写字母,双排车架号的起止符可以为五角星、圆圈等符号。如图3所示为一种双排车架号图像示意图。
需要说明的是,后台服务器可以通过深度学习分割模型,对车辆的双排车架号图像进行图像分割处理,得到车辆的双排车架号所在区域对应的双排车架号字符图像。可选的,双排车架号字符图像可以为包含车辆的双排车架号和一些噪声信息的图像,该图像中可能不包含双排车架号的起止符。可选的,在一种实施例中,双排车架号字符图像可以为一种色度图,如图4为双排车架号字符图像进行二值化处理后得到的图像;其中,图4所示的双排车架号字符图像中各字符的实际颜色如下:字符l显示黄色,字符n显示橙色,字符p显示淡绿色,字符a显示青色,字符x显示柠檬黄色,字符g显示碧绿色,字符b显示深紫色,字符d显示草坪绿色,字符o显示淡紫色,字符6显示玫红色,字符8显示酸橙色,字符5显示浅灰色,字符1显示中暗黄色,字符2显示深灰色。
步骤s2000、根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集。
具体的,后台服务器可以对双排车架号字符图像进行预处理,得到双排车架号字符图像中的所有轮廓块对应的所有轮廓点集,然后从所有轮廓点集中确定第一轮廓点集和/或第二轮廓点集。可以理解的是,后台服务器还可以按照先后顺序,先获取第一轮廓点集,再获取第二轮廓点集,即可以获取第一轮廓点集和/或第二轮廓点集。当然,也可根据实际需要,仅根据所述双排车架号字符图像,确定所述双排车架号图像中的一个轮廓点集,比如仅确定双排车架号图像中的第一轮廓点集,或者,仅确定双排车架号图像中的第二轮廓点集。
可选的,预处理可以包括二值化处理以及轮廓检测处理。可选的,轮廓块可以理解为双排车架号字符包含的点连通的区域,或者噪声信息包含的点连通的区域。可选的,轮廓点集的数量可以大于等于2。可选的,一个轮廓块对应一个轮廓点集。
步骤s3000、根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像。
其中,本实施例中,根据所述第一轮廓点集和所述第二轮廓点集进行轮廓填充的目的是:用于在双排车架号字符图像中隐藏其中的一个轮廓点集,从而可以准确的确定另一个未被隐藏的轮廓点集对应的车架号(上排车架号字符图像或下排车架号字符图像)的角点位置信息。
具体的,本实施例中,后台服务器通过根据第一轮廓点集和第二轮廓点集进行轮廓填充,以使得可以隐藏双排车架号字符图像中的上排车架号或者下排车架号,从而确定上排车架号字符图像和/或下排车架号字符图像。当隐藏的是双排车架号字符图像中的上排车架号时,可以确定下排车架号字符图像的角点位置信息;当隐藏的是双排车架号字符图像中的下排车架号时,可以确定上排车架号字符图像的角点位置信息。
在本实施例中,后台服务器还可以将第一轮廓点集对应的车架号字符图像,确定为上排车架号字符图像或下排车架号字符图像,并将第二轮廓点集对应的车架号字符图像,确定为下排车架号字符图像或上排车架号字符图像。可选的,第一轮廓点集显示在预设图像中,可以得到第一轮廓点集对应的车架号字符图像;将第二轮廓点集显示在预设图像中,可以得到第二轮廓点集对应的车架号字符图像。可选的,预设图像可以为背景为黑色的图像,即像素值为全0的图像。轮廓点集显示在预设图像中的像素值可以为255。
步骤s4000、对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
具体的,后台服务器可以通过图形角点检测法,对上排车架号字符图像和/或下排车架号字符图像进行角点检测处理,得到双排车架号的角点位置信息。可选的,图形角点检测法可以为harris角点检测法、基于灰度图像的角点检测法、基于二值图像的角点检测法等等,只要是能够检测出上排车架号字符图像和/或下排车架号字符图像中所显示字符的四个顶点坐标的角点检测法即可。
需要说明的是,若对上排车架号字符图像和下排车架号字符图像,则对应的双排车架号的角点位置信息可以为上排车架号和下排车架号字符组合后的四个顶点坐标;例如,上排车架号字符为“lnpaxgbdo”和下排车架号字符为“68651662”,两行字符中的第一个字符位于同一列,依次类推,两行字符中后边对应位字符均位于对应列,该情况下,双排车架号中四个顶点可以为字符l的左上角、字符6的左下角、字符o的右上角和字符2的右下角。
此处结合一个例子对步骤s3000和步骤s4000进行进一步说明:后台服务器可以对第一轮廓点集对应的车架号字符图像进行判定,判定结果可以为:将第一轮廓点集对应的车架号字符图像确定为上排车架号字符图像;对应的,将第二轮廓点集对应的车架号字符图像确定为下排车架号字符图像。
继续接上述例子,在本实施例中,在对该双排车架号图像进行角点检测之前,通过将第一轮廓点集对应的上排车架号字符图像进行轮廓填充,使得进行轮廓填充后的上排车架号字符图像为隐藏状态,比如为黑色(如图8所示),这样,即可对下排车架号字符图像进行角点检测。类似的,可以通过将第二轮廓点集对应的下排车架号字符图像进行轮廓填充,使得进行轮廓填充后的下排车架号字符图像为隐藏状态,比如为黑色(如图7所示),这样,即可对上排车架号字符图像进行角点检测,从而可以排除相关技术中,由于上排车架号字符图像和下排车架号字符图像的长度不一致,而导致的角点检测结果不准确的情况,达到提高对车辆车架号定位的准确率的目的。
其中,本领域技术人员可以理解,在相关技术中,由于上排车架号字符图像和下排车架号字符图像的长度往往不一致,因此,在对双排车架号的角点进行检测过程中,存在:上排车架号字符图像的长度大于下排车架号字符图像的长度的情况,或者,上排车架号字符图像的长度小于下排车架号字符图像的长度的情况。当上排车架号字符图像的长度大于下排车架号字符图像的长度超过一定阈值时,通过角点检测的方法,比如以135°倾斜角度的直线逼近法从双排车架号的左下方开始向右上方进行直线逼近时,往往会先检测到上排车架号字符图像的一角点位置,并将该角点位置错判为下排车架号字符图像的角点位置,导致角点检测结果不准确。类似的,当下排车架号字符图像的长度大于下排车架号字符图像的长度超过一定阈值时,通过角点检测的方法,比如以135°倾斜角度的直线逼近法从双排车架号的右上方开始向左下方进行直线逼近时,往往会先检测到下排车架号字符图像的一角点位置,并将该角点位置错判为上排车架号字符图像的角点位置,导致角点检测结果不准确。而本申请提供的技术方案,可以避免上述问题的发生,从而可以提高对车辆车架号定位的准确率。在一个实施例中,可以在根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和第二轮廓点集后,先比较第一轮廓点集和第二轮廓点集的长度之差,若该长度之差大于预设差值,则再执行根据所述第一轮廓点集和所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和下排车架号字符图像;以及,对所述上排车架号字符图像和所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息的步骤。
本实施例提供的车架号的角点定位方法,该方法可以对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像,根据双排车架号字符图像,确定双排车架号图像中的第一轮廓点集和/或第二轮廓点集,根据第一轮廓点集和/或第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像,对上排车架号字符图像和/或下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息;该方法可以通过这一套智能化技术,能够快速、精确地获取车辆车架号的角点位置信息,从而提高车辆车架号的测量尺寸的准确率以及透视矫正的正确性,并提高车辆年检的工作效率,降低人力成本。
作为其中一个实施例,上述步骤s1000中对车辆车架号图像进行图像分割处理,得到车辆车架号所在区域对应的初始字符图像的过程,具体可以包括以下步骤:
上述步骤s1000中对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像的过程,可以包括:
步骤s1100、通过目标语义分割模型,对所述双排车架号图像进行图像分割处理,得到所述双排车架号字符图像;其中,所述目标语义分割模型为对初始语义分割模型进行训练得到的分割模型,所述初始语义分割模型用于从所述双排车架号图像中分割出双排车架号对应的字符图像。
可选的,后台服务器可以通过训练好的目标语义分割模型,对双排车架号图像进行图像分割处理,得到双排车架号字符图像。可选的,目标语义分割模型可以对车辆的双排车架号图像进行图像分割处理,输出双排车架号字符图像。
其中,在执行步骤s1100之前,车架号的角点定位方法还可以包括以下步骤:
步骤s1110、获取预设图像,并通过描绘法对所述预设图像进行描绘处理,得到包含双排车架号的标签图像;其中,所述描绘法用于表征将所述双排车架号中的字符进行描绘的方法。
需要说明的是,后台服务器可以新建一张预设图像,然后通过描绘法在预设图像上描绘双排车架号包含的字符,得到包含双排车架号的标签图像。可选的,预设图像可以为新建的全黑图像,该预设图像的尺寸大小可以等于车辆车架号图像的尺寸大小。可选的,车辆车架号中的字符可以包括字符“0~9”以及“a~z”,不包括字符“1”、“o”和“q”,共计33种字符,双排车架号包含的字符也类似。可选的,33种字符图像可以分别用颜色标签值1~33来表示,其中,颜色标签值0可以显示为黑色图像。例如,数字0的颜色标签值为1,依次类推,字符a的颜色标签值为11,其它字符的颜色标签值按数字和字母的先后顺序对应。可选的,不同颜色标签值对应不同的颜色和不同的字符;例如,颜色标签值为1,显示在预设图像中为红色,并且显示出来的字符为0,颜色标签值为11,显示在预设图像中为黄色,并且显示出来的字符为a,可以理解的是,字符显示在预设图像中后得到标签图像。
在本实施例中,后台服务器可以通过双排车架号包含的不同字符对应的颜色标签值,通过描绘法在预设图像上描绘双排车架号包含的所有字符,得到包含双排车架号的标签图像。可选的,双排车架号的标签图像中上排车架号和下排车架号的首字符位于同一列,车辆双排车架号中的其它对应位字符均位于对应列;双排车架号的标签图像的背景为黑色,双排车架号的标签图像中显示的双排车架号的字符为不同的其它颜色(除去白色)。双排车架号的标签图像中显示的双排车架号的字符大小与采集到的双排车架号图像中显示的双排车架号的字符大小可以相等,也可以不相同,但是,这两种图像中显示的字符大小差异较小,字符大小基本相同。
步骤s1120、通过所述双排车架号图像和所述标签图像,对初始语义分割模型进行训练处理,得到训练后的目标语义分割模型。
可以理解的是,后台服务器可以将双排车架号图像和标签图像作为训练过程中的训练集和测试集,对初始语义分割模型进行训练处理,得到训练后的目标语义分割模型。
本实施例提供的车架号的角点定位方法,该方法可以通过目标语义分割模型,对双排车架号图像进行图像分割处理,得到双排车架号字符图像,进而对双排车架号字符图像进行处理得到上排车架号字符图像和/或下排车架号字符图像,并通过图形角点检测法对上排车架号字符图像和/或下排车架号字符图像进行角点检测处理,以双排车架号的角点位置信息,该方法可以通过这一套智能化技术,能够快速、精确地获取车辆车架号的角点位置信息,从而提高车辆车架号的测量尺寸的准确率以及透视矫正的正确性,并提高车辆年检的工作效率,降低人力成本。
作为其中一个实施例,上述步骤s2000中根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集的过程,具体可以包括:
步骤s2100、获取所述双排车架号字符图像的若干轮廓点集。
具体的,后台服务器可以对双排车架号字符图像进行二值图像处理,得到中间字符图像,然后对中间字符图像进行横向膨胀处理,得到二值化字符图像,之后再对二值化字符图像进行轮廓检测处理,得到若干轮廓点集。可选的,二值化字符图像可以为黑白字符图像。可选的,横向膨胀处理可以表征为将双排车架号字符图像中的字符横向拉宽(字符的高不变)的过程。例如,双排车架号中的两行字符分别可以如图4所示,图4中出了车架号包含的字符外,其它白点为噪声点,获取的二值化字符图像可以如图5所示。
需要说明的是,后台服务器可以采用findcontours函数对二值化字符图像进行轮廓检测处理,得到所有轮廓块对应的每个轮廓点集若干轮廓点集。
步骤s2200、根据各所述轮廓点集包括的点的数量,对各所述轮廓点集进行排序。
具体的,后台服务器可以根据每个轮廓点集包含的点的数量,对每个轮廓点集进行排序。例如,轮廓点集a表示为{(x11,y11),(x21,y21),(x31,y31),(x41,y41)},轮廓点集b表示为{(x12,y12),(x22,y22),(x32,y32)},轮廓点集c表示为{(x14,y14),(x24,y24),(x34,y34),(x44,y44),(x54,y54)},则轮廓点集a中有4个点,轮廓点集b中有3个点,轮廓点集c中有5个点,此时,根据每个轮廓点集包括的点的数量由大到小或者由小到大,对轮廓点集a、轮廓点集b和轮廓点集c进行排序处理。
步骤s2300、按照所述轮廓点集中包含的点的数量由大到小的顺序,确定所述第一轮廓点集和/或所述第二轮廓点集。
具体的,后台服务器可以按照轮廓点集中包含的点的数量由大到小的顺序,将排序结果中前两个轮廓点集分别作为第一轮廓点集和第二轮廓点集;还可以按照轮廓点集中包含的点的数量由小到大的顺序,将排序结果中最后两个轮廓点集分别作为第一轮廓点集和第二轮廓点集。如图6所示为从排序结果中选取的两个轮廓点集显示在预设图像中的示意图。
继续上一示例,按照轮廓点集中包含的点的数量由大到小的顺序,得到的轮廓点集序列依次为轮廓点集c、轮廓点集a和轮廓点集b,并且在轮廓点集序列中,选取前两个轮廓点集分别作为第一轮廓点集和第二轮廓点集。
本实施例提供的车架号的角点定位方法,该方法可以确定双排车架号图像中的第一轮廓点集和/或第二轮廓点集,进而根据第一轮廓点集和/或第二轮廓点集,确定上排车架号字符图像和/或下排车架号字符图像,并通过图形角点检测法对上排车架号字符图像和/或下排车架号字符图像进行角点检测处理,以双排车架号的角点位置信息,该方法可以通过这一套智能化技术,能够快速、精确地获取车辆车架号的角点位置信息,从而提高车辆车架号的测量尺寸的准确率以及透视矫正的正确性,并提高车辆年检的工作效率,降低人力成本。
作为其中一个实施例,上述步骤s3000中根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像的过程,可以通过以下步骤实现:
步骤s3100、从所述第一轮廓点集和所述第二轮廓点集中,选取上排车架号轮廓点集和下排车架号轮廓点集。
可选的,上述步骤s3100中从所述第一轮廓点集和所述第二轮廓点集中,选取上排车架号轮廓点集和下排车架号轮廓点集的过程,具体可以包括以下步骤:计算所述第一轮廓点集和所述第二轮廓点集的平均纵坐标,得到第一平均纵坐标和第二平均纵坐标,若所述第一平均纵坐标大于所述第二平均纵坐标时,则将所述第一平均纵坐标对应的所述第一轮廓点集作为所述上排车架号轮廓点集,以及将所述第二平均纵坐标对应的所述第二轮廓点集作为所述下排车架号轮廓点集。
步骤s3200、在预设图像中,对所述上排车架号轮廓点集和所述下排车架号轮廓点集进行轮廓填充,得到上排车架号字符图像和下排车架号字符图像;其中,所述预设图像表征背景为黑色的图像。
具体的,后台服务器可以采用drawcontours函数,在预设图像中将上排车架号轮廓点集进行轮廓填充,得到上排车架号字符图像,还可以在预设图像中将下排车架号轮廓点集进行轮廓填充,得到下排车架号字符图像。可选的,轮廓填充可以理解为用预设像素值将轮廓点集填充至预设图像中的过程。可选的,预设像素值可以为255,即预设像素值显示在预设图像中为白色图像。其中,预设图像的尺寸大小可以等于双排车架号字符图像的尺寸大小。
本实施例提供的车架号的角点定位方法,该方法可以根据第一轮廓点集和第二轮廓点集,确定上排车架号字符图像和下排车架号字符图像,进而通过图形角点检测法对上排车架号字符图像和下排车架号字符图像进行角点检测处理,以双排车架号的角点位置信息,该方法可以通过这一套智能化技术,能够快速、精确地获取车辆车架号的角点位置信息,从而提高车辆车架号的测量尺寸的准确率以及透视矫正的正确性,并提高车辆年检的工作效率,降低人力成本。
作为其中一个实施例,上述步骤s3000中根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像的过程,具体可以包括:
步骤s3100、在所述预设图像中,将所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,得到第一车架号标签字符图像和/或第二车架号标签字符图像。
具体的,后台服务器可以在预设图像中将第一轮廓点集进行轮廓填充,得到第一车架号标签字符图像,和/或在预设图像中将第二轮廓点集进行轮廓填充,得到第二车架号标签字符图像。其中,第一车架号标签字符图像的尺寸大小、第二车架号标签字符图像的尺寸大小以及双排车架号字符图像的尺寸大小均可以相等。
步骤s3200、对所述双排车架号字符图像与所述第一车架号标签字符图像和/或所述第二车架号标签字符图像进行按位与运算,得到第一车架号图像和/或第二车架号图像。
具体的,后台服务器可以采用bitwise_and函数,对双排车架号字符图像与第一车架号标签字符图像进行按位与运算,得到第一车架号图像;和/或对双排车架号字符图像与第二车架号标签字符图像进行按位与运算,得到第二车架号图像。例如,第一车架号标签字符图像和双排车架号字符图像的尺寸大小均为100*50,则后台服务器可以对第一车架号标签字符图像和双排车架号字符图像中的第一行第一列像素值进行与运算,对这两个图像中的第一行第二列像素值进行与运算,依次类推,还可以对这两个图像中的其它对应位像素值进行与运算。若第一车架号标签字符图像为上排车架号标签字符图像,则可以得到如图7所示的上排车架号图像;若第一车架号标签字符图像为下排车架号标签字符图像,则可以得到如图8所示的下排车架号图像。
步骤s3300、根据所述第一轮廓点集、所述第二轮廓点集、所述第一车架号图像和/或所述第二车架号图像,确定所述上排车架号字符图像和/或所述下排车架号字符图像。
其中,上述步骤s3300中根据所述第一轮廓点集、所述第二轮廓点集、所述第一车架号图像和/或所述第二车架号图像,确定所述上排车架号字符图像和/或所述下排车架号字符图像的过程,具体可以包括以下步骤:
步骤s3310、若所述第一轮廓点集为上排车架号轮廓点集或下排车架号轮廓点集,则将所述第一车架号图像或所述第二车架号图像,确定为所述上排车架号字符图像或所述下排车架号字符图像。和/或
具体的,若第一轮廓点集为上排车架号轮廓点集,则后台服务器可以将第一车架号图像,确定为上排车架号字符图像;若第一轮廓点集为下排车架号轮廓点集,则后台服务器可以将第二车架号图像,确定为下排车架号字符图像。
步骤s3320、若所述第二轮廓点集为所述上排车架号轮廓点集或所述下排车架号轮廓点集,则将所述第二车架号图像确定为所述上排车架号字符图像或所述下排车架号字符图像。
具体的,若第二轮廓点集为下排车架号轮廓点集,则后台服务器可以将第二车架号图像,确定为下排车架号字符图像;若第二轮廓点集为上排车架号轮廓点集,则后台服务器可以将第一车架号图像,确定为上排车架号字符图像。
本实施例提供的车架号的角点定位方法,该方法可以根据第一轮廓点集和/或第二轮廓点集,确定上排车架号字符图像和/或下排车架号字符图像,进而通过图形角点检测法对上排车架号字符图像和/或下排车架号字符图像进行角点检测处理,以双排车架号的角点位置信息,该方法可以通过这一套智能化技术,能够快速、精确地获取车辆车架号的角点位置信息,从而提高车辆车架号的测量尺寸的准确率以及透视矫正的正确性,并提高车辆年检的工作效率,降低人力成本。
作为其中一个实施例,如图9为车架号的角点定位方法的具体流程示意图,在图2的基础上,如图9所示,上述步骤s4000中对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息的过程,具体可以包括:
步骤s4100、采用直线逼近法对所述上排车架号字符图像进行角点检测,得到所述车辆的双排车架号中上排车架号的角点位置信息。和/或
其中,所述直线逼近法采用预设斜率的直线,上排车架号的角点位置信息可以包括上排车架号的左上角点位置信息和右上角点位置信息。
具体的,在对上排车架号的左上角点进行角点检测处理时,预设斜率可以设定为1,初始时刻(即实现角点检测处理的最初时刻)采用直线逼近法所选用的直线,通过上排车架号字符的左上角。可选的,后台服务器可以采用直线逼近法所选用的直线从初始位置向右移动,每次平移上排车架号字符图像中的单位像素大小距离,将第一次与直线相交的上排车架号字符中最左边第一个字符上的点记为上排车架号的左上角点,进而得到上排车架号的左上角点位置信息(即点坐标)。
需要说明的是,在对上排车架号的右上角点进行角点检测处理时,预设斜率可以设定为-1,初始时刻(即实现角点检测处理的最初时刻)采用直线逼近法所选用的直线,通过上排车架号字符的右上角。可选的,后台服务器可以采用直线逼近法所选用的直线从初始位置向左移动,每次平移上排车架号字符图像中的单位像素大小距离,将第一次与直线相交的上排车架号中最右边第一个字符上的点记为上排车架号的右上角点,进而得到上排车架号的右上角点位置信息(即点坐标)。如图10所示为一种上排车架号字符图像采用直线逼近法进行角点检测过程示意图。
步骤s4200、采用所述直线逼近法对所述下排车架号字符图像进行角点检测,得到所述车辆的双排车架号中下排车架号的角点位置信息。
其中,下排车架号的角点位置信息可以包括下排车架号的左下角点位置信息和右下角点位置信息。
具体的,在对下排车架号的左下角点进行角点检测处理时,预设斜率可以设定为-1,初始时刻(即实现角点检测处理的最初时刻)采用直线逼近法所选用的直线,通过下排车架号字符的左下角。可选的,后台服务器可以采用直线逼近法所选用的直线从初始位置向右移动,每次平移下排车架号字符图像中的单位像素大小距离,将第一次与直线相交的下排车架号字符中最左边第一个字符上的点记为下排车架号的左下角点,进而得到下排车架号的左下角点位置信息(即点坐标)。
需要说明的是,在对下排车架号的右下角点进行角点检测处理时,预设斜率可以设定为1,初始时刻(即实现角点检测处理的最初时刻)采用直线逼近法所选用的直线,通过下排车架号字符的右下角。可选的,后台服务器可以采用直线逼近法所选用的直线从初始位置向左移动,每次平移下排车架号字符图像中的单位像素大小距离,将第一次与直线相交的下排车架号中最右边第一个字符上的点记为下排车架号的右下角点,进而得到下排车架号的右下角点位置信息(即点坐标)。在本实施例中,上述步骤s4100和步骤s4200可以同时执行,还可以先后执行。
本实施例提供的车架号的角点定位方法,该方法可以采用直线逼近法对上排车架号字符图像进行角点检测,得到车辆的双排车架号中上排车架号的角点位置信息,采用直线逼近法对下排车架号字符图像进行角点检测,得到车辆的双排车架号中下排车架号的角点位置信息;该方法可以通过这一套智能化技术,能够快速、精确地获取车辆车架号的角点位置信息,从而提高车辆车架号的测量尺寸的准确率以及透视矫正的正确性,并提高车辆年检的工作效率,降低人力成本。
应该理解的是,虽然图2和图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
关于车架号的角点定位装置的具体限定可以参见上文中对于车架号的角点定位方法的限定,在此不再赘述。上述计算机设备的车架号的角点定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图11为一实施例提供的车架号的角点定位装置的结构示意图。如图11所示,该系统可以包括:图像分割模块11、轮廓点集确定模块12、轮廓填充模块13以及角点检测模块14。
具体的,所述图像分割模块11,用于对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像;
所述轮廓点集确定模块12,用于根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集;
所述轮廓填充模块13,用于根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像;
所述角点检测模块14,用于对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
本实施例提供的车架号的角点定位装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,所述轮廓填充模块13包括:选取单元以及第一轮廓填充单元。
具体的,所述选取单元,用于从所述第一轮廓点集和所述第二轮廓点集中,选取上排车架号轮廓点集和下排车架号轮廓点集;
所述第一轮廓填充单元,用于在预设图像中,对所述上排车架号轮廓点集和所述下排车架号轮廓点集进行轮廓填充,得到上排车架号字符图像和下排车架号字符图像;其中,所述预设图像表征背景为黑色的图像。
本实施例提供的车架号的角点定位装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,所述选取单元包括:计算子单元以及确定子单元。
具体的,所述计算子单元,用于计算所述第一轮廓点集和所述第二轮廓点集的平均纵坐标,得到第一平均纵坐标和第二平均纵坐标;
所述确定子单元,用于若所述第一平均纵坐标大于所述第二平均纵坐标时,则将所述第一平均纵坐标对应的所述第一轮廓点集作为所述上排车架号轮廓点集,以及将所述第二平均纵坐标对应的所述第二轮廓点集作为所述下排车架号轮廓点集。
本实施例提供的车架号的角点定位装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,所述轮廓填充模块13还可以包括:第二轮廓填充单元、第一与运算单元以及第三确定单元。
具体的,所述第二轮廓填充单元,用于在所述预设图像中,将所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,得到第一车架号标签字符图像和/或第二车架号标签字符图像;
所述第一与运算单元,用于对所述双排车架号字符图像与所述第一车架号标签字符图像和/或所述第二车架号标签字符图像进行按位与运算,得到第一车架号图像和/或第二车架号图像;
所述第三确定单元,用于根据所述第一轮廓点集、所述第二轮廓点集、所述第一车架号图像和/或所述第二车架号图像,确定所述上排车架号字符图像和/或所述下排车架号字符图像。
本实施例提供的车架号的角点定位装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,所述第三确定单元包括:第四确定单元和第五确定单元。
具体的,所述第四确定单元,用于若所述第一轮廓点集为上排车架号轮廓点集或下排车架号轮廓点集,则将所述第一车架号图像或所述第二车架号图像,确定为所述上排车架号字符图像或所述下排车架号字符图像;和/或
所述第五确定单元,用于若所述第二轮廓点集为所述上排车架号轮廓点集或所述下排车架号轮廓点集,则将所述第二车架号图像确定为所述上排车架号字符图像或所述下排车架号字符图像。
本实施例提供的车架号的角点定位装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,所述轮廓点集确定模块12包括:获取单元、排序单元以及第六确定单元。
具体的,所述获取单元,用于获取所述双排车架号字符图像的若干轮廓点集;
所述排序单元,用于根据各所述轮廓点集包括的点的数量,对各所述轮廓点集进行排序;
所述第六确定单元,用于按照所述轮廓点集中包含的点的数量由大到小的顺序,确定所述第一轮廓点集和/或所述第二轮廓点集。
本实施例提供的车架号的角点定位装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,所述角点检测模块14包括:第一角点检测单元以及第二角点检测单元。
具体的,所述第一角点检测单元,用于采用直线逼近法对所述上排车架号字符图像进行角点检测,得到所述车辆的双排车架号中上排车架号的角点位置信息;
所述第二角点检测单元,用于采用所述直线逼近法对所述下排车架号字符图像进行角点检测,得到所述车辆的双排车架号中下排车架号的角点位置信息。
本实施例提供的车架号的角点定位装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现一种车架号的角点定位方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像;
根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集;
根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像;
对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
对车辆的双排车架号图像进行图像分割处理,得到双排车架号字符图像;
根据所述双排车架号字符图像,确定所述双排车架号图像中的第一轮廓点集和/或第二轮廓点集;
根据所述第一轮廓点集和/或所述第二轮廓点集进行轮廓填充,确定上排车架号字符图像和/或下排车架号字符图像;
对所述上排车架号字符图像和/或所述下排车架号字符图像进行角点检测,得到双排车架号的角点位置信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。