一种曲面重建方法及装置与流程

文档序号:14266572阅读:606来源:国知局
一种曲面重建方法及装置与流程

本发明涉及计算机视觉技术领域,特别涉及一种曲面重建方法及装置。



背景技术:

三维重建(3dreconstruction)是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。

在三维重建过程中,曲面重建是其非常重要的部分。目前,大多曲面重建方案都是基于rgbd(rgb图像和depth深度图像信息的融合)点云的曲面重建。该方案主要包括:将深度相机采集到的rgbd数据转换为rgbd点云,然后计算点云中每个点的法向量,根据每个点的三维坐标及法向量,求得一个非常复杂的三维表面函数,根据该函数生成三角网格,大量三角网格便构建出了曲面。

但是应用上述方案进行曲面重建,求得该三维表面函数的过程非常复杂,计算量非常大。



技术实现要素:

本发明实施例的目的在于提供一种曲面重建方法及装置,降低曲面重建的复杂度及计算量。

为达到上述目的,本发明实施例公开了一种曲面重建方法,包括:

获取图像对应的点云,其中所述图像中的像素点与所述点云中的点一一对应;

根据所述图像中每个像素点的位置,对所述点云中的点进行排布,得到所述点云对应的点云矩阵;

针对所述点云矩阵中的每个第一点,构建所述第一点对应的第一预设数量个三角网格,其中,所述三角网格根据所述第一点及其第二预设数量个相邻点构建;

所有第一点对应的第一预设数量个三角网格拼接成目标曲面。

可选的,所述根据所述图像中每个像素点的位置,对所述点云中的点进行排布的步骤可以包括:

根据所述图像的尺寸,确定所述点云对应的点云矩阵的行列数;

根据所述图像中的每个像素点的位置,确定所述点云中的每个点在所述点云矩阵中所在的行与列;

针对所述点云中的每个点,将其排布到其所在的行与列,得到最终的点云矩阵。

可选的,所述构建所述第一点对应的第一预设数量个三角网格的步骤包括:

确定所述第一点的第二预设数量个相邻点;

根据所述第一点及所述相邻点,构建第一预设数量个三角网格;

判断构建的三角网格是否满足尺寸要求;

如果否,重新确定第二预设数量个相邻点,并重新构建第一预设数量个三角网格,直至满足所述尺寸要求。

可选的,所述第一预设数量为二,所述第二预设数量为三;所述点云矩阵中的每个元素中包括该元素对应点的第一位置信息;

所述根据所述第一点及所述相邻点,构建第一预设数量个三角网格的步骤可以包括:

在第一点及其三个相邻点中,确定最短的对角边;

根据所述第一点及其三个相邻点的第一位置信息,构建两个三角网格,所述两个三角网格的公共边为所述对角边。

可选的,在所述对所述点云中的点进行排布,得到所述点云对应的点云矩阵的步骤之后,还可以包括:

设定所述点云矩阵中每个点的第一索引;

在所述构建所述第一点对应的第一预设数量个三角网格的步骤之后,还包括:

针对每个三角网格,确定其三个顶点的第一索引;

将所述三个顶点的索引组成一个索引组,并将所述索引组确定为所述三角网格的第二索引;

所述所有第一点对应的第一预设数量个三角网格拼接成目标曲面的步骤可以包括:

根据各个三角网格的第二索引,对所述各个三角网格进行拼接,构成所述目标曲面。

可选的,所述获取图像对应的点云的步骤可以包括:

获取n台采集设备采集到的当前图像;其中,所述图像中包含颜色信息及第二位置信息,所述n大于等于1;

针对每台采集设备,根据预先设定的所述采集设备的内部参数及其采集到的当前图像的颜色信息及第二位置信息,将其采集到的当前图像转化为点云;

当所述n等于1时,所述点云为获取的一个点云;

当所述n大于1时,根据预先设定的所述n台采集设备的外部参数,将得到的n个点云转换至同一坐标系中,获取到n个最终点云。

