用于相机参数标定的棋盘角点检测方法和装置
文献发布时间:2023-06-19 11:57:35
技术领域
本申请涉及计算机视觉技术领域,例如涉及一种用于相机参数标定的棋盘角点检测方法和装置。
背景技术
目前,相机的参数标定是计算机视觉关于图像处理的关键步骤,通常采用棋盘格标定方法,该方法需要提取棋盘格的内角点,来实现图像中点的世界坐标系到相机坐标系的准确映射。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
现有的检测方法受到非均匀性光照,角点变形,图像噪声等多因素的影响不能准确地检测棋盘格的角点。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。该概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于相机参数标定的棋盘角点检测方法和装置,以解决现有技术中存在不能准确检测棋盘格角点的上述技术问题。
在一些实施例中,用于相机参数标定的棋盘角点检测方法,包括:
采用haar特征对棋盘格图像进行检测,得到haar特征值;
将所述haar特征值处理为特征值分布图像,其中所述特征值分布图像中包括点状区域;
计算所述点状区域的中心位置,得到角点。
在一些实施例中,将所述haar特征值处理为特征值分布图像,包括:
对所述haar特征值进行运算后放入图像通道,形成所述特征值分布图像。
在一些实施例中,所述采用haar特征对棋盘格图像进行检测,包括:
选取haar特征中的对角特征对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到所述haar特征值。
在一些实施例中,所述采用haar特征对棋盘格图像进行检测,还包括:
选取haar特征中的边界特征对所述棋盘格图像中存在灰度梯度的区域进行卷积计算,得到所述haar特征值。
在一些实施例中,对所述haar特征值进行运算后放入图像通道,包括:
在所述haar特征值为多个的情况下,对所述haar特征值分别取绝对值后分别放入不同的图像通道。
在一些实施例中,所述计算所述点状区域的中心位置,得到角点,包括:
将所述特征值分布图像从色彩空间BGR转换为颜色空间HSV;
搜索所述点状区域的像素集合;
基于所述像素集合,获取所述点状区域的中心位置为所述角点。
在一些实施例中,搜索所述点状区域的像素集合,包括:
基于所述图像通道的颜色阈值,搜索所述像素集合。
在一些实施例中,用于相机参数标定的棋盘角点检测装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如上文所述的方法。
在一些实施例中,用于相机参数标定的棋盘角点检测装置,包括:
检测模块,被配置为采用haar特征对棋盘格图像进行检测,得到haar特征值;
图像处理模块,被配置为将所述haar特征值处理为特征值分布图像,其中所述haar特征值分布图像中包括点状区域;
计算模块,被配置为计算所述点状区域的中心位置,得到角点。
在一些实施例中,所述检测模块,还被配置为:
选取haar特征中的对角特征对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到所述haar特征值。
本公开实施例提供的用于相机参数标定的棋盘角点检测方法和装置,可以实现以下技术效果:
相机参数标定时提高了棋盘格角点检测的准确度。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的棋盘角点检测方法的流程示意图;
图2是本公开实施例提供的棋盘角点检测方法的另一流程示意图;
图3是本公开实施例提供的棋盘角点检测方法的又一流程示意图;
图4是本公开实施例提供的棋盘角点检测装置的结构示意图;
图5是本公开实施例提供的棋盘角点检测装置的结构示意图;
图6是haar特征中行列边界特征的图像;
图7是haar特征中对角特征的图像;
图8是采用本公开实施例提供的棋盘角点检测方法得到特征值分布图像的照片。
附图标记:
10-检测模块;20-图像处理模块;30-计算模块。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
参见图1,本公开实施例提供了一种用于相机参数标定的棋盘角点检测方法,包括:
步骤10:采用haar特征对棋盘格图像进行检测,得到haar特征值;
步骤20:将haar特征值处理为特征值分布图像,其中特征值分布图像中包括点状区域;
步骤S30:计算点状区域的中心位置,得到角点。
采用haar特征处理图像是对局部图像区域的对称性先积分再求差,对于噪声具有均值化功能,相当于抑制了噪声的显著效应,对于噪声图像具有很好的检测。采用本公开实施例提供的棋盘角点检测方法可以检测到因检测距离或者入射角度等因素导致图像光强度非均匀的情况下的角点,以及距离图像中心较远的锐度不足的角点。
在一些实施例中,步骤20:将haar特征值处理为特征值分布图像,包括:
对haar特征值进行运算后放入图像通道,形成特征值分布图像。
参见图2,步骤10:采用haar特征对棋盘格图像进行检测,包括:
选取haar特征中的对角特征对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到haar特征值。
仅采用对角特征(参见图7)对棋盘格图像中的角点进行检测,相应地在特征值分布图像中角点位于呈圆形地点状区域。
参见图2,步骤10:采用haar特征对棋盘格图像进行检测,还包括:
步骤110:选取haar特征中的边界特征对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到haar特征值。
分别选取haar特征中的对角特征和边界特征(参见图8)分别对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到haar特征值。
图6中左边的图像为行边缘特征,右边的图像为列边缘特征,采用边界特征中的这两个边界特征对棋盘格图像中存在灰度梯度的区域进行检测,便于特征值分布图像中显示棋盘格的横线和竖线。
在一些实施例中,对haar特征值进行运算后放入图像通道,包括:
在haar特征值为多个的情况下,对haar特征值分别取绝对值后分别放入不同的图像通道。
参见图3,在一些实施例中,步骤30:计算点状区域的中心位置,得到角点,包括:
步骤300:将特征值分布图像从色彩空间BGR转换为颜色空间HSV;
步骤310:搜索点状区域的像素集合;
步骤320:基于像素集合,获取点状区域的中心位置为角点。
在一些实施例中,步骤310:搜索点状区域的像素集合,包括:
基于图像通道的颜色阈值,搜索像素集合。
采用haar特征对棋盘格的内角点进行检测的具体步骤如下:
首先对棋盘格图像进行形态学梯度计算,角点检测的模板可以设置为正方形3*3个像素点;
其次,采用haar特征中的对角特征和边界特征(行边界特征,列边界特征)对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到haar特征值;
接着,将haar特征值分别取绝对值后分别放入不同的图像通道,每个图像通道归一化到灰阶区间[0,255];
颜色通道的分布可以是:采用行边界特征计算得到的haar特征值取绝对值后放入B[蓝色]通道;采用列边界特征计算得到的haar特征值取绝对值后放入G[绿色]通道;采用对角特征计算得到的haar特征值取绝对值后放入R[红色]通道,得到特征值分布图像,该特征值分布图像中包括点状区域。
然后,将特征值分布图像进行处理,计算点状区域中心,从得到地特征值分布图像来看,内角点分布在红色的点状区域。具体地:
将特征值分布图像从色彩空间BGR转换为颜色空间HSV;
基于图像通道的颜色阈值,搜索点状区域的像素集合,获得红色的点状区域,红色通道的颜色阈值可以参见表1中的规范;
基于像素集合对点状区域进行逐个处理,计算点状区域的中心位置,得到角点的位置。
本公开实施例利用haar特征对棋盘格图像中的角点进行检测,检测后得到的点状区域是一个像素集合,计算该像素集合的中心点来得到棋盘格的角点。如图8所示为采用本公开实施例提供的棋盘格角点检测方法得到的特征值分布图像照片,图中纵横线交错的交界点为棋盘格角点,角点位置准确。
表1
参见图4,本公开实施例提供了一种用于相机参数标定的棋盘角点检测装置,包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行如上文所述棋盘角点检测方法。在一些实施例中,上述棋盘角点检测装置结构如图所示,可以包括:处理器(processor)310和存储器(memory)320,还可以包括通信接口(CommunicationInterface)330和总线340。其中,处理器310、通信接口330、存储器320可以通过总线340完成相互间的通信。通信接口330可以用于信息传输。处理器310可以调用存储器320中的逻辑指令,以执行上述实施例的实现3D显示的方法。
此外,上述的存储器320中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的实现3D显示的方法。存储器320可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。
此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器。
参见图5,本公开实施例提供了一种用于相机参数标定的棋盘角点检测装置,包括:
检测模块10,被配置为采用haar特征对棋盘格图像进行检测,得到haar特征值;
图像处理模块20,被配置为将haar特征值处理为特征值分布图像,其中haar特征值分布图像中包括点状区域;
计算模块30,被配置为计算点状区域的中心位置,得到角点。
在一些实施例中,图像处理模块,还被配置为:
对haar特征值进行运算后放入图像通道,形成特征值分布图像。
在一些实施例中,检测模块,还被配置为:
选取haar特征中的对角特征对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到haar特征值。
在一些实施例中,检测模块,还被配置为:
选取haar特征中的边界特征对棋盘格图像中存在灰度梯度的区域进行卷积计算,得到haar特征值。
在一些实施例中,图像处理模块,还被配置为:
在haar特征值为多个的情况下,对haar特征值分别取绝对值后分别放入不同的图像通道。
在一些实施例中,计算模块30,还被配置为:
将特征值分布图像从色彩空间BGR转换为颜色空间HSV;
搜索点状区域的像素集合;
基于像素集合,获取点状区域的中心位置为角点。
在一些实施例中,计算模块30,还被配置为:
基于图像通道的颜色阈值,搜索像素集合。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令设置为执行上述用于相机参数标定的棋盘角点检测方法。
本公开实施例提供了一种计算机程序产品,包括存储在计算机可读存储介质上的计算机程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使上述计算机执行上述用于相机参数标定的棋盘角点检测方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例提供的用于相机参数标定的棋盘角点检测方法和装置,可以提高用于相机参数标定的棋盘格角点检测的准确度。
以上描述和附图充分地示出了本公开的实施例,以使本领域技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。本公开实施例的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个...”限定的要素,并不排除在包括该要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
- 用于相机参数标定的棋盘角点检测方法和装置
- 一种适用于低质量图像的棋盘格角点检测方法及装置