一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于Voronoi图的平行轮廓线分支处理方法及装置与流程

2021-10-27 20:29:00 来源:中国专利 TAG:平行 分支 装置 轮廓线 方法

基于voronoi图的平行轮廓线分支处理方法及装置
技术领域
1.本发明涉及三维建模和图形学领域,具体涉及一种基于voronoi图的平行轮廓线分支处理方法和装置。


背景技术:

2.采用物体的一系列轮廓线来重建三维形体表面是一种重要的三维建模方法,已广泛应用于医学ct切片成像、三维地质建模、地形表面重建等领域。基于轮廓线进行三维表面重构的过程中,当一个截面上的轮廓线对应相邻层上的多个轮廓线时,就引起分支问题。分支问题的合理解决,是确保分支部位建模质量的关键。目前,解决分支问题的方法,主要有分解组合轮廓线法(shinagawa and kunnii,1991)、中间层轮廓线插值法(ekoule et al.,1991)和中轴线插入法(oliva et al.,1996)。中间层轮廓线插值法和中轴线插入法由于计算量较大,算法复杂,不适用于实际应用;分解组合轮廓线方法则由于算法相对简洁,而得到较多应用。然而,该方法中分解或连接位置的选择至关重要,如何根据已有的轮廓线数据,准确计算出分解或连接位置,是影响后续轮廓线对应处理和三维表面重构质量的关键。


技术实现要素:

3.发明目的:本发明针对现有技术存在的问题,提供一种准确性高、计算量小的基于voronoi图的平行轮廓线分支处理方法及装置。
4.技术方案:本发明所述的基于voronoi图的平行轮廓线分支处理方法包括:
5.(1)获取待剖分轮廓线p和分支轮廓线集合s;
6.(2)通过坐标变换将分支轮廓线集合s投影到轮廓线p所在平面,得到投影后的分支轮廓线集合s’;
7.(3)从投影后的分支轮廓线集合s’中获取所有轮廓线定点,生成平面点集pp,并创建轮廓线voronoi图;
8.(4)基于voronoi图提取剖分线,存入剖分线集合sl;
9.(5)基于剖分线集合sl,分隔待剖分轮廓线p,得到剖分轮廓线,存入剖分轮廓线集合l;
10.(6)基于投影后的分支轮廓线集合s’与剖分轮廓线集合l,采用匹配法完成轮廓线对应。
11.进一步的,步骤(1)包括:
12.(1

1)读取分支轮廓线,将分支轮廓线存入分支轮廓线集合s={s
i
|i=1,2,

,dn};其中,s
i
表示第i个分支轮廓线,dn表示分支轮廓线数量;
13.(1

2)读取待剖分轮廓线p。
14.进一步的,步骤(2)包括:
15.(2

1)构建分支轮廓线集合s的外接矩形和待剖分轮廓线p的外接矩形;
16.(2

2)通过坐标变换将分支轮廓线集合s投影到轮廓线p所在平面,使得分支轮廓
线集合s的外接矩形和待剖分轮廓线p的外接矩形中心重合、大小一致,得到投影后的分支轮廓线集合s’={s’i
|i=1,2,

,dn};其中,s’i
表示第i个投影分支轮廓线,dn表示分支轮廓线数量。
17.进一步的,步骤(3)包括:
18.(3

1)获取投影后的分支轮廓线集合s’内所有轮廓线顶点,保存到平面点集pp={pp
i
|j=1,2,

,pn},其中,pp
i
表示第j个顶点,pn表示点数量;
19.(3

2)基于平面点集pp进行delaunary三角剖分,构建delaunary三角网t;
20.(3

3)基于delaunary三角网t构建泰森多边形,获得voronoi图。
21.进一步的,步骤(4)包括:
22.(4

1)裁剪生成的voronoi图,逐一获取平面点集pp中每个点对应的多边形,构建多边形集合mp={mp
j
|j=1,2,

,pn},其中,mp
j
表示第j个点对应的多边形,pn表示点数量;
23.(4

2)从多边形集合mp中获取归属于同一分支轮廓线的多边形,得到每个分支轮廓线s’i
各自的多边形集合sp
i