可选的,所述获取到n个最终点云的步骤可以包括:

依次对转换至同一坐标系中的n个点云中的每个点云进行如下处理:

针对该点云中的每个第二点,确定该第二点的匹配点对;其中,所述匹配点对中包含n个点,所述n个点中每个点所在的点云不同;

针对所确定的每个匹配点对,将所述匹配点对进行融合,得到与该匹配点对对应的一个融合后的点;

将所述融合后的点替换对应的第二点。

可选的,当所述n大于1时,所述方法还可以包括:

将得到的n个目标曲面进行合并,生成三维模型。

为达到上述目的,本发明实施例还公开了一种曲面重建装置,包括:

获取模块,用于获取图像对应的点云,其中所述图像中的像素点与所述点云中的点一一对应;

排布模块,用于根据所述图像中每个像素点的位置,对所述点云中的点进行排布,得到所述点云对应的点云矩阵;

第一构建模块,用于针对所述点云矩阵中的每个第一点,构建所述第一点对应的第一预设数量个三角网格,其中,所述三角网格根据所述第一点及其第二预设数量个相邻点构建;

拼接模块,用于所有第一点对应的第一预设数量个三角网格拼接成目标曲面。

可选的,所述排布模块,可以包括:

第一确定子模块,用于根据所述图像的尺寸,确定所述点云对应的点云矩阵的行列数;

第二确定子模块,用于根据所述图像中的每个像素点的位置,确定所述点云中的每个点在所述点云矩阵中所在的行与列;

排布子模块,用于针对所述点云中的每个点,将其排布到其所在的行与列,得到最终的点云矩阵。

可选的,所述第一构建模块,可以包括:

第三确定子模块,用于确定所述第一点的第二预设数量个相邻点;

构建子模块,用于根据所述第一点及所述相邻点,构建第一预设数量个三角网格;

判断子模块,用于判断构建的三角网格是否满足尺寸要求;如果否,重新触发所述第三确定子模块。

可选的,所述第一预设数量为二,所述第二预设数量为三;所述点云矩阵中的每个元素中包括该元素对应点的第一位置信息;

所述构建子模块,具体可以用于:

在第一点及其三个相邻点中,确定最短的对角边;

根据所述第一点及其三个相邻点的第一位置信息,构建两个三角网格,所述两个三角网格的公共边为所述对角边。

可选的,所述装置还可以包括:

设定模块,用于设定所述点云矩阵中每个点的第一索引;

第一确定模块,用于针对每个三角网格,确定其三个顶点的第一索引;

第二确定模块,用于将所述三个顶点的索引组成一个索引组,并将所述索引组确定为所述三角网格的第二索引;

所述拼接模块,具体可以用于:

根据各个三角网格的第二索引,对所述各个三角网格进行拼接,构成所述目标曲面。

可选的,所述获取模块,可以包括:

获取子模块,用于获取n台采集设备采集到的当前图像;其中,所述图像中包含颜色信息及第二位置信息,所述n大于等于1;

转化子模块,用于针对每台采集设备,根据预先设定的所述采集设备的内部参数及其采集到的当前图像的颜色信息及第二位置信息,将其采集到的当前图像转化为点云;

当所述n等于1时,所述点云为获取的一个点云;

转换子模块,用于当所述n大于1时,根据预先设定的所述n台采集设备的外部参数,将得到的n个点云转换至同一坐标系中,获取到n个最终点云。

可选的,所述转换子模块,具体可以用于:

依次对转换至同一坐标系中的n个点云中的每个点云进行如下处理:

针对该点云中的每个第二点,确定该第二点的匹配点对;其中,所述匹配点对中包含n个点,所述n个点中每个点所在的点云不同;

针对所确定的每个匹配点对,将所述匹配点对进行融合,得到与该匹配点对对应的一个融合后的点;

将所述融合后的点替换对应的第二点。

可选的,所述装置还可以包括:

