发明内容
本申请实施例提供一种标定模板、模板检测方法、装置及终端,以解决传统技术中,对棋盘格标定板进行模板检测时,存在的模板检测精度低,并影响标定精度的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
根据本公开实施例的第一方面,提供一种标定模板,所述标定模板包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上,其中,
每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同;
每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同;
每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等;
所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等。
结合第一方面,在第一方面的第一种可能的实现方式中,所述标定模板还包括:
标定线,所述标定线的长度等于具有不同圆心的任意两个圆之间的圆心距。
根据本公开实施例的第二方面,提供一种模板检测方法,所述模板检测方法包括:
获取待标定的拍摄装置拍摄的模板图像,所述模板图像中包含有预设标定模板,所述预设标定模块包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上,其中,每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等;所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等;
根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,获取包含所述定位圆组和标定圆组的多个连通块;
对所述连通块进行检测,获取所述连通块对应的轮廓边缘组;
根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,并根据所述轮廓边缘组中各个轮廓边缘的大小,确定所述轮廓边缘组的类型,所述类型包括:标定圆组和定位圆组,其中,所述定位圆组的中心为所述定位点,所述标定圆组的中心为所述标定点;
根据所述定位点在所述模板图像中的分布位置,确定标定点在所述模板图像中的分布位置,并根据所述定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标。
结合第二方面,在第二方面的第一种可能的实现方式中,所述根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,包括:
计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心;
或,
在获取所述轮廓边缘组中各个轮廓边缘的中心后,判断所述各个轮廓边缘的中心之间的距离差是否在预设的距离范围内;
若所述距离差在所述预设的距离范围内,则计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心。
结合第二方面,在第二方面的第二种可能的实现方式中,所述根据定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标包括:
根据所述定位点和标定点在所述模板图像中的分布位置,将所述待标定图像上的各个定位点和标定点,与已知坐标系的标定模板上的各个定位点和标定点建立映射关系;
根据所述映射关系,以及所述已知坐标系的标定模板上的定位点和标定点的坐标,确定所述模板图像的模板坐标。
结合第二方面,在第二方面的第三种可能的实现方式中,所述模板检测方法还包括:
在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行去噪处理;
所述根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,包括:
在获取去噪处理后的模板图像后,根据预设连通块覆盖范围,对所述去噪处理后的模板图像进行过滤;
或,
在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行二值化处理;
所述根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,包括:
在获取二值化处理后的模板图像后,根据预设连通块覆盖范围,对所述二值化处理后的模板图像进行过滤。
结合第二方面,在第二方面的第四种可能的实现方式中,所述预设标定模板还包括标定线,所述标定线的长度等于具有不同圆心的任意的两个圆之间的圆心距,在确定所述模板图像的模板坐标之后,所述模板检测方法还包括:
通过所述模板坐标,确定所述两个圆的圆心在所述模板图像中的坐标;
根据所述两个圆的圆心在所述模板图像中的坐标,计算所述两个圆在世界坐标系中的圆心距计算值;
在接收到所述标定线在世界坐标系中的标定线测量值后,获取所述圆心距计算值和所述标定线测量值之间的距离差,以便通过所述距离差表征本次模板检测的精度。
根据本公开实施例的第三方面,提供一种模板检测装置,所述模板检测装置包括:
图像获取模块,用于获取待标定的拍摄装置拍摄的模板图像,所述模板图像中包含有预设标定模板,所述预设标定模块包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上,其中,每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等;所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等;
过滤模块,用于根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,获取包含所述定位圆组和标定圆组的多个连通块;
检测模块,用于对所述连通块进行检测,获取所述连通块对应的轮廓边缘组;
第一确定模块,用于根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,并根据所述轮廓边缘组中各个轮廓边缘的大小,确定所述轮廓边缘组的类型,所述类型包括:标定圆组和定位圆组,其中,所述定位圆组的中心为所述定位点,所述标定圆组的中心为所述标定点;
第二确定模块,用于根据所述定位点在所述模板图像中的分布位置,确定标定点在所述模板图像中的分布位置,并根据所述定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标。
结合第三方面,在第三方面的第一种可能的实现方式中,所述第一确定模块包括:
第一计算单元,用于计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心;
或,
判断单元,用于在获取所述轮廓边缘组中各个轮廓边缘的中心后,判断所述各个轮廓边缘的中心之间的距离差是否在预设的距离范围内;
第二计算单元,用于若所述距离差在所述预设的距离范围内,则计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心。
结合第三方面,在第三方面的第二种可能的实现方式中,所述第二确定模块包括:
映射建立单元,用于根据所述定位点和标定点在所述模板图像中的分布位置,将所述待标定图像上的各个定位点和标定点,与已知坐标系的标定模板上的各个定位点和标定点建立映射关系;
模板坐标确定单元,用于根据所述映射关系,以及所述已知坐标系的标定模板上的定位点和标定点的坐标,确定所述模板图像的模板坐标。
结合第三方面,在第三方面的第三种可能的实现方式中,所述模板检测装置还包括:
去噪模块,用于在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行去噪处理;
所述过滤模块还用于在获取去噪处理后的模板图像后,根据预设连通块覆盖范围,对所述去噪处理后的模板图像进行过滤;
和/或,
二值化处理模块,用于在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行二值化处理;
所述过滤模块还用于在获取二值化处理后的模板图像后,根据预设连通块覆盖范围,对所述二值化处理后的模板图像进行过滤。
结合第三方面,在第三方面的第四种可能的实现方式中,所述预设标定模板还包括标定线,且所述标定线的长度等于具有不同圆心的任意两个圆之间的圆心距,在确定所述模板图像的模板坐标之后,所述模板检测装置还包括:
圆心坐标确定模块,用于通过所述模板坐标,确定所述两个圆的圆心在所述模板图像中的坐标;
圆心距计算模块,用于根据所述两个圆的圆心在所述模板图像中的坐标,计算所述两个圆在世界坐标系中的圆心距计算值;
距离差计算模块,用于在接收到所述标定线在世界坐标系中的标定线测量值后,获取所述圆心距计算值和所述标定线测量值之间的距离差,以便通过所述距离差表征本次模板检测的精度。
根据本公开实施例的第四方面,提供一种终端,包括:处理器、存储器和总线,其中,
所述处理器通过总线,与所述存储器相连接;
所述存储器,用于存储进程间共享数据的方法的程序代码;
所述处理器,用于获取所述存储器中存储的程序代码,并根据所述程序代码执行以下操作:
获取待标定的拍摄装置拍摄的模板图像,所述模板图像中包含有预设标定模板,所述预设标定模块包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上,其中,每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等;所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等;
根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,获取包含所述定位圆组和标定圆组的多个连通块;
对所述连通块进行检测,获取所述连通块对应的轮廓边缘组;
根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,并根据所述轮廓边缘组中各个轮廓边缘的大小,确定所述轮廓边缘组的类型,所述类型包括:标定圆组和定位圆组,其中,所述定位圆组的中心为所述定位点,所述标定圆组的中心为所述标定点;
根据所述定位点在所述模板图像中的分布位置,确定标定点在所述模板图像中的分布位置,并根据所述定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标。
本申请公开一种标定模板、模板检测方法、装置和终端。在本申请公开的标定模板中,每个标定圆组的圆心即为标定点,每个定位圆组的圆心为定位点,通过本申请公开的标定模板进行模板检测时,通过每个标定圆组中的至少两个标定圆确定该标定圆组的圆心,从而获取标定点,通过每个定位圆组中的至少两个定位圆确定该定位圆组的圆心,从而获取定位点,并通过所述定位点确定各个标定点在图像中的分布情况,进一步获取模板坐标。与现有技术中的棋盘格标定板相比,本申请公开的标定模板在获取标定点时,不易受到外界环境的干扰,提高了标定点获取的稳定性和正确性,相应提高模板检测的精度,并且能够进一步提高后续的标定精度。
另外,本申请公开的标定模板中,每个标定圆组和定位圆组均由至少两个圆心相同的圆组成,和棋盘格标定板相比,圆形受拍摄装置投影变化的影响较小,鲁棒性较强。
具体实施方式
本申请实施例提供一种标定模板、模板检测方法、装置及终端,以解决传统技术中,对棋盘格标定板进行模板检测时,存在的模板检测精度低,并影响标定精度的问题。
为了使本领域的技术人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
本申请公开一种标定模板,所述标定模板包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上。
其中,每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同。
在每个标定圆组中包括的各个标定圆的圆心相同,并将所述标定圆组的圆心作为标定点。同一标定圆组中,包括至少两个标定圆,则所述至少两个标定圆形成至少一个圆环,为了便于区分各个标定圆,每个圆环与相邻区域的颜色不同。并且,为了提高区分的精度,每个圆环与相邻区域的颜色通常选用对比度较高的颜色,例如,可设置其中一个圆环为黑色,该圆环的相邻区域为白色。
例如,参见图1所示的标定圆组的结构示意图,该标定圆组中包括两个标定圆,所述两个标定圆形成内圆1和一个圆环2,其中,圆环2的相邻区域即为内圆1,为了区分这两个标定圆,将内圆1设置为白色,将圆环2设置为黑色。
另外,参见图2所示的另一种标定圆组的结构示意图,该图中的标定圆组包括三个标定圆,所述三个标定圆形成内圆3、圆环4和圆环5。其中,圆环4的相邻区域即为内圆3和圆环5,圆环5的相邻区域为圆环4。为了区分这三个标定圆,将内圆3和圆环5设置为白色,圆环4设置为黑色。
每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同。
在每个定位圆组中包括的定位圆的圆心相同,并将所述定位圆组的圆心作为定位点。由于所述至少三个定位圆组的圆心不位于同一直线上,因此根据该标定板能够获取至少三个定位点,且所述至少三个定位点不在同一直线,从而能够起到定位的作用。另外,同一定位圆组中,包括至少两个定位圆,则所述至少两个定位圆形成至少一个圆环,为了便于区分各个定位圆,每个圆环与相邻区域的颜色不同。并且,为了提高区分的精度,每个圆环与相邻区域的颜色通常选用对比度较高的颜色,例如,可设置其中一个圆环为黑色,该圆环的相邻区域为白色。
进一步的,每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等,所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等。
在每个定位圆组中均包含有第一特征圆,每个定位圆组中的第一特征圆的半径均与各个定位圆组中的定位圆的半径不相等,也就是说,每个定位圆组中的第一特征圆与除自身以外的其他各个定位圆组中的定位圆的半径均不相等,并且,该第一特征圆也与自身所属定位圆组中的其他各个定位圆的半径均不相等,从而能够根据所述第一特征圆的半径大小将各个定位圆组区分开来。
相应的,在每个定位圆组中还包含有第二特征圆,所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等,从而能够根据所述第二特征圆的半径大小区分定位圆组和标定圆组。
另外,在所述标定板中,各个定位圆组和标定圆组中包含的圆的数目可以相同,也可以不同,本申请对此不作限定。
在本申请公开的标定模板中,每个标定圆组的圆心即为标定点,每个定位圆组的圆心为定位点,通过本申请公开的标定模板进行模板检测时,通过每个标定圆组中的至少两个标定圆确定该标定圆组的圆心,从而获取标定点,通过每个定位圆组中的至少两个定位圆确定该定位圆组的圆心,从而获取定位点,并通过所述定位点确定各个标定点在图像中的分布情况,进一步获取模板坐标。与现有技术中的棋盘格标定板相比,本申请公开的标定模板在获取标定点时,不易受到外界环境的干扰,提高了标定点获取的稳定性和正确性,相应提高模板检测的精度,并且能够进一步提高后续的标定精度。
另外,本申请公开的标定模板中,每个标定圆组和定位圆组均由至少两个圆心相同的圆组成,和棋盘格标定板相比,圆形受拍摄装置投影变化的影响较小,鲁棒性较强。
进一步的,所述标定模板还包括:
标定线,所述标定线的长度等于具有不同圆心的任意两个圆之间的圆心距。
其中,所述标定线的长度可以为所述标定模板上,任意两个具有不同圆心的圆之间的圆心距。在之前绘制标定板时,可获取所述两个圆之间的圆心距,并在标定板上绘制与所述圆心距长度相等的标定线。由于对放置在世界坐标系中的标定模板进行测量时,难以确定圆心,因此,在标定板上通过所述标定线表征所述两个圆的圆心距。在获取模板坐标后,能够根据所述两个圆的圆心在模板图像上的坐标,计算得到圆心距计算值,并且,通过测量工具(如游标卡尺)测量物理世界中的标定板,能够得到所述标定线在世界坐标系中的长度测量值,通过所述圆心距计算值和长度测量值之间的距离差,即可获取本次模板检测的精度。
参见图3所示的一种标定模板的示意图,该图中,设置该标定模板中的标定圆组和定位圆组均由两个同心圆组成,当然,各个定位圆组和标定圆组中包含的圆的数量也可以为其他大于二的数值,本申请对此不作限定。其中,该标定模板中的标定圆组和定位圆组中,内圆均为白色,外圆均为黑色,以区分内圆和外圆,当然,内圆和外圆还可以设置为其他不同的颜色,本申请对此不做限定。
另外,在图3所示的标定模板中,包含的定位圆组分别设置在标定模板的左上、右上和左下的位置,设置在标定模板左上的定位圆组指的是该标定模板第一行中左侧的第一个圆组,设置在标定模板右上的定位圆组指的是该标定模板第一行中右侧的第一个圆组,设置在标定模板左下的定位圆组指的是该标定模板最后一行中左侧的第一个圆组。并且,这三个定位圆组的圆心不在同一直线上,能够起到定位作用,用于在模板检测过程中确定标定圆组的分布情况,从而确定标定模板的模板坐标。并且,位于其他位置的同心圆对均为标定圆组。为了区分各个定位圆组,该标定模板中将三个定位圆组的内圆半径设置为不同的长度;为了将定位圆组和标定圆组区分开,所述三个定位圆组的内圆半径与各标定圆组的内圆半径均不相等,也就是说,所述三个定位圆组中的第一特征圆和第二特征圆均为内圆。其中,左上的定位圆组的白色内圆半径最大,左下的定位圆组的白色内圆半径第二大,右上的定位圆组的白色内圆半径最小。另外,图3所示的各个标定圆组中,内圆的半径均相等,在其他实施方式中,各个标定圆组中内圆的半径也可以不相等,本申请对此不做限定。
本申请公开的标定模板中,设置的标定圆组和定位圆组的数量越多,模板检测的精度越高,而所述标定圆组和定位圆组的数量越多,模板检测所需的时间越长。在实际应用中,通常将标定圆组和定位圆组形成的多个同心圆对,设置为3x4到12x15的形式。
进一步的,在图3所示的标定模板中还设置有标定线,所述标定线的长度等与具有不同圆心的任意两个圆之间的圆心距。其中,该标定模板最下方的线段即为所述标定线。设定所述具有不同圆心的两个圆分别为第一圆和第二圆,如图3所示,该标定模板中包含有四条标定线,按照从左到右的顺序,第一条标定线对应的所述第一圆和第二圆分别为最后一行中的第一个圆组中的圆,以及第二个圆组中的圆,第二条标定线对应的所述第一圆和第二圆分别为最后一行中的第三个圆组中的圆,以及第四个圆组中的圆,第三条标定线对应的所述第一圆和第二圆分别为最后一行中的第五个圆组中的圆,以及第六个圆组中的圆,第四条标定线对应的所述第一圆和第二圆分别为最后一行中的第七个圆组中的圆,以及第八个圆组中的圆。该四条标定线分别设置在相应的第一圆和第二圆的下方,并且所述标定线的起点和终点在同一水平面上。当然,还可以选取其他圆作为第一圆和第二圆,并将标定线设置在标定模板的其他位置,本申请对此不做限定。
例如,在图4所示的另一种标定模板中,所述第一圆和第二圆分别为最后一行的第一个圆组中的圆,以及最后一行的最后一个圆组中的圆,并将该标定线设置在所述第一圆和第二圆的下方。参见图5所示的另一种标定模板,所述第一圆为标定模板第一行的第一个圆组中的圆,所述第二圆为标定模板第二行的第二个圆组中的圆,与所述第一圆和第二圆的圆心距长度相等的标定线设置在所述标定模板的左侧,若设定所述第一圆和第二圆的圆心之间的连线为圆心线,该标定线与所述圆心线平行。当然,也可将该标定线设置成竖直方向,本申请对此不做限定。
相应的,本申请还公开了一种模板检测方法。
参见图6所示的工作流程示意图,本申请公开的模板检测方法包括以下步骤:
步骤S11、获取待标定的拍摄装置拍摄的模板图像,所述模板图像中包含有预设标定模板,所述预设标定模块包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上,其中,每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等;所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等。
步骤S12、根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,获取包含所述定位圆组和标定圆组的多个连通块。
拍摄装置在对预设标定模板拍照时,往往会拍摄到所述预设标定模板以外的其他物体,从而需要通过步骤S12对模板图像进行过滤。
在步骤S12中,对模板图像进行检测,获取模板图像中的连通块,然后根据预设的连通块覆盖范围对该连通块进行过滤,滤除覆盖面积不在所述预设的连通块覆盖范围内的连通块,剩余的覆盖面积在所述预设的连通块覆盖范围内的连通块即为定位圆组和标定圆组。
其中,设定每个所述标定圆组和定位圆组中最外侧的圆为第三圆,并设定所述第三圆的覆盖面积为单元连通块覆盖面积,则所述预设的连通块覆盖范围中的最小值不大于所述单元连通块覆盖面积中的最小值,并且所述预设的连通块覆盖范围中的最大值不小于所述单元连通块覆盖面积中的最大值。
步骤S13、对所述连通块进行检测,获取所述连通块对应的轮廓边缘组。
其中,所述定位圆组和标定圆组均为圆形的连通块,拍摄装置在对标定模板拍照时,受到投影的影响,模板图像中的定位圆组和标定圆组往往呈现椭圆,因此在对各个连通块进行检测时,可通过椭圆拟合的方法获取所述连通块对应的轮廓边缘组。
另外,还可以通过椭圆检测的方法,获取所述连通块对应的轮廓边缘组,本申请对此不作限定。
在对连通块进行边缘拟合后,即可获取与连通块相对应的轮廓边缘组。例如,若所述标定模板如图3所示,则每个轮廓边缘组包括两个椭圆的轮廓边缘。
步骤S14、根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,并根据所述轮廓边缘组中各个轮廓边缘的大小,确定所述轮廓边缘组的类型,所述类型包括:标定圆组和定位圆组,其中,所述定位圆组的中心为所述定位点,所述标定圆组的中心为所述标定点。
由于所述定位圆组中包含第二特征圆,所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等,则可根据轮廓边缘的大小区分各个轮廓边缘组的类型,由于轮廓边缘组的类型包括标定圆组和定位圆组,从而将所述各个轮廓边缘组划分为标定圆组和定位圆组。
步骤S15、根据所述定位点在所述模板图像中的分布位置,确定标定点在所述模板图像中的分布位置,并根据所述定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标。
由于每个定位圆组中均包括第一特征圆,所述第一特征圆的半径与其他各个所述定位圆组中的定位圆的半径均不相等,因此,可通过定位圆组中的各个轮廓边缘的大小,将各个定位圆组区分开来,从而确定所述定位点在所述模板图像中的分布位置。根据所述定位点在所述模板图像中的分布位置,即可确定各个标定点在所述模板图像中的分布位置。
若本次模块检测针对的所述模板图像中包含的标定模板如图3所示,各个定位圆组中的第一特征圆即为内圆,通过内圆对应的轮廓边缘的大小,可将三个定位圆组区分开来,从而确定定位点在所述模板图像中的分布位置。然后,通过所述定位点进行定位,例如,若将分布在左上的定位点右侧的第一个标定点确定为第一标定点,则可确定分布在左上的定位点右侧的第二个标定点为第二标定点,从而依次获取各个标定点在模板图像中的分布位置。
本申请的步骤S11至步骤S15公开一种模板检测方法。通过本申请公开的方法进行模板检测时,通过每个标定圆组中的至少两个标定圆确定该标定圆组的圆心,从而获取标定点,通过每个定位圆组中的至少两个定位圆确定该定位圆组的圆心,从而获取定位点,并通过所述定位点确定各个标定点在图像中的分布情况,进一步获取模板坐标。与现有技术中的棋盘格标定板相比,本申请公开的标定模板在获取标定点时,不易受到外界环境的干扰,提高了标定点获取的稳定性和正确性,相应提高模板检测的精度,并且能够进一步提高后续的标定精度。
另外,本申请公开的标定模板中,每个标定圆组和定位圆组均由至少两个圆心相同的圆组成,和棋盘格标定板相比,圆形受拍摄装置投影变化的影响较小,鲁棒性较强。
在步骤S14中,公开根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心这一步骤,该步骤可通过多种方式实现。
在其中一种实现方式中,所述根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,包括:
计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心。
例如,若本次模板检测针对的标定模板如图3所示,即每个标定圆组和定位圆组均由2个同心圆组成,在通过边缘拟合,获取轮廓边缘组后,可检测到每个轮廓边缘组中包含有两个轮廓边缘,然后检测每个轮廓边缘组中包含的两个轮廓边缘的中心,所述两个轮廓边缘的中心的平均值即为该轮廓边缘组的中心。
在另一种实现方式中,所述根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,包括:
首先,在获取所述轮廓边缘组中各个轮廓边缘的中心后,判断所述各个轮廓边缘的中心之间的距离差是否在预设的距离范围内;然后,若所述距离差在所述预设的距离范围内,则计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心。
上述步骤中,在获取到轮廓边缘组中各个轮廓边缘的中心后,判断所述各个轮廓边缘的中心之间的距离差是否在预设的距离范围内,若所述距离差超过所述预设的距离范围,则说明同一轮廓边缘组中的各个轮廓边缘的中心距离较远,这种情况下,认为该轮廓边缘组出现误差,在后续步骤中不再考虑该轮廓边缘组;若所述各个轮廓边缘的中心之间的距离差在预设的距离范围内,则说明同一轮廓边缘组中的各个轮廓边缘的中心距离较近,则通过该轮廓边缘组中各个轮廓边缘的中心的平均值确定所述轮廓边缘组的中心。
通过上述步骤,能够减少误差,进一步提高模板检测的精度。
根据所述各个定位点和标定点在所述模板图像中的分布位置,即可确定所述模板图像的模板坐标。其中,确定所述模板图像的模板坐标的实现方式包括多种。
在其中一种实现方式中,所述根据定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标包括:
首先,根据所述定位点和标定点在所述模板图像中的分布位置,将所述待标定图像上的各个定位点和标定点,与已知坐标系的标定模板上的各个定位点和标定点建立映射关系;
然后,根据所述映射关系,以及所述已知坐标系的标定模板上的定位点和标定点的坐标,确定所述模板图像的模板坐标。
在上述实现方式中,需要预先获取已知坐标系的标定模板,该标定模板中各个标定点和定位点的坐标是已知的,这种情况下,根据所述待标定图像上的各个定位点和标定点,与已知坐标系的标定模板上的各个定位点和标定点之间的映射关系,以及所述已知坐标系的标定模板上的各个标定点的坐标,即可确定所述模板图像的模板坐标。其中,所述已知坐标系可以为世界坐标系,或者,可以为其他形式的图像坐标系。
在另一种实现方式中,可预先存储分布在不同位置的各个定位点和标定点的坐标,在获取到各个定位点和标定点在所述模板图像中的分布位置后,查询预先存储的坐标信息,即可确定所述模板图像的模板坐标。
例如,若本次模板检测针对的标定模板如图3所示,将分布在左上的定位点右侧的第一个标定点确定为第一标定点,确定分布在左上的定位点右侧的第二个标定点为第二标定点,并预先存储了第一标定点和第二标定点的坐标。在进行模板检测时,通过定位点,可确定模板图像中的第一标定点和第二标定点的分布位置,并查询预先存储的坐标信息,即可确定第一标定点和第二标定点的坐标,相同的,还可以获取其他标定点和定位点在模板图像中的坐标,根据所述坐标,即可确定模块图像的模板坐标。
进一步的,本申请公开的模板检测方法还包括:在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行去噪处理。
这种情况下,步骤S12中所述根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,包括:在获取去噪处理后的模板图像后,根据预设连通块覆盖范围,对所述去噪处理后的模板图像进行过滤。
其中,去噪处理可采用中值滤波或高斯滤波等方法,能够减少图像噪声的影响。
进一步的,本申请公开的模板检测方法还包括:在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行二值化处理。
这种情况下,步骤S12中所述根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,包括:在获取二值化处理后的模板图像后,根据预设连通块覆盖范围,对所述二值化处理后的模板图像进行过滤。
通过二值化处理,可以增加图像中的对比度,使图像呈现较为明显的视觉效果。去噪处理和二值化处理均能够提高标定点和定位点的检测精度,进而提高模板检测的精度。
进一步的,所述预设标定模板还包括标定线,所述标定线的长度等于具有不同圆心的任意的两个圆之间的圆心距,在确定所述模板图像的模板坐标之后,参见图7,所述模板检测方法还包括:
步骤S21、通过所述模板坐标,确定所述两个圆的圆心在所述模板图像中的坐标;
步骤S22、根据所述两个圆的圆心在所述模板图像中的坐标,计算所述两个圆在世界坐标系中的圆心距计算值;
步骤S23、在接收到所述标定线在世界坐标系中的标定线测量值后,获取所述圆心距计算值和所述标定线测量值之间的距离差,以便通过所述距离差表征本次模板检测的精度。
由于对放置在世界坐标系中的标定模板进行测量时,难以确定圆心,因此,在标定板上通过所述标定线表征所述两个圆的圆心距。在获取模板坐标后,能够根据所述两个圆的圆心在模板图像上的坐标,计算得到圆心距计算值,并且,通过测量工具(如游标卡尺)测量物理世界中的标定板,能够得到所述标定线在世界坐标系中的长度测量值,通过所述圆心距计算值和长度测量值之间的距离差,即可获取本次模板检测的精度。
其中,根据所述两个圆的圆心在所述模板图像中的坐标,计算所述两个圆在世界坐标系中的圆心距计算值时,可预先建立待标定图像上的各个定位点和标定点,与世界坐标系的标定模板上的各个定位点和标定点之间的映射关系,根据该映射关系,确定所述两个圆的圆心的世界坐标,继而根据该世界坐标,既可以计算得到所述两个圆在世界坐标系中的圆心距计算值。
所述圆心距计算值和长度测量值的距离差,能够反映本次模板检测的精度,所述距离差越小,则说明本次模板检测的精度越高。多次试验表明,与现有技术对棋盘格标定板进行模板检测的方法相比,本申请公开的模板检测方法能将误差率降低33.3%左右。
相应的,本申请还公开一种模板检测装置。参见图8所示的结构示意图,所述模板检测装置包括:图像获取模块11、过滤模块12、检测模块13、第一确定模块14和第二确定模块15。
其中,所述图像获取模块11,用于获取待标定的拍摄装置拍摄的模板图像,所述模板图像中包含有预设标定模板,所述预设标定模块包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上,其中,每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等;所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等;
所述过滤模块12,用于根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,获取包含所述定位圆组和标定圆组的多个连通块;
所述检测模块13,用于对所述连通块进行检测,获取所述连通块对应的轮廓边缘组;
所述第一确定模块14,用于根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,并根据所述轮廓边缘组中各个轮廓边缘的大小,确定所述轮廓边缘组的类型,所述类型包括:标定圆组和定位圆组,其中,所述定位圆组的中心为所述定位点,所述标定圆组的中心为所述标定点;
所述第二确定模块15,用于根据所述定位点在所述模板图像中的分布位置,确定标定点在所述模板图像中的分布位置,并根据所述定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标。
进一步的,所述第一确定模块14包括:
第一计算单元,用于计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心;
或,
判断单元,用于在获取所述轮廓边缘组中各个轮廓边缘的中心后,判断所述各个轮廓边缘的中心之间的距离差是否在预设的距离范围内;
第二计算单元,用于若所述距离差在所述预设的距离范围内,则计算所述轮廓边缘组中各个轮廓边缘的中心的平均值,并将所述平均值作为所述轮廓边缘组的中心。
进一步的,所述第二确定模块15包括:
映射建立单元,用于根据所述定位点和标定点在所述模板图像中的分布位置,将所述待标定图像上的各个定位点和标定点,与已知坐标系的标定模板上的各个定位点和标定点建立映射关系;
模板坐标确定单元,用于根据所述映射关系,以及所述已知坐标系的标定模板上的定位点和标定点的坐标,确定所述模板图像的模板坐标。
进一步的,所述模板检测装置还包括:
去噪模块,用于在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行去噪处理;
相应的,所述过滤模块还用于在获取去噪处理后的模板图像后,根据预设连通块覆盖范围,对所述去噪处理后的模板图像进行过滤。
和/或,所述模板检测装置还包括:
二值化处理模块,用于在根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤之前,对所述模板图像进行二值化处理;
相应的,所述过滤模块还用于在获取二值化处理后的模板图像后,根据预设连通块覆盖范围,对所述二值化处理后的模板图像进行过滤。
进一步的,所述预设标定模板还包括标定线,所述标定线的长度等于具有不同圆心的任意的两个圆之间的圆心距,在确定所述模板图像的模板坐标之后,所述模板检测装置还包括:
圆心坐标确定模块,用于通过所述模板坐标,确定所述两个圆的圆心在所述模板图像中的坐标;
圆心距计算模块,用于根据所述两个圆的圆心在所述模板图像中的坐标,计算所述两个圆在世界坐标系中的圆心距计算值;
距离差计算模块,用于在接收到所述标定线在世界坐标系中的标定线测量值后,获取所述圆心距计算值和所述标定线测量值之间的距离差,以便通过所述距离差表征本次模板检测的精度。
本申请公开的模板检测装置在进行模板检测时,通过每个标定圆组中的至少两个标定圆确定该标定圆组的圆心,从而获取标定点,通过每个定位圆组中的至少两个定位圆确定该定位圆组的圆心,从而获取定位点,并通过所述定位点确定各个标定点在图像中的分布情况,进一步获取模板坐标。与现有技术中的棋盘格标定板相比,本申请公开的标定模板在获取标定点时,不易受到外界环境的干扰,提高了标定点获取的稳定性和正确性,相应提高模板检测的精度,并且能够进一步提高后续的标定精度。
另外,本申请采用的标定模板中,每个标定圆组和定位圆组均由至少两个圆心相同的圆组成,和棋盘格标定板相比,圆形受拍摄装置投影变化的影响较小,鲁棒性较强。
相应的,本申请还公开一种终端,参见图9所示的结构示意图,所述终端10包括:处理器100、存储器200和总线300,其中,
所述处理器100通过总线300,与所述存储器200相连接;
所述存储器200,用于存储进程间共享数据的方法的程序代码;
所述处理器100,用于获取所述存储器200中存储的程序代码,并根据所述程序代码执行以下操作:
获取待标定的拍摄装置拍摄的模板图像,所述模板图像中包含有预设标定模板,所述预设标定模块包括至少一个标定圆组和至少三个定位圆组,所述至少三个定位圆组的圆心不位于同一直线上,其中,每个所述标定圆组包括至少两个标定圆,同一标定圆组内全部的所述标定圆的圆心相同,并且,同一标定圆组内的至少两个标定圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括至少两个定位圆,同一定位圆组内全部的所述定位圆的圆心相同,并且,同一定位圆组内的至少两个定位圆形成圆环,且圆环与相邻区域的颜色不同;每个所述定位圆组包括第一特征圆和第二特征圆,其中,所述第一特征圆的半径与所有所述定位圆组中的定位圆的半径均不相等;所述第二特征圆的半径与各个所述标定圆组中的标定圆的半径均不相等;
根据预设连通块覆盖范围,对所述模板图像中的连通块进行过滤,获取包含所述定位圆组和标定圆组的多个连通块;
对所述连通块进行检测,获取所述连通块对应的轮廓边缘组;
根据所述轮廓边缘组中各个轮廓边缘的中心,确定所述轮廓边缘组的中心,并根据所述轮廓边缘组中各个轮廓边缘的大小,确定所述轮廓边缘组的类型,所述类型包括:标定圆组和定位圆组,其中,所述定位圆组的中心为所述定位点,所述标定圆组的中心为所述标定点;
根据所述定位点在所述模板图像中的分布位置,确定标定点在所述模板图像中的分布位置,并根据所述定位点和标定点在所述模板图像中的分布位置,确定所述模板图像的模板坐标。
通过上述终端,能够实现模板检测,并在模板检测过程中,通过每个标定圆组中的至少两个标定圆确定该标定圆组的圆心,从而获取标定点,通过每个定位圆组中的至少两个定位圆确定该定位圆组的圆心,从而获取定位点,并通过所述定位点确定各个标定点在图像中的分布情况,进一步获取模板坐标。与现有技术中的棋盘格标定板相比,本申请公开的标定模板在获取标定点时,不易受到外界环境的干扰,提高了标定点获取的稳定性和正确性,相应提高模板检测的精度,并且能够进一步提高后续的标定精度。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,缩写:RAM)、磁碟、光盘等,包括若干指令用以使得处理器执行本发明实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。