24.(4

3)合并每个多边形集合sp
i
内所有多边形面,构建对应剖分面m
i
,存入剖分面集合m={m
i
|i=1,2,

,dn},其中,dn表示剖分面数量;
25.(4

4)获取剖分面集合m内任意两两剖分面进行相接判断,若相接,则获取相接线作为剖分线sl
k
,存入剖分线集合sl={sl
k
|k=1,2,

,ln},其中,ln为剖分线数量。
26.进一步的,步骤(5)包括:
27.(5

1)将待剖分轮廓线p由线转换为面,得到剖分轮廓面p’;
28.(5

2)获取剖分线集合sl中所有剖分线,裁切剖分轮廓面p’,得到剖分轮廓面,存入剖分轮廓面集合kp’;
29.(5

3)将剖分轮廓面集合kp’内所有剖分轮廓面转换为剖分轮廓线,存入剖分轮廓线集合l={l
o
|o=1,2,

,on},其中,l
o
表示第o个剖分轮廓线,on表示剖分轮廓线数量。
30.进一步的,步骤(6)包括:
31.(6

1)分别获取投影后的分支轮廓线集合s’内各个投影分支轮廓线以及剖分轮廓线集合l内各个剖分轮廓线的外包矩形中心点;
32.(6

2)计算每个剖分轮廓线外包矩形中心点与每个投影分支轮廓线外包矩形中心点的距离,距离越短代表越接近,按照接近程度重新排列剖分轮廓线集合l内剖分轮廓线顺序,排列后的顺序与投影后的分支轮廓线集合s’内分支轮廓线顺序保持一致,从而将剖分轮廓线于分支轮廓线对应起来。
33.本发明所述的基于voronoi图的平行轮廓线分支处理装置,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
34.有益效果:本发明与现有技术相比,其显著优点是:本发明既可以高效准确的解决轮廓线分支问题,又具有较高的自动化程度,计算量也较小。
附图说明
35.图1是本实施例中采用的分支轮廓线和待剖分轮廓线(a为俯视图,b为侧视图);
36.图2是本发明的流程图;
37.图3是本实施例中投影后的分支轮廓线示意图(a为俯视图,b为侧视图);
38.图4是本实施例的delaunary三角网示意图;
39.图5是本实施例的voronoi图示意图;
40.图6是本实施例的剖分面和剖分线示意图(a为剖分面,b为剖分线);
41.图7是本实施例的剖分轮廓线;
42.图8是本实施例的轮廓线三维表面重构示意图。
具体实施方式
43.下面对本发明技术方案作进一步详细的说明,本实施例的实验数据采用的是某研究区域的侵入岩轮廓线数据,如图1所示。下面结合附图,并通过描述一个具体的实施例,来进一步说明。
44.如图2所示,本发明提供一种基于voronoi图的平行轮廓线分支处理方法,具体包括如下步骤:
45.(1)获取待剖分轮廓线p和分支轮廓线集合s。
46.该步骤具体包括:
47.(1

1)读取分支轮廓线,将分支轮廓线存入分支轮廓线集合s={s
i
|i=1,2,

,dn};其中,s
i
表示第i个分支轮廓线,dn表示分支轮廓线数量;如图1所示,本实施例中dn=3;
48.(1

2)读取待剖分轮廓线p。
49.(2)通过坐标变换将分支轮廓线集合s投影到轮廓线p所在平面,得到投影后的分支轮廓线集合s’。在本实施例中,投影前后的轮廓线如图3所示。
50.该步骤具体包括:
51.(2

1)构建分支轮廓线集合s的外接矩形和待剖分轮廓线p的外接矩形;
52.(2

2)通过坐标变换将分支轮廓线集合s投影到轮廓线p所在平面,使得分支轮廓线集合s的外接矩形和待剖分轮廓线p的外接矩形中心重合、大小一致,得到投影后的分支轮廓线集合s’={s’i
|i=1,2,

,dn};其中,s’i
表示第i个投影分支轮廓线,dn表示分支轮廓线数量。
53.上述坐标变换的计算方法,参考于下列文件:philip j.s.,david h.e.,geometric tools for computer graphics,elsevier science,2003,p93

