预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一种基于扫描点的平面散乱点云边界的提取算法 1引言 平面散乱点云的特点是数量巨大,因此对求散乱点云的边界算法的要求是快速、准确。在这方面,散乱点云的三角划分的研究比较多,并且取得较多的研究成果。提出了许多三角优化准则以及优化三角形网格构造方法,其中最著名的是Delaunay三角化,它的应用有简单多边形Delaunay三角剖分。在边界提取方面有许多文章,如BruceShapiro等提出了如何产生树状或带物体的边界;RobertB根据局部梯度的方向信息来提取图象的边界。 浙江大学的李江雄提出了把散乱点云网格化,得到边界网孔和非边界网孔。把所有相邻的边界网孔相互连接起来,得到边界网孔环。把边界网孔环中每个边界网孔的最小凸边求出来就得到一段边界线,把各个分段的边界线连接起来就得到初始边界线,然后把初始边界线光顺化就得到边界线。该文完善了李江雄的边界网格确定的方法,同时提出了一种求平面散乱点云的最小凸边算法,使提取边界得以实现。 2边界网格的确定 把包围整个平面散乱点云的最小长方形求出来,然后用单位长度(横坐标和纵坐标的单位长度可以不同)把这个长方形划分为若干个一样大小的长方形称为网孔(在曲面边界变化远小于采样点的密度时,总有合适的间隔大小使得曲面的所有边界被边界孔包围。网格间隔的宽度应该远大于采样密度,同时又要远小于曲面边界轮廓的变化程度)。如图所示。 对于每一个网孔根据它的里面是否有扫描点分为两种情况:网孔里面没有扫描点,网孔里面有扫描点。有扫描点网孔称为实孔,没有扫描点的网孔称为虚孔。要判断一个网孔是否为边界网孔应该基于这个网孔周围8个方向的网孔是否为空:每个非最边上实孔的上、下、左、右4条边正对的4个网孔,实孔4个角的反向延长线所形成的右上、右下、左上、左下4个网孔。若要判断的网孔为实孔且周围4个正对网孔之中有一个为虚孔,则这个网孔为边界网孔;若该网孔为实孔且周围4个正对方向的网孔都是实孔,那么再看这个实孔右上、右下、左上、左下4个角的反向延长线所形成的网孔,若其中有一个为虚孔则该网孔是边界网孔,称为斜对方向边界网孔(当然,有一种情况例外,那就是实孔在最上面、最下面、最左面、最右面的时候,这个网孔是边界网孔)。相邻的边界网孔连接起来就构成多个封闭的环,每个封闭的环可以看成一个初始化的边界。 4个正对方向有虚孔的边界网孔又分为3种情况如图所示: (1)一条边的邻域为虚孔(设为空边)的边界网孔。 (2)两条边的邻域为虚孔的边界网孔。 (3)三条边的邻域为虚孔的边界网孔。 对于每种情况边界网孔要细化一条边界线: (1)有一条边的邻域为虚孔的边界网孔,若该网孔的空边与y轴平行,过y值最大和最小的两点(A,B)连接成一条直线,它将网孔分为两个部分,其中一部分包含空边。在包含空边的区域内作散乱点云的最小凸包。显然,该凸包包含直线AB,去掉直线AB就得到散乱点的最小凸包。 若网孔的空边与X轴平行的情况与此类似。 (2)有两条边的邻域为虚孔的情况,对于两条空边相连的情况,其中第一条边与一条空边的情况作相同处理,在另一区域处理第二条边;对于具有两条不相连的空边的情况,先将区域分为两个部分,然后依据上述方法处理。 (3)对于三条空边的情况,先在边界网孔内作散乱点最小凸包,然后解除离实边最近的两点即可。 斜对方向边界网孔的边界提取方法与上面有所不同。如图1所示,中间的网孔为要判断的网孔,要判断网孔的右上网孔为虚孔。具体的边界提取方法是:为便于描述在这里假设右上角反向延长所对应的网孔为虚孔,求出这个实孔的最上面的点假设为点A和最右面的点假设为点B,连接点A和点B,那么线段AB将这个实孔分为两个部分,求出包围右上角那一部分的最小凸边,然后去掉线段AB则可,如图2所示。其余三种情况与此类似。