生成模块,用于当所述n大于1时,将得到的n个目标曲面进行合并,生成三维模型。

应用本方案,获取图像对应的点云,图像中的像素点与点云中的点一一对应;根据图像中每个像素点的位置,对点云中的点进行排布,得到点云对应的点云矩阵;在点云矩阵中,构建每个第一点对应的第一预设数量个三角网格,构建的每个三角网格拼接成目标曲面。由此可见,本方案不需要求得三维表面函数,过程简单,计算量低,提高了曲面重建效率。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的一种曲面重建方法的流程示意图;

图2为本发明实施例提供的三角网格构建方式示意图;

图3为本发明实施例提供的一种曲面重建装置的结构示意图。

具体实施方式

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

为了解决上述技术问题,本发明实施例提供了一种曲面重建方法及装置,可以应用于计算机、平板电脑等各种电子设备,具体不作限定。下面首先对本发明实施例提供的曲面重建方法进行详细说明。

图1为本发明实施例提供的一种曲面重建方法的流程示意图,包括:

s101:获取图像对应的点云,其中所述图像中的像素点与所述点云中的点一一对应。

获取采集设备采集的图像,该采集设备可以为rgbd相机。rgbd相机,能够同时获取rgb信息和深度(depth)信息(也就是颜色信息及位置信息),该相机获取到的每一帧图像包括一个二维的rgb图像和同维度包含每个点深度信息的深度图。也可以理解为,rgbd相机包括rgb图像传感器和深度图像传感器。

需要说明的是,本方案可以具有实时性,在本方案中,rgbd相机对目标场景进行图像采集,并把当前帧图像实时发送给执行本方案的电子设备。该电子设备接收该当前帧图像,并将其转化为点云。

在本方案中,采集设备可以有多台,多台采集设备针对同一目标场景进行图像采集。

s101可以包括:

获取n台采集设备采集到的当前图像;其中,所述图像中包含颜色信息及第二位置信息,所述n大于等于1;

针对每台采集设备,根据预先设定的所述采集设备的内部参数及其采集到的当前图像的颜色信息及第二位置信息,将其采集到的当前图像转化为点云;

当所述n等于1时,所述点云为获取的一个点云;

当所述n大于1时,根据预先设定的所述n台采集设备的外部参数,将得到的n个点云转换至同一坐标系中,获取到n个最终点云。

rgbd相机的内部参数主要包括:rgb图像传感器与深度图像传感器各自的焦距、主点、畸变系数、以及二者之间的旋转平移关系。该内部参数可以通过张正友标定法获取,当然也可以通过其他方法获取,在此不做限定。

针对每台采集设备,根据其内部参数,以及该采集设备采集到的当前图像中包含的颜色信息及第二位置信息,将该当前图像转化为点云。点云中的点与该当前图像中的像素点一一对应,点云中包含每个点的颜色信息及第一位置信息(rgb信息和深度信息)。

为了方便描述,这里将点云中每个点的位置信息、以及点云矩阵中每个元素中包括的该元素对应点的位置信息称为第一位置信息,将图像中像素点的位置信息称为第二位置信息。

当只有一台采集设备时,将该采集设备采集到的当前图像转化为一个点云,即获取了一个点云。

当有多台采集设备时(假设有n台,n大于1),将每台采集设备采集到的当前图像转化为一个点云,便获取了n个点云。根据这n台采集设备的外部参数,将这n个点云转换至同一坐标系中。该同一坐标系可以为世界坐标系,当然也可以为其他坐标系,在此不做限定。

外部参数可以理解为各rgbd相机之间的旋转平移关系。该外部参数可以通过黑白棋盘格、自制标定板等标定方法获取,还可以通过特征点提取的方式获取,具体的,可以提取特征点,确定该特征点在各rgbd相机中的坐标值,通过所确定的各个坐标值,计算各rgbd相机之间的旋转平移关系。

作为一种实施方式,可以将转换至同一坐标系中的n个点云作为获取到的n个最终点云。

