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

三维模型多格网的平面融合方法、系统及电子设备与流程

2022-03-09 02:45:37 来源:中国专利 TAG:


1.本发明涉及三维重建技术领域,具体涉及一种三维模型多格网的平面融合方法、系统及电子设备。


背景技术:

2.三维模型包含结构图与纹理图两部分,如图1至图3所示,其中,图1表示三维模型,图2表示三维模型的结构图,图3表示三维模型的纹理图;在图4中,选定图2所示的三维模型结构图中的一部分进行放大,可以看到其由多个格网(三角面片)组成,每个三角面片在纹理贴图中都有一块纹理与之对应;三维重建中,在纹理计算环节,会为每个格网计算其所对应的纹理,并最终形成纹理贴图,各个三角面片所对应的纹理的空间位置关系决定了纹理贴图的大小,进而影响到了三维模型的大小。
3.相关技术中常常将每个三角面片所对应的纹理按照矩形的方式独立摆放,这种方式浪费纹理贴图的空间,导致增加模型的大小。
4.针对相关技术中浪费纹理贴图空间、增加模型大小的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明的主要目的在于提供一种三维模型多格网的平面融合方法及系统,以解决相关技术中浪费纹理贴图空间、增加模型大小的问题。
6.为了实现上述目的,本发明的第一方面提供了一种三维模型多格网的平面融合方法,包括:
7.获取三维模型的第一纹理贴图中每个纹理对应的格网;
8.将多个处于同一平面的格网融合成一个多边形的融合平面;
9.将所述融合平面的纹理整块保存在第二纹理贴图中。
10.可选地,所述将多个处于同一平面的格网融合成一个多边形的融合平面包括:
11.将多个处于同一平面的格网添加到平面格网集中;
12.将平面格网集中的所有格网进行合并,融合成一个多边形的融合平面。
13.进一步地,所述将多个处于同一平面的格网添加到平面格网集中包括:
14.以一个指定的第一格网为基础,向外扩展,遍历与所述第一格网共边的第二格网;
15.将所述第二格网中与第一格网处于同一平面的第三格网添加到平面格网集中,所述平面格网集中预先包含所述第一格网。
16.进一步地,所述方法还包括:
17.扩展遍历步骤:以新添加的所述第三格网为基础,向外扩展,遍历与所述第三格网共边的第四格网;
18.平面格网添加步骤:将所述第四格网中与所述第一格网、第三格网处于同一平面的第五格网添加到平面格网集中;
19.重复上述扩展遍历步骤和平面格网添加步骤,直到第一纹理贴图中的所有纹理对应的格网中没有新的格网加入到平面格网集中。
20.可选地,所述将所述第二格网中与第一格网处于同一平面的第三格网添加到平面格网集中,包括:
21.确定所述第一格网对应的第一法线和所述第二格网中的格网对应的第二法线;
22.分别计算所述第二法线与第一法线之间的夹角;
23.如果所述夹角小于根阈值,则所述第二法线对应的第二格网中的格网与所述第一格网处于同一平面,将所述第二法线对应的第二格网中的格网作为第三格网添加到平面格网集中。
24.可选地,所述将所述第四格网中与所述第一格网、第三格网处于同一平面的第五格网添加到平面格网集中,包括:
25.确定所述第三格网对应的第三法线和所述第四格网中的格网对应的第四法线;
26.分别计算所述第四法线与第一法线之间的第一夹角;
27.分别计算所述第四法线与第三法线之间的第二夹角;
28.如果所述第一夹角小于根阈值且所述第二夹角小于边缘阈值,则所述第四法线对应的第四格网中的格网与所述第一格网、第三格网处于同一平面,将所述第四法线对应的第四格网中的格网作为第五格网添加到平面格网集中。
29.可选地,所述将平面格网集中的所有格网进行合并,融合成一个多边形的融合平面,包括:
30.将平面格网集中的所有格网进行合并,遍历所有格网的边;
31.如果所述边对应的所有格网均在平面格网集中,则简化所述边;
32.如果所述边对应的所有格网中存在格网不在平面格网集中,则将所述边作为平面边界的边;
33.通过平面边界的所有边,融合成一个多边形的融合平面。
34.本发明的第二方面提供了一种三维模型多格网的平面融合系统,包括:
35.获取单元,用于获取三维模型的第一纹理贴图中每个纹理对应的格网;
36.融合单元,用于将多个处于同一平面的格网融合成一个多边形的融合平面;
37.保存单元,用于将所述融合平面的纹理整块保存在第二纹理贴图中。
38.本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行第一方面任意一项提供的三维模型多格网的平面融合方法。
39.本发明的第四方面提供了一种电子设备,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面任意一项提供的三维模型多格网的平面融合方法。
40.在本发明实施例提供的三维模型多格网的平面融合方法中,首先获取三维模型的第一纹理贴图中每个纹理对应的格网;然后将多个处于同一平面的格网融合成一个多边形的融合平面;最后将所述融合平面的纹理整块保存在第二纹理贴图中。本发明通过将多个同一平面的格网组成一个多边形的融合平面,针对这一个融合平面生成一整块纹理贴图,
而不是一堆针对格网的纹理贴图,有效提升了整张纹理贴图的利用率,进而达到了降低模型大小的目的,解决了相关技术中浪费纹理贴图空间、增加模型大小的问题。
附图说明
41.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为现有技术中的三维模型;
43.图2为现有技术中三维模型的结构图;
44.图3为现有技术中三维模型的纹理图;
45.图4为对三维模型结构图中的一部分进行放大后的纹理贴图;
46.图5为本发明第一实施例提供的平面融合方法流程示意图;
47.图6为本发明第二实施例提供的平面融合方法流程示意图;
48.图7为本发明第三实施例提供的平面融合方法流程示意图;
49.图8为本发明提供的三维模型的第一纹理贴图;
50.图9为本发明第四实施例提供的平面融合方法流程示意图;
51.图10为本发明提供的同一平面格网融合成的多边形融合平面;
52.图11为本发明第一实施例提供的平面融合系统框图;
53.图12为本发明提供的电子设备框图。
具体实施方式
54.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
55.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
56.在本发明中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的系统、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
57.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领
域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
58.此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个系统、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
59.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
60.三维模型包含结构图与纹理图两部分,如图1至图3所示,其中,图1表示三维模型,图2表示三维模型的结构图,图3表示三维模型的纹理图;在图4中,选定图2所示的三维模型结构图中的一部分进行放大,可以看到其由多个格网(三角面片)组成,每个三角面片在纹理贴图中都有一块纹理与之对应;三维重建中,在纹理计算环节,会为每个格网计算其所对应的纹理,并最终形成纹理贴图,各个三角面片所对应的纹理的空间位置关系决定了纹理贴图的大小,进而影响到了三维模型的大小。相关技术中常常将每个三角面片所对应的纹理按照矩形的方式独立摆放,这种方式浪费纹理贴图的空间,导致增加模型的大小。
61.为了解决上述问题,本发明第一实施例提供了一种三维模型多格网的平面融合方法,如图5所示,该方法包括如下的步骤s1至步骤s3:
62.步骤s1:获取三维模型的第一纹理贴图中每个纹理对应的格网;三维模型的第一纹理贴图为将每个格网对应的纹理按照矩形的方式独立摆放得到的三维模型的纹理图,获取第一纹理贴图中按照矩形方式独立摆放的纹理对应的格网;
63.步骤s2:将多个处于同一平面的格网融合成一个多边形的融合平面;获取每个纹理对应的格网后,判断获取的所有格网中是否包含处于同一平面的格网,如果包含,则将所有处于同一平面的格网进行融合,构成一个多边形的融合平面,多边形可以是三角形、四边形、五边形等平面图形。
64.基于上述实施例,本发明第二实施例提供的方法如图6所示,所述步骤s2包括:
65.步骤s21:将多个处于同一平面的格网添加到平面格网集中;
66.建立平面格网集,将所有处于同一平面的格网添加到平面格网集中,方便对第一纹理贴图中处于同一平面的格网进行管理。
67.基于上述实施例,本发明第三实施例提供的方法如图7所示,所述步骤s21包括:
68.步骤s211:以一个指定的第一格网为基础,向外扩展,遍历与所述第一格网共边的第二格网;
69.在获取处于同一平面的格网时,由于每个格网为三角面片,呈三角形,因此,首先指定一个格网为第一格网,然后以第一格网为基础,根据第一格网的三条边向外扩展,遍历与第一格网的三条边分别共边的第二格网,第二格网与第一格网共边;
70.第二格网可以包含最多三个格网,最少一个格网;当第二格网包含三个格网时,第一格网的三条边中每条边都对应一个共边的格网,当第二格网包含一个格网时,第一格网的三条边中只有一条边对应有共边的格网。
71.步骤s212:将所述第二格网中与第一格网处于同一平面的第三格网添加到平面格网集中,所述平面格网集中预先包含所述第一格网。
72.得到与第一格网共边的第二格网后,判断第二格网中是否包含与第一格网处于同
一平面的格网,如果包含,则将与第一格网处于同一平面的格网作为第三格网添加到平面格网集;由于平面格网集中均为同一平面的格网,第三格网是以第一格网为基础得到的,因此,预先将第一格网放入平面格网集中。
73.具体的,所述步骤s212中的将所述第二格网中与第一格网处于同一平面的第三格网添加到平面格网集中,包括:
74.确定所述第一格网对应的第一法线和所述第二格网中的格网对应的第二法线;当第二格网中包含多个格网时,第二法线包含各个格网分别对应的法线;
75.分别计算所述第二法线与第一法线之间的夹角;分别计算第二法线包含的各个法线与第一法线之间的夹角;
76.如果所述夹角小于根阈值,则所述第二法线对应的第二格网中的格网与所述第一格网处于同一平面,将所述第二法线对应的第二格网中的格网作为第三格网添加到平面格网集中。在实验统计过程中代入不同的具体角度值进行实验,得到根阈值,当第二法线与第一法线之间的夹角小于根阈值时,可以认为第二法线对应的格网与第一法线对应的第一格网处于同一平面,将该格网作为第三格网添加到平面格网集中。
77.以一个指定的格网g0为基础,其法线为n0,遍历和其共边的其他格网g1、g2、g3,其对应的法线分别为n1、n2、n3,分别计算angle《n0,n1》(法线n0与n1的夹角),angle《n0,n2》,angle《n0,n3》,当夹角小于根阈值的时候,将对应的格网放入平面格网集中{g0、g1、g2},其中,根阈值通过代入具体角度值进行实验统计获得。
78.为解释说明本发明的技术方案,本发明提供的三维模型的第一纹理贴图如图8所示,其中,格网g3的法线为n3;以格网g1为基础,其法线为n1,遍历和其共边的其他格网g
11
、g
12
、g2,其对应的法线分别为n
11
、n
12
、n2。
79.基于上述实施例,本发明第四实施例提供的方法如图9所示,在所述步骤s212之后,所述方法还包括:
80.步骤s213:扩展遍历步骤:以新添加的所述第三格网为基础,向外扩展,遍历与所述第三格网共边的第四格网;
81.与步骤s211类似,在通过第一格网向外扩展得到第三格网后,再以平面格网集中新添加的第三格网为基础,根据第三格网的三条边向外扩展,遍历与第三格网中除与第一格网共边外的两条边共边的第四格网;由于第三格网是与第一格网共边向外扩展的格网,每个格网均有三条边,因此第三格网中最多包含3个格网,根据第三格网中每个格网除与第一格网共边外的两条边继续向外扩展,得到每个格网与另外两条边共边的第四格网,因此第三格网中每个格网对应的第四格网中最多包含2个格网。
82.步骤s214:平面格网添加步骤:将所述第四格网中与所述第一格网、第三格网处于同一平面的第五格网添加到平面格网集中;
83.与步骤s212类似的是,在得到与第三格网中除与第一格网共边外的两条边共边的第四格网后,将第四格网中与第一格网处于同一平面且与第三格网处于同一平面的格网作为第五格网添加到平面格网集;与步骤s212不同的是,步骤s214的平面格网添加步骤中,所添加的第五格网不仅要与第一格网处于同一平面,还要与第三格网处于同一平面,以确保添加到平面格网集中的格网两两之间处于同一平面。
84.具体的,所述步骤s214,平面格网添加步骤中的将所述第四格网中与所述第一格
网、第三格网处于同一平面的第五格网添加到平面格网集中,包括:
85.确定所述第三格网对应的第三法线和所述第四格网中的格网对应的第四法线;第三格网中的每个格网对应各自的第四格网,且每个格网对应的第四格网中最多包含两个格网,确定与第三格网中的格网对应的第四格网中所包含各格网的第四法线;
86.分别计算所述第四法线与第一法线之间的第一夹角;
87.分别计算所述第四法线与第三法线之间的第二夹角;
88.如果所述第一夹角小于根阈值且所述第二夹角小于边缘阈值,则所述第四法线对应的第四格网中的格网与所述第一格网、第三格网处于同一平面,将所述第四法线对应的第四格网中的格网作为第五格网添加到平面格网集中。
89.当第一夹角小于根阈值时,可以认为第四格网中的格网与第一格网处于同一平面,当第二夹角小于根阈值时,可以认为第四格网中的格网与第三格网处于同一平面,为了保证添加到平面格网集中的格网两两之间均处于同一平面,当第一夹角小于根阈值且所述第二夹角小于边缘阈值时,第四格网中的格网与第一格网、第三格网处于同一平面,将该格网作为第五格网添加到平面格网集中。
90.分别以新加入平面格网集中的格网为基础,向外扩展,如以g1为基础,遍历其共边的新格网g
11
、g
12
,其对应的法线分别为n
11
、n
12
,分别计算angle《n0,n
11
》,angle《n1,n
11
》,angle《n0,n
12
》,angle《n1,n
12
》,当angle《n0,n
11
》小于根阈值,且angle《n1,n
11
》小于边缘阈值的时候,将对应格网g
11
放入平面格网集中{g0、g1、g2、g
11
},边缘阈值通过代入具体角度值进行实验统计获得。
91.步骤s215:重复上述扩展遍历步骤和平面格网添加步骤,直到第一纹理贴图中的所有纹理对应的格网中没有新的格网加入到平面格网集中。不断迭代以上过程直到平面格网集没有新的格网加入,此时,第一纹理贴图中所有与指定第一格网处于同一平面的格网均在平面格网集中。
92.步骤s22:将平面格网集中的所有格网进行合并,融合成一个多边形的融合平面。由于平面格网集中均为处于同一平面的格网,因此可以进行合并,融为一个多边形的融合平面,减小纹理图的大小。
93.具体的,所述步骤s22包括:
94.将平面格网集中的所有格网进行合并,遍历所有格网的边;
95.如果所述边对应的所有格网均在平面格网集中,则简化所述边;一条所述边对应的格网的数量最多为两个;
96.如果所述边对应的所有格网中存在格网不在平面格网集中,则将所述边作为平面边界的边;当一条所述边对应的某个格网不在平面格网集中时,可以将所述边作为平面边界的边,平面边界的所有边围出一个多边形的融合平面。
97.通过平面边界的所有边,融合成一个多边形的融合平面。
98.将平面格网集中的所有格网进行合并,遍历所有格网的边,如果边对应的最多两个格网均在平面格网集{g0、g1、g2、g
11
、...}中,则简化当前边,如果边的其中一边不在平面格网集中,则将当前边作为平面边界的边,最终由平面边界的所有边围成多个同一平面格网组成的多边形融合平面,如图10所示,图中的线条为多边形融合平面的平面边界。
99.步骤s3:将所述融合平面的纹理整块保存在第二纹理贴图中。第二纹理贴图为针
对一个多边形的融合平面生成的一整块纹理贴图;获取融合得到的多边形的融合平面,对所述融合平面生成一整块纹理贴图,得到三维模型的第二纹理贴图。
100.本发明通过将多个同一平面的格网组成一个多边形的融合平面,针对这一个融合平面生成一整块纹理贴图,而不是一堆针对三角面片的纹理贴图,这样有效提升了整张纹理贴图的利用率,进而达到了降低模型大小的目的;同时本方法所融合出的平面,也可以为模型简化提供基础输入,基于此可以在简化模型的同时最大限度地保持了模型的几何结构的清晰、完整。
101.从以上的描述中,可以看出,本发明实现了如下技术效果:
102.本发明通过将多个同一平面的格网组成一个多边形的融合平面,针对这一个融合平面生成一整块纹理贴图,而不是一堆针对格网的纹理贴图,有效提升了整张纹理贴图的利用率,进而达到了降低模型大小的目的,解决了相关技术中浪费纹理贴图空间、增加模型大小的问题;
103.并且,本发明中的融合平面还可以用于三维模型结构图的智能简化,在完成模型简化的同时,保证模型主体结构完整不受影响。
104.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
105.本发明第一实施例还提供了一种用于实施上述三维模型多格网的平面融合方法的三维模型多格网的平面融合系统,如图11所示,该系统包括:
106.获取单元111,用于获取三维模型的第一纹理贴图中每个纹理对应的格网;
107.融合单元112,用于将多个处于同一平面的格网融合成一个多边形的融合平面;
108.保存单元113,用于将所述融合平面的纹理整块保存在第二纹理贴图中。
109.本发明实施例还提供了一种电子设备,如图12所示,该电子设备包括一个或多个处理器121以及存储器122,图12中以一个处理器121为例。
110.该控制器还可以包括:输入装置123和输出装置124。
111.处理器121、存储器122、输入装置123和输出装置124可以通过总线或者其他方式连接,图12中以通过总线连接为例。
112.处理器121可以为中央处理器(central processing unit,简称为cpu),处理器121还可以为其他通用处理器、数字信号处理器(digital signal processor,简称为dsp)、专用集成电路(application specific integrated circuit,简称为asic)、现场可编程门阵列(field-programmable gate array,简称为fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合,通用处理器可以是微处理器或者任何常规的处理器。
113.存储器122作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的控制方法对应的程序指令/模块。处理器121通过运行存储在存储器122中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的三维模型多格网的平面融合方法。
114.存储器122可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系
统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器122可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器122可选包括相对于处理器121远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
115.输入装置123可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置124可包括显示屏等显示设备。
116.一个或者多个模块存储在存储器122中,当被一个或者多个处理器121执行时,执行如图5所示的方法。
117.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各电机控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,简称为rom)、随机存储记忆体(random access memory,简称为ram)、快闪存储器(flash memory,简称为fm)、硬盘(hard disk drive,简称为hdd)或固态硬盘(solid-state drive,简称为ssd)等;存储介质还可以包括上述种类的存储器的组合。
118.虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

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

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

相关文献