95.
54.(3)从投影后的分支轮廓线集合s’中获取所有轮廓线定点,生成平面点集pp,并创建轮廓线voronoi图。
55.该步骤具体包括:
56.(3

1)获取投影后的分支轮廓线集合s’内所有轮廓线顶点,保存到平面点集pp={pp
i
|j=1,2,

,pn},其中,pp
i
表示第j个顶点,pn表示点数量;本实施例中pn=159;
57.(3

2)基于平面点集pp进行delaunary三角剖分,构建delaunary三角网t;本实施例中,三角网t如图4所示。其中,delaunary三角剖分计算方法,参考于下列文件:philip j.s.,david h.e.,geometric tools for computer graphics,elsevier science,2003,p556

558;
58.(3

3)基于delaunary三角网t构建泰森多边形,获得voronoi图。本实施例中,构建的voronoi图如图5所示。其中,voronoi图生成方法,参考于下列文件:[1]刘少华,罗小龙,
何幼斌,刘学锋,吴东胜.基于delauany三角网的泰森多边形生成算法研究[j].长江大学学报(自科版)理工卷,2007(01):100

103;
[0059]
(4)基于voronoi图提取剖分线,存入剖分线集合sl。
[0060]
该步骤具体包括:
[0061]
(4

1)裁剪生成的voronoi图,逐一获取平面点集pp中每个点对应的多边形,构建多边形集合mp={mp
j
|j=1,2,

,pn},其中,mp
j
表示第j个点对应的多边形,pn表示点数量;
[0062]
(4

2)从多边形集合mp中获取归属于同一分支轮廓线的多边形,得到每个分支轮廓线s’i
各自的多边形集合sp
i

[0063]
(4

3)合并每个多边形集合sp
i
内所有多边形面,构建对应剖分面m
i
,存入剖分面集合m={m
i
|i=1,2,

,dn},其中,dn表示剖分面数量;在本实施例中,构建的剖分面如图6(a)所示;
[0064]
(4

4)获取剖分面集合m内任意两两剖分面进行相接判断,判断方法采用开源类库gdal完成,若相接,则获取相接线作为剖分线sl
k
,存入剖分线集合sl={sl
k
|k=1,2,

,ln},其中,ln为剖分线数量。在本实施例中,ln=2,构建的剖分线如图6(b)所示。
[0065]
(5)基于剖分线集合sl,分隔待剖分轮廓线p,得到剖分轮廓线,存入剖分轮廓线集合l。
[0066]
该步骤具体包括:
[0067]
(5

1)将待剖分轮廓线p由线转换为面,得到剖分轮廓面p’;
[0068]
(5

2)获取剖分线集合sl中所有剖分线,裁切剖分轮廓面p’,得到剖分轮廓面,存入剖分轮廓面集合kp’;
[0069]
(5

3)将剖分轮廓面集合kp’内所有剖分轮廓面转换为剖分轮廓线,存入剖分轮廓线集合l={l
o
|o=1,2,

,on},其中,l
o
表示第o个剖分轮廓线,on表示剖分轮廓线数量。在本实施例中,on=3,构建的剖分轮廓线如图7所示。
[0070]
(6)基于投影后的分支轮廓线集合s’与剖分轮廓线集合l,采用匹配法完成轮廓线对应。
[0071]
该步骤具体包括:
[0072]
(6

1)分别获取投影后的分支轮廓线集合s’内各个投影分支轮廓线以及剖分轮廓线集合l内各个剖分轮廓线的外包矩形中心点;
[0073]
(6

2)计算每个剖分轮廓线外包矩形中心点与每个投影分支轮廓线外包矩形中心点的距离,距离越短代表越接近,按照接近程度重新排列剖分轮廓线集合l内剖分轮廓线顺序,排列后的顺序与投影后的分支轮廓线集合s’内分支轮廓线顺序保持一致,从而将剖分轮廓线于分支轮廓线对应起来。
[0074]
在本实施例中,通过分支处理后的轮廓线进行三维表面重构如如图8所示。本发明实施例中基于gdal/ogr提供部分gis操作,相关步骤也可以使用supermap、arcgi sobject等软件的api进行相应gis操作。
[0075]
本实施例还提供了一种基于voronoi图的平行轮廓线分支处理装置,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
[0076]
以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范
围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