作为另一种实施方式,将这n个点云转换至同一坐标系中之后,可以依次对这n个点云中的每个点云进行融合处理,将融合处理后的n个点云作为获取到的n个最终点云。融合处理过程如下:

针对点云中的每个第二点,确定该第二点的匹配点对;其中,所述匹配点对中包含n个点,所述n个点中每个点所在的点云不同;

针对所确定的每个匹配点对,将所述匹配点对进行融合,得到与该匹配点对对应的一个融合后的点;

将所述融合后的点替换对应的第二点。

第二点,可以为点云中的任一点,这里为了方便描述,将其称之为第二点。

举例来说,假设n为4,有四台采集设备分别对目标场景的前、后、左、右四个方位进行图像采集,这样,便获取了4个点云。将这4个点云转换至同一坐标系后,这4个点云的衔接部分可能存在局部多层现象。如果直接对转换至同一坐标系的4个点云进行曲面重建,重建的曲面可能会存在冗余面片、表面粗糙、拼接痕迹明显等缺陷。因此,需要依次对转换至同一坐标系中的4个点云进行融合处理。

假设这4个点云分别为点云1、点云2、点云3和点云4,点云中每个点的位置信息的表示形式为坐标(xi,yi,zi),颜色信息的表示形式为坐标(ri,gi,bi)。其中,i可以为点云的标识,这里可以取1-4,也就是说,点云1中每个点的位置信息的表示形式为坐标(x1,y1,z1),颜色信息的表示形式为坐标(r1,g1,b1),点云2中每个点的位置信息的表示形式为坐标(x2,y2,z2),颜色信息的表示形式为坐标(r2,g2,b2)……以此类推,不再赘述。

下面以对点云1进行融合处理为例进行说明,点云2-4的融合处理过程相同,不再赘述。

针对点云1中的每个点,确定其匹配点对。可以理解的是,假设目标场景中有一个点,该点位于4个点云的衔接部分,由于不可避免的误差,该点在点云1中的位置信息为(x1,y1,z1),颜色信息为(r1,g1,b1),该点在点云2中的位置信息为(x2,y2,z2),颜色信息为(r2,g2,b2),该点在点云3中的位置信息为(x3,y3,z3),颜色信息为坐标(r3,g3,b3),该点在点云4中的位置信息为(x4,y4,z4),颜色信息为坐标(r4,g4,b4);将该点在4个点云中对应的这4个点确定为匹配点对。具体的确定方式可以有多种,比如,根据点的位置信息、法向量、颜色信息等至少一种来确定出匹配点对。

需要强调的是,由于实际应用中的误差,针对各个点云确定出的匹配点对可能各不相同。举例来说,对点云1进行融合处理过程中,确定出点云1中的点a的匹配点对中包含4个点a、b、c、d,其中,点b为点云2中的点,点c为点云3中的点,点d为点云4中的点;但是,对点云2进行融合处理过程中,确定出点云2中的点b的匹配点对中可能不包含点a。

针对每个匹配点对,将该点对中的4个点融合为1个点,将该融合后的1个点替换掉原点云1中的点。具体的,融合后的点的位置信息为颜色信息为

其中,n为获取的点云的个数(这里为4),i为点云的标识(这里取1-4)。

