一种新的试验设计算法的制作方法

文档序号:12612581阅读:277来源:国知局

本发明涉及数据处理领域,尤其涉及一种新的试验设计算法。



背景技术:

近年来,随着三维扫描仪成本的降低以及精度的提高,三维点云数据已经成为图形学、逆向工程和工业领域中一种重要的数据表现形式。然而原始采集的三维点云数据量非常大,这对后期的三维重建带来很大的困难,因此三维点云的去噪和简化工作是点云处理中至关重要的一个环节。

目前三维点云数据精简的算法有基于聚类的简化、基于曲率的简化等,这些方法虽然能够在一定程度上精简点云数量,保留点云模型的特征,提高模型的重建效果,但是由于大多需要进行递归操作或者曲率估算,所以对于点云数据量较大的模型,此类算法显得非常耗时。

鉴于上述缺陷,本发明创作者经过长时间的研究和实践终于获得了本创作。



技术实现要素:

本发明的目的在于提供一种新的试验设计算法,用以克服上述技术缺陷。

为实现上述目的,本发明提供一种新的试验设计算法,具体过程为:

S1、输入点云数据,建立k-d树以形成散乱点云之间的拓扑关系;

S2、利用点云数据生成包围三维点云模型的立方体Vm,并将该立方体依据点云模型的中心点分为8个子矩阵,将所有的数据点依据其空间所在位置进行归类,归入各自的子矩阵中;

S3、依据点云模型子矩阵,将立方体Vm的每一个面分为4个子平面,根据上述步骤b中的射线生成方法生成射线;

S4、计算子矩阵)中每个数据点到通过该立方体的每条射线之间的距 离A,并由数据点到中心点Mid之间的距离得出每个数据点相应的判断阈值B,若A﹤B,则视为数据点需要被精简。

优选地,在上述步骤S2中,

根据两点确定一条直线的原理,以三维点云模型的中心点作为所有射线的公共点,则只需要按一定规则生成射线另一点的坐标,就可以生成所有的射线;

S21、生成一个最小的能够包围点云模型的立方体Vm,设该立方体的边长为L,散乱点云在X、Y、Z轴方向的最大值和最小值分别为:Xmax、Ymax、Zmax、Xmin、Ymin、Zmin,则立方体边长的计算方法如下:

L=Max((Xmax-Xmin),(Ymax-Ymin),(Zmax-Zmin))

L为边长,(Xmin,Ymin,Zmin)为一顶点,作矩阵体,并使其能够完全包围点云模型;

S22、在矩阵体的6个平面上生成所需要的点,以某一与xoy面平行的平面为例,设该平面分别平行于X轴和Y轴的两边为L1、L2,并且已知两边的端点分别为P1(x1,y1,z1)、P2(x2,y2,z2)和P2、P3(x3,y3,z3)。

优选地,在上述步骤S2中,设阈值d,假设生成的点为Pi(xi,yi,zi),则生成点坐标计算方法如下:

xi=(i/d)×(x1-x2)+x2 (i=0,1,2,...,d-1,d)

yi=(i/d)×(y3-y2)+y2 (i=0,1,2,...,d-1,d)

zi=z1=z2=z3 (i=0,1,2,...,d-1,d)

则每个平面上生成点的数量为(d-1)2,可生成(d-1)2+4条射线,由此可以通过调节阈值d的大小,以控制射线的数量,从而控制点云模型的精简程度。

与现有技术相比较本发明的有益效果在于:本发明提出了一种不基于曲率计算的三维点云数据精简算法,在一定的精简程度范围内,该算法具有良好的精简效果及效率。特别适合类球类模型和对称模型,为了提高算法的适应性,更好地解决模型中心点位置的不合理进而影响精简效果的问题;从而避免了耗时的递归操作和曲率计算,其时间消耗随点云数据的增加呈线性增长,而非指数级增长。

具体实施方式

以下结合实施例,对本发明上述的和另外的技术特征和优点作更详细的说明。

一种新的试验设计算法,具体过程为:

S1、输入点云数据,建立k-d树以形成散乱点云之间的拓扑关系;

S2、利用点云数据生成包围三维点云模型的立方体Vm,并将该立方体依据点云模型的中心点分为8个子矩阵,将所有的数据点依据其空间所在位置进行归类,归入各自的子矩阵中;

S3、依据点云模型子矩阵,将立方体Vm的每一个面分为4个子平面,根据上述步骤b中的射线生成方法生成射线;

S4、计算子矩阵)中每个数据点到通过该立方体的每条射线之间的距离A,并由数据点到中心点Mid之间的距离得出每个数据点相应的判断阈值B,若A﹤B,则视为数据点需要被精简。

在上述步骤S2中,

根据两点确定一条直线的原理,以三维点云模型的中心点作为所有射线的公共点,则只需要按一定规则生成射线另一点的坐标,就可以生成所有的射线;

S21、生成一个最小的能够包围点云模型的立方体Vm,设该立方体的边长为L,散乱点云在X、Y、Z轴方向的最大值和最小值分别为:Xmax、Ymax、Zmax、Xmin、Ymin、Zmin,则立方体边长的计算方法如下:

L=Max((Xmax-Xmin),(Ymax-Ymin),(Zmax-Zmin))

L为边长,(Xmin,Ymin,Zmin)为一顶点,作矩阵体,并使其能够完全包围点云模型;

S22、在矩阵体的6个平面上生成所需要的点,以某一与xoy面平行的平面为例,设该平面分别平行于X轴和Y轴的两边为L1、L2,并且已知两边的端点分别为P1(x1,y1,z1)、P2(x2,y2,z2)和P2、P3(x3,y3,z3)。

在上述步骤S2中,设阈值d,假设生成的点为Pi(xi,yi,zi),则生成点坐标计算方法如下:

xi=(i/d)×(x1-x2)+x2 (i=0,1,2,...,d-1,d)

yi=(i/d)×(y3-y2)+y2 (i=0,1,2,...,d-1,d)

zi=z1=z2=z3 (i=0,1,2,...,d-1,d)

则每个平面上生成点的数量为(d-1)2,可生成(d-1)2+4条射线,由此可以通过调节阈值d的大小,以控制射线的数量,从而控制点云模型的精简程度

以上所述仅为本发明的较佳实施例,对发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。

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