延续上述例子,确定出点云1中的点a的匹配点对中包含4个点a、b、c、d;假设点a的位置信息为(14,24,34),颜色信息为(54,104,154);点b的位置信息为(12,22,32),颜色信息为(52,102,152);点c的位置信息为(18,28,38),颜色信息为坐标(58,108,158);点d的位置信息为(16,26,36,颜色信息为坐标(56,106,156)。

将这4个点进行融合处理,根据上式,确定出融合后的点的位置信息为(15,25,35),颜色信息为(55,105,155)。将融合后的点替换原点云1中的点a。

需要说明的是,在对点云逐一进行融合处理之后,可以遍历点云检查是否有遗漏的点云未进行融合处理,如果没有,继续执行后续步骤,如果有,将该遗漏的点云进行融合处理后,再继续执行后续步骤。

s102:根据所述图像中每个像素点的位置,对所述点云中的点进行排布,得到所述点云对应的点云矩阵。

点云矩阵是由点云中的点排布而成,因此,点云矩阵中的每个元素对应点云中的一个点。

具体的,该步骤可以包括:

根据所述图像的尺寸,确定所述点云对应的点云矩阵的行列数;

根据所述图像中的每个像素点的位置,确定所述点云中的每个点在所述点云矩阵中所在的行与列;

针对所述点云中的每个点,将其排布到其所在的行与列,得到最终的点云矩阵。

举例来说,假设图像分辨率为640×480,则确定点云对应的点云矩阵有480行、640列。图像中有640×480个像素点,点云矩阵中有640×480个元素,点云矩阵中每个元素对应一个像素点。根据图像中的每个像素点的位置,确定点云中的每个点在点云矩阵中所在的行与列,可以理解的是,图像中最左上方的那个像素点对应到点云矩阵中,其所对应的元素所在的位置为第一行第一列。

这样,确定出点云中每个点在点云矩阵中所在的行与列,也就是,对点云进行了排布,得到了最终的点云矩阵。

s103:针对所述点云矩阵中的每个第一点,构建所述第一点对应的第一预设数量个三角网格,其中,所述三角网格根据所述第一点及其第二预设数量个相邻点构建。

第一点,可以为点云矩阵中的任一点,这里为了方便描述,将其称之为第一点。本实施例中,可以针对点云矩阵中的每一个点都构建第一预设数量个三角网格。

具体的,可以确定所述第一点的第二预设数量个相邻点;

根据所述第一点及所述相邻点,构建第一预设数量个三角网格;

判断构建的三角网格是否满足尺寸要求;

如果否,重新确定第二预设数量个相邻点,并重新构建第一预设数量个三角网格,直至满足所述尺寸要求。

第二预设数量可以为3,第一预设数量可以为2,当然也可以为其他,在此不做限定。可以理解的是,点云矩阵中的每个元素中包括该元素对应点的第一位置信息,第一位置信息的表示形式可以三维坐标,也可以为其他。在本实施例中,为了区分描述,将点云中点的位置信息称为第一位置信息(点云中的点排布成点云矩阵后,其位置信息仍为第一位置信息),将图像中像素点的位置信息称为第二位置信息。

针对每个点,根据该点及其他点的第一位置信息确定与该点相邻的3个点。如图2所示,根据这4个点构建2个三角网格,有两种构建方式,方式1和方式2。

在本实施例中可以优先利用方式1构建2个三角网格,这样构建出的三角网格为锐角三角形,基于锐角三角形进行曲面构建效果更好一些。当然,也可以利用方式2构建,在此不做限定。

利用方式1构建三角网格的具体过程可以包括:

在第一点及其三个相邻点中,确定最短的对角边;根据所述第一点及其三个相邻点的第一位置信息,构建两个三角网格,所述两个三角网格的公共边为所述对角边。

可以理解的是,点云矩阵中的每个元素中包括该元素对应点的第一位置信息,因此,可以根据上述4个点的第一位置信息,确定一个最短的对角边,并且基于该对角边作为公共边,构建2个三角网格。

可选的,构建出2个三角网格之后,可以判断构建出的三角网格是否满足尺寸要求;如果否,重新确定第二预设数量个相邻点,并重新构建第一预设数量个三角网格,直至满足所述尺寸要求。

该尺寸要求可以针对三角网格的边长设定阈值,当构建的三角网格的边长大于该阈值时,则不满足尺寸要求,反之,则满足。还可以针对三角网格的面积设定阈值,当构建的三角网格的面积大于该阈值时,则不满足尺寸要求,反之,则满足。还可以针对三角网格的三个顶点之间的欧式距离设定阈值,当构建的三角网格三个顶点之间的欧式距离大于该阈值时,则不满足尺寸要求,反之,则满足。当然,该尺寸要求也可以为其他,不再一一列举。

如果不满足尺寸要求,则重新确定该点的第二预设数量个相邻点,重新构建第一预设数量个三角网格,直至满足尺寸要求。

或者,也可以采取另一种实施方式:在确定第一点的第二预设数量个相邻点时,可以针对确定出的每个相邻点判断其是否满足距离要求(该距离可以欧式距离也可以为其他,在此不做限定),如果满足,将该相邻点确定为合格相邻点。仅根据第一点及合格相邻点,构建第一预设数量个三角网格。

s104:所有第一点对应的第一预设数量个三角网格拼接成目标曲面。

延续上述例子,对4个点云进行融合处理后,分别对融合处理后的4个点云中的点进行排布,得到4个点云矩阵。应用上述方案分别得到这4个点云矩阵各自拼接成的的目标曲面。这4个目标曲面分别为目标场景前、后、左、右四个方位的目标曲面。这种情况下,将得到的这n(n为获取的点云的数量,这里为4)个曲面进行合成,生成三维模型。

作为一种实施方式,在对所述点云中的点进行排布,得到所述点云对应的点云矩阵的步骤之后,还可以设定所述点云矩阵中每个点的第一索引;在构建所述第一点对应的第一预设数量个三角网格的步骤之后,还可以针对每个三角网格,确定其三个顶点的第一索引;将所述三个顶点的索引组成一个索引组,并将所述索引组确定为所述三角网格的第二索引。

在本实施方式中,s104可以包括:根据各个三角网格的第二索引,对所述各个三角网格进行拼接,构成所述目标曲面。

为了方便描述,这里将点对应的索引称为第一索引,将三角网格对应的索引称为第二索引,其中,第二索引为一个索引组,该索引组中包含三个第一索引。第一索引可以为数字、字母等任意标识,这里假设第一索引为序号。

假设点云中有1000个点,将这1000个点排布成点云矩阵后,可以根据各个点的位置,设定每个点的序号。在构建三角网格后,确定三角网格中三个顶点的序号,假设某个三角网格的三个顶点的序号分别为100、101、120,将这三个顶点的序号组成一个索引组(100,101,120),将该索引组确定为该三角网格的索引。这样,在将所有三角网格拼接成目标曲面时,可以根据各个三角网格的第二索引,对各个三角网格进行拼接,构成该目标曲面。

可以理解的是,在将各个三角网格拼接成目标曲面的过程中,通常需要确定各个三角网格的位置。如果不进行索引的设置,则根据点云矩阵中各个点的位置信息(坐标值)确定各个点及各个三角网格的位置,过程繁琐容易出错。而在本实施方式中,设置各个点的第一索引及各个三角网格的第二索引,可以通过查找索引确定出各个点及各个三角网格的位置,查找方便。

在本发明的另一个实施例中,由于第二索引中包含了三个顶点对应的第一索引,因此,也可以通过查找第二索引确定出三角网格中三个点的位置,然后将各个三角网格拼接成目标曲面,这样,无需查找各个点的坐标位置,方便查找。

应用本发明图1所示实施例,获取图像对应的点云,图像中的像素点与点云中的点一一对应;根据图像中每个像素点的位置,对点云中的点进行排布,得到点云对应的点云矩阵;在点云矩阵中,构建每个第一点对应的第一预设数量个三角网格,构建的每个三角网格拼接成目标曲面。由此可见,本方案不需要求得三维表面函数,过程简单,计算量低,提高了曲面重建效率。

与上述方法实施例相对应,本发明实施例还提供一种曲面重建装置。

图3为本发明实施例提供的一种曲面重建装置的结构示意图,包括:

获取模块301,用于获取图像对应的点云,其中所述图像中的像素点与所述点云中的点一一对应;

排布模块302,用于根据所述图像中每个像素点的位置,对所述点云中的点进行排布,得到所述点云对应的点云矩阵;

第一构建模块303,用于针对所述点云矩阵中的每个第一点,构建所述第一点对应的第一预设数量个三角网格,其中,所述三角网格根据所述第一点及其第二预设数量个相邻点构建;

拼接模块304,用于所有第一点对应的第一预设数量个三角网格拼接成目标曲面。

在本实施例中,排布模块302,可以包括:第一确定子模块、第二确定子模块和排布子模块(图中未示出),其中,

第一确定子模块,用于根据所述图像的尺寸,确定所述点云对应的点云矩阵的行列数;

第二确定子模块,用于根据所述图像中的每个像素点的位置,确定所述点云中的每个点在所述点云矩阵中所在的行与列;

排布子模块,用于针对所述点云中的每个点,将其排布到其所在的行与列,得到最终的点云矩阵。

在本实施例中,第一构建模块303,可以包括:第三确定子模块、构建子模块和判断子模块(图中未示出),其中,

第三确定子模块,用于确定所述第一点的第二预设数量个相邻点;

构建子模块,用于根据所述第一点及所述相邻点,构建第一预设数量个三角网格;

判断子模块,用于判断构建的三角网格是否满足尺寸要求;如果否,重新触发所述第三确定子模块。

在本实施例中,所述第一预设数量为二,所述第二预设数量为三;所述点云矩阵中的每个元素中包括该元素对应点的第一位置信息;

所述构建子模块,具体可以用于:

在第一点及其三个相邻点中,确定最短的对角边;

根据所述第一点及其三个相邻点的第一位置信息,构建两个三角网格,所述两个三角网格的公共边为所述对角边。

在本实施例中,所述装置还可以包括:设定模块、第一确定模块和第二确定模块(图中未示出),其中,

设定模块,用于设定所述点云矩阵中每个点的第一索引;

第一确定模块,用于针对每个三角网格,确定其三个顶点的第一索引;

第二确定模块,用于将所述三个顶点的索引组成一个索引组,并将所述索引组确定为所述三角网格的第二索引;

拼接模块304,具体可以用于:

根据各个三角网格的第二索引,对所述各个三角网格进行拼接,构成所述目标曲面。

在本实施例中,获取模块301,可以包括:获取子模块、转化子模块和转换子模块(图中未示出),其中,

获取子模块,用于获取n台采集设备采集到的当前图像;其中,所述图像中包含颜色信息及第二位置信息,所述n大于等于1;

转化子模块,用于针对每台采集设备,根据预先设定的所述采集设备的内部参数及其采集到的当前图像的颜色信息及第二位置信息,将其采集到的当前图像转化为点云;

当所述n等于1时,所述点云为获取的一个点云;

转换子模块,用于当所述n大于1时,根据预先设定的所述n台采集设备的外部参数,将得到的n个点云转换至同一坐标系中,获取到n个最终点云。

在本实施例中,转换子模块,具体可以用于:

依次对转换至同一坐标系中的n个点云中的每个点云进行如下处理:

针对该点云中的每个第二点,确定该第二点的匹配点对;其中,所述匹配点对中包含n个点,所述n个点中每个点所在的点云不同;

针对所确定的每个匹配点对,将所述匹配点对进行融合,得到与该匹配点对对应的一个融合后的点;

将所述融合后的点替换对应的第二点。

在本实施例中,所述装置还可以包括:

生成模块(图中未示出),用于当所述n大于1时,将得到的n个目标曲面进行合并,生成三维模型。

应用本发明图3所示实施例,获取图像对应的点云,图像中的像素点与点云中的点一一对应;根据图像中每个像素点的位置,对点云中的点进行排布,得到点云对应的点云矩阵;在点云矩阵中,构建每个第一点对应的第一预设数量个三角网格,构建的每个三角网格拼接成目标曲面。由此可见,本方案不需要求得三维表面函数,过程简单,计算量低,提高了曲面重建效率。

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

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

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。

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

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