CN105528806A - 体纹理合成与映射的方法和装置 - Google Patents
体纹理合成与映射的方法和装置 Download PDFInfo
- Publication number
- CN105528806A CN105528806A CN201510905952.2A CN201510905952A CN105528806A CN 105528806 A CN105528806 A CN 105528806A CN 201510905952 A CN201510905952 A CN 201510905952A CN 105528806 A CN105528806 A CN 105528806A
- Authority
- CN
- China
- Prior art keywords
- volume textures
- volume
- space
- textures
- texture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Abstract
为解决传统方案中体纹理合成耗时过长的问题,发明人提供了一种体纹理合成与映射的方法,包括以下步骤:根据目标物体建立体纹理样本和目标模型;根据体纹理样本和目标模型建立体纹理空间;获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点;获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点。发明人同时提供了实现上述方法的体纹理合成与映射的装置。区别于现有技术,上述技术方案可引入GPU进行并行计算,由此进行体纹理的合成与映射,可高效解决传统方法中体纹理合成耗时过长的问题。
Description
技术领域
本发明涉及计算机图形图像及并行计算领域,特别涉及一种体纹理合成与映射的方法和装置。
背景技术
对于体纹理合成这一课题,现有的方法主要有如下几种:
(1)基于优化的二维纹理来合成三维体纹理,并采用直方图匹配的方式,使生成的体纹理能够包含较丰富的全局特征,该方法能够在模型表面映射出质量较高的纹理,但在内部纹理细节的显示方面存在一定不足。
(2)基于空间各向异性来合成体纹理,根据用户在四面体网格模型上定义的张量场粘贴体纹理块,该方法能够较好地模拟树木、水果、蔬菜等的表面及内部纹理细节,但在合成高精度模型时存在速度偏慢的问题,无法满足特定应用场合对于交互性的要求。
(3)基于二维纹理贴图的体纹理合成方法,该方法对候选块进行一系列的预处理选择工作,以减少搜索空间,弱化相邻纹理匹配的关联性,并利用GPU的并行特性进行计算,优化合成速度。该方法在一些纹理细节较少且周期性特征较强的体纹理合成中具有良好的合成效果及合成速度,但在具有丰富的纹理细节且结构性特征较不明显的纹理合成中具有很大的局限性。
上述诸技术方案均存在耗时过长的问题,严重制约了体纹理合成应用于实际的效率和可能性。
发明内容
为此,需要提供一种可解决传统方案中体纹理合成耗时过长问题的体纹理合成与映射的方法和装置。
为实现上述目的,发明人提供了一种体纹理合成与映射的方法,包括以下步骤:
根据目标物体建立体纹理样本和目标模型;
根据体纹理样本和目标模型建立体纹理空间;
获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点;
获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点。
进一步地,所述的体纹理合成与映射的方法中,步骤“根据目标物体建立体纹理样本和目标模型”具体包括:
利用目标物体的连续横断面图片进行纵向叠加,从而建立体纹理样本。
进一步地,所述的体纹理合成与映射的方法中,步骤“根据目标物体建立体纹理样本和目标模型”具体包括:
利用建模工具建立目标模型。
进一步地,所述的体纹理合成与映射的方法中,步骤“根据体纹理样本和目标模型建立体纹理空间”具体包括:
确定用于空间区域布块的体纹理块大小;
确定体纹理空间各方向上填充的体纹理块的数目。
进一步地,所述的体纹理合成与映射的方法中,步骤“确定体纹理空间各方向上填充的体纹理块的数目”具体包括:
遍历目标模型表面网格各节点的坐标值并计算各方向的坐标值差值的最大值;
将得到的各方向的坐标值差值的最大值除以所述用于空间区域布块的体纹理块大小并向上取整,得到各方向上填充的纹理块的数目。
进一步地,所述的体纹理合成与映射的方法中,步骤“根据体纹理样本和目标模型建立体纹理空间”还包括步骤:
从体纹理样本中随机提取尺寸小于预设标准的体纹理块对体纹理空间进行并行填充;
对经并行填充后的体纹理空间中的体纹理块接缝做接缝缝合处理。
进一步地,所述的体纹理合成与映射的方法中,步骤“获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点”具体包括:
计算体纹理空间中各体纹理块中心点的空间坐标值,并确定各体纹理块所处的空间区域;
确定目标模型的表面网格节点所在的体纹理块及其在相应体纹理块中的纹理坐标;
根据所述纹理坐标获取所述表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的表面网格节点。
进一步地,所述的体纹理合成与映射的方法中,步骤“获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点”具体包括:
计算构成目标模型表面的三角面片的内部的点的空间坐标;
将所述点的空间坐标转换为所述点所在的体纹理块的纹理坐标;
根据所述点所在的体纹理块的纹理坐标获取所述点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予所述点。
进一步地,所述的体纹理合成与映射的方法中,步骤“计算构成目标模型表面的三角面片的内部的点的空间坐标”中,对构成目标模型表面的三角面片的内部的点的遍历遵循如下方式:
将三角面片的三个顶点分别表示为A(x0,y0,z0),B(x1,y1,z1),C(x2,y2,z2),三角形ABC内部任意一点M表示为其中a=AB’/AB,b=AC’/AC,且a、b满足条件0≤a≤1、0≤b≤1以及a+b≤1;
在遍历时,a、b的取值按预设优化方式确定。
进一步地,所述的体纹理合成与映射的方法中,确定a、b的取值的预设优化方式为:分别取a、b为AB、AC长度值的倒数。
发明人同时还提供了一种体纹理合成与映射的装置,包括体纹理样本建立单元、目标模型建立单元、体纹理空间建立单元、表面网格节点着色单元和内点集着色单元;
所述体纹理样本建立单元用于根据目标物体建立体纹理样本;
所述目标模型建立单元用于根据目标物体建立目标模型;
所述体纹理空间建立单元用于根据体纹理样本和目标模型建立体纹理空间;
所述表面网格节点着色单元用于获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点;
所述内点集着色单元用于获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点。
进一步地,所述的体纹理合成与映射的装置中,体纹理样本建立单元利用目标物体的连续横断面图片进行纵向叠加,从而建立体纹理样本。
进一步地,所述的体纹理合成与映射的装置中,目标模型建立单元利用建模工具建立目标模型。
进一步地,所述的体纹理合成与映射的装置中,体纹理空间建立单元包括体纹理块大小确定模块和体纹理块数目确定模块;
体纹理块大小确定模块用于确定用于空间区域布块的体纹理块大小;
体纹理块数目确定模块用于确定体纹理空间各方向上填充的体纹理块的数目。
进一步地,所述的体纹理合成与映射的装置中,体纹理块数目确定模块确定体纹理块数目具体包括:
遍历目标模型表面网格各节点的坐标值并计算各方向的坐标值差值的最大值;
将得到的各方向的坐标值差值的最大值除以所述用于空间区域布块的体纹理块大小并向上取整,得到各方向上填充的纹理块的数目。
进一步地,所述的体纹理合成与映射的装置中,体纹理空间建立单元还用于从体纹理样本中随机提取尺寸小于预设标准的体纹理块对体纹理空间进行并行填充;并对经并行填充后的体纹理空间中的体纹理块接缝做接缝缝合处理。
进一步地,所述的体纹理合成与映射的装置中,表面网格节点着色单元获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点具体包括:
计算体纹理空间中各体纹理块中心点的空间坐标值,并确定各体纹理块所处的空间区域;
确定目标模型的表面网格节点所在的体纹理块及其在相应体纹理块中的纹理坐标;
根据所述纹理坐标获取所述表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的表面网格节点。
进一步地,所述的体纹理合成与映射的装置中,内点集着色单元获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点具体包括:
计算构成目标模型表面的三角面片的内部的点的空间坐标;
将所述点的空间坐标转换为所述点所在的体纹理块的纹理坐标;
根据所述点所在的体纹理块的纹理坐标获取所述点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予所述点。
进一步地,所述的体纹理合成与映射的装置中,内点集着色单元计算构成目标模型表面的三角面片的内部的点的空间坐标时,对构成目标模型表面的三角面片的内部的点的遍历遵循如下方式:
将三角面片的三个顶点分别表示为A(x0,y0,z0),B(x1,y1,z1),C(x2,y2,z2),三角形ABC内部任意一点M表示为其中a=AB’/AB,b=AC’/AC,且a、b满足条件0≤a≤1、0≤b≤1以及a+b≤1;
在遍历时,a、b的取值按预设优化方式确定。
进一步地,所述的体纹理合成与映射的装置中,内点集着色单元确定a、b的取值的预设优化方式为:分别取a、b为AB、AC长度值的倒数。
区别于现有技术,上述技术方案可引入GPU进行并行计算,由此进行体纹理的合成与映射,可高效解决传统方法中体纹理合成耗时过长的问题。
附图说明
图1为本发明一实施方式所述的体纹理合成与映射的方法的流程图;
图2为本发明一实施方式所述的体纹理合成与映射的装置的结构示意图。
附图标记说明:
1-体纹理样本建立单元
2-目标模型建立单元
3-体纹理空间建立单元
4-表面网格节点着色单元
5-内点集着色单元
31-体纹理块大小确定模块
32-体纹理块数目确定模块
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一实施方式所述的方法的流程图;所述方法包括如下步骤:
S1、根据目标物体建立体纹理样本和目标模型;
S2、根据体纹理样本和目标模型建立体纹理空间;
S3、获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点;
S4、获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点。
进一步地,步骤S1具体包括:利用目标物体的连续横断面图片进行纵向叠加,从而建立体纹理样本;以及,利用建模工具建立目标模型,建模工具可采用如3DSMAX等。
进一步地,步骤S2具体包括:
S21、确定用于空间区域布块的体纹理块大小;
S22、确定体纹理空间各方向上填充的体纹理块的数目。
步骤S21中,确定用于空间区域布块的体纹理块的大小对于计算效率是有影响的。一个优选的实施方式是,采用体纹理样本的1/8大小作为用于空间区域布块的体纹理块的尺寸。对于实际效果而言,如果这一尺寸选择过大,则随机性不够;而尺寸太小的话,又将会对运算速度造成影响,导致耗时过长。采用体纹理样本的1/8大小作为用于空间区域布块的体纹理块的尺寸时,在随机性与效率两方面都可以得到较为满意的效果。
在某些实施方式中,步骤S22具体又包括如下分步骤:
S221、遍历目标模型表面网格各节点的坐标值并计算各方向的坐标值差值的最大值;
S222、将得到的各方向的坐标值差值的最大值除以所述用于空间区域布块的体纹理块大小,所得的值向上取整,得到各方向上填充的纹理块的数目。
也就是说,其中一种确定各方向上填充的纹理块的数目的具体算法为:遍历目标模型表面网格的节点坐标值,确定XYZ各方向上的最大坐标值标值xmax,ymax,zmax及最小坐标值xmin,ymin,zmin,并分别相减,得到各方向的坐标值差值的最大值xmax-xmin,ymax-ymin,zmax-zmin,将这些坐标值差值的最大值除以步骤S21所确定的体纹理块大小,得到的结果向上取整,即为各方向上填充的体纹理块数目。
通过获得各方向上的体纹理块排列数目可以有助于直观建立GPU多线程模型。
进一步地,在某些实施方式中,步骤S2还包括步骤:
S23、从体纹理样本中随机提取尺寸小于预设标准的体纹理块对体纹理空间进行并行填充;以及
S24、对经并行填充后的体纹理空间中的体纹理块接缝做接缝缝合处理。
在经过步骤S23的并行填充后,可能会由此产生各纹理块拼接不够自然的情况;为了避免和改善这一情况,需要对纹理块的接缝进行缝合处理。本实施方式中,缝合采用泊松图像编辑的方法进行。对于离散的数字图像来说,空间中每一层的纹理图像拼合工作都可以是独立进行的,因此可以并行地对每一层图像进行独立的融合计算。
进一步地,步骤S3所述的“获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点”具体包括:
S31、计算体纹理空间中各体纹理块中心点的空间坐标值,并确定各体纹理块所处的空间区域;
S32、确定目标模型的表面网格节点所在的体纹理块及其在相应体纹理块中的纹理坐标;
S33、根据所述纹理坐标获取所述表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的表面网格节点,即完成节点的着色工作。
在步骤S3中,节点的坐标需要经过一系列的计算才能获得该点在相应位置的纹理值。这样单节点的实际着色时间约为4ms左右,而在顶点数目较多的模型中,这一节点着色工作就要耗费很长的时间。本实施方式中利用GPU的并行特性进行着色计算。由于各网格节点的着色工作实际是相互独立的,因此在此时利用GPU的并行特性进行着色计算是一个更好的选择。
为了将体纹理空间中的纹理信息映射到目标模型上而形成有真实感的纹理,还需要计算出三角面片内部点集的空间坐标,再转换为所在纹理块的纹理坐标,即最后的纹理着色,也就是步骤S4所述的“获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点”,这一步骤具体包括:
S41、计算构成目标模型表面的三角面片的内部的点的空间坐标;
S42、将所述点的空间坐标转换为所述点所在的体纹理块的纹理坐标;
S43、根据所述点所在的体纹理块的纹理坐标获取所述点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予所述点。
在某些实施方式中,步骤S41所述的“计算构成目标模型表面的三角面片的内部的点的空间坐标”中,对构成目标模型表面的三角面片的内部的点的遍历遵循如下方式:
将三角面片的三个顶点分别表示为A(x0,y0,z0),B(x1,y1,z1),C(x2,y2,z2),三角形ABC内部任意一点M表示为其中a=AB’/AB,b=AC’/AC,且a、b满足条件0≤a≤1、0≤b≤1以及a+b≤1;
在遍历时,a、b的取值按预设优化方式确定。
在其中之一优选的实施方式中,确定a、b的取值的预设优化方式为:分别取a、b为AB、AC长度值的倒数。即:
在三角面片内部点集的着色计算中,通过遍历模型中所有四面体的四个表面,判断每个表面是否存在邻接面来确定表面三角面片的数目。由于表面判断不需要进行结构复杂的计算,因此本实施方式中,由CPU完成统计表面三角面片数目的工作。
在利用GPU架构进行计算时,由于模型表面三角面片的边长各不相同,每个三角面片内部点的数目也不一样,为了简化线程索引的结构,本实施方式中让每个GPU线程完成一个三角面片的所有计算,虽然计算量较大,但就单个三角形内部点集的遍历来说,所花费的时间较短,可以获得很高的计算速度。
发明人同时还提供了一种体纹理合成与映射的装置,包括体纹理样本建立单元1、目标模型建立单元2、体纹理空间建立单元3、表面网格节点着色单元4和内点集着色单元5;
所述体纹理样本建立单元1用于根据目标物体建立体纹理样本;
所述目标模型建立单元2用于根据目标物体建立目标模型;
所述体纹理空间建立单元3用于根据体纹理样本和目标模型建立体纹理空间;
所述表面网格节点着色单元4用于获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点;
所述内点集着色单元5用于获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点。
进一步地,所述的体纹理合成与映射的装置中,体纹理样本建立单元1利用目标物体的连续横断面图片进行纵向叠加,从而建立体纹理样本。
进一步地,所述的体纹理合成与映射的装置中,目标模型建立单元2利用建模工具建立目标模型,建模工具可采用如3DSMAX等。
进一步地,所述的体纹理合成与映射的装置中,体纹理空间建立单元3包括体纹理块大小确定模块31和体纹理块数目确定模块32;
体纹理块大小确定模块31用于确定用于空间区域布块的体纹理块大小;
体纹理块数目确定模块32用于确定体纹理空间各方向上填充的体纹理块的数目。
体纹理块大小确定模块31确定用于空间区域布块的体纹理块的大小对于计算效率是有影响的。一个优选的实施方式是,采用体纹理样本的1/8大小作为用于空间区域布块的体纹理块的尺寸。对于实际效果而言,如果这一尺寸选择过大,则随机性不够;而尺寸太小的话,又将会对运算速度造成影响,导致耗时过长。采用体纹理样本的1/8大小作为用于空间区域布块的体纹理块的尺寸时,在随机性与效率两方面都可以得到较为满意的效果。
体纹理块数目确定模块31确定体纹理块数目具体包括:
遍历目标模型表面网格各节点的坐标值并计算各方向的坐标值差值的最大值;
将得到的各方向的坐标值差值的最大值除以所述用于空间区域布块的体纹理块大小并向上取整,得到各方向上填充的纹理块的数目。
也就是说,在一种实施方式中,体纹理块数目确定模块32采用的一种确定各方向上填充的纹理块的数目的具体算法为:遍历目标模型表面网格的节点坐标值,确定XYZ各方向上的最大坐标值标值xmax,ymax,zmax及最小坐标值xmin,ymin,zmin,并分别相减,得到各方向的坐标值差值的最大值xmax-xmin,ymax-ymin,zmax-zmin,将这些坐标值差值的最大值除以步骤S21所确定的体纹理块大小,得到的结果向上取整,即为各方向上填充的体纹理块数目。
在某些实施方式中,体纹理空间建立单元3还用于从体纹理样本中随机提取尺寸小于预设标准的体纹理块对体纹理空间进行并行填充;并对经并行填充后的体纹理空间中的体纹理块接缝做接缝缝合处理。这一处理是由于在经过并行填充后,可能会由此产生各纹理块拼接不够自然的情况;为了避免和改善这一情况,需要对纹理块的接缝进行缝合处理。本实施方式中,缝合采用泊松图像编辑的方法进行。对于离散的数字图像来说,空间中每一层的纹理图像拼合工作都可以是独立进行的,因此可以并行地对每一层图像进行独立的融合计算。
进一步地,所述的体纹理合成与映射的装置中,表面网格节点着色单元4获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点具体包括:
计算体纹理空间中各体纹理块中心点的空间坐标值,并确定各体纹理块所处的空间区域;
确定目标模型的表面网格节点所在的体纹理块及其在相应体纹理块中的纹理坐标;
根据所述纹理坐标获取所述表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的表面网格节点。
在表面网格节点着色单元4所进行的工作中,节点的坐标需要经过一系列的计算才能获得该点在相应位置的纹理值。这样单节点的实际着色时间约为4ms左右,而在顶点数目较多的模型中,这一节点着色工作就要耗费很长的时间。本实施方式中表面网格节点着色单元4利用GPU的并行特性进行着色计算。由于各网格节点的着色工作实际是相互独立的,因此在此时利用GPU的并行特性进行着色计算是一个更好的选择。
进一步地,为了将体纹理空间中的纹理信息映射到目标模型上而形成有真实感的纹理,还需要计算出三角面片内部点集的空间坐标,再转换为所在纹理块的纹理坐标,即最后的纹理着色,也就是内点集着色单元5所进行“获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点”,具体包括:
获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点具体包括:
计算构成目标模型表面的三角面片的内部的点的空间坐标;
将所述点的空间坐标转换为所述点所在的体纹理块的纹理坐标;
根据所述点所在的体纹理块的纹理坐标获取所述点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予所述点。
在某些实施方式中,内点集着色单元5计算构成目标模型表面的三角面片的内部的点的空间坐标时,对构成目标模型表面的三角面片的内部的点的遍历遵循如下方式:
将三角面片的三个顶点分别表示为A(x0,y0,z0),B(x1,y1,z1),C(x2,y2,z2),三角形ABC内部任意一点M表示为其中a=AB’/AB,b=AC’/AC,且a、b满足条件0≤a≤1、0≤b≤1以及a+b≤1;
在遍历时,a、b的取值按预设优化方式确定。
在其中之一优选的实施方式中,内点集着色单元5确定a、b的取值的预设优化方式为:分别取a、b为AB、AC长度值的倒数。即:
在三角面片内部点集的着色计算中,通过遍历模型中所有四面体的四个表面,判断每个表面是否存在邻接面来确定表面三角面片的数目。由于表面判断不需要进行结构复杂的计算,因此本实施方式中,由CPU完成统计表面三角面片数目的工作。而在利用GPU架构进行计算时,由于模型表面三角面片的边长各不相同,每个三角面片内部点的数目也不一样,为了简化线程索引的结构,本实施方式中让每个GPU线程完成一个三角面片的所有计算,虽然计算量较大,但就单个三角形内部点集的遍历来说,所花费的时间较短,可以获得很高的计算速度。
区别于现有技术,上述技术方案可引入GPU进行并行计算,由此进行体纹理的合成与映射,可高效解决传统方法中体纹理合成耗时过长的问题。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (20)
1.一种体纹理合成与映射的方法,其特征在于,包括以下步骤:
根据目标物体建立体纹理样本和目标模型;
根据体纹理样本和目标模型建立体纹理空间;
获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点;
获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点。
2.如权利要求1所述的体纹理合成与映射的方法,其特征在于,步骤“根据目标物体建立体纹理样本和目标模型”具体包括:
利用目标物体的连续横断面图片进行纵向叠加,从而建立体纹理样本。
3.如权利要求1所述的体纹理合成与映射的方法,其特征在于,步骤“根据目标物体建立体纹理样本和目标模型”具体包括:
利用建模工具建立目标模型。
4.如权利要求2或3所述的体纹理合成与映射的方法,其特征在于,步骤“根据体纹理样本和目标模型建立体纹理空间”具体包括:
确定用于空间区域布块的体纹理块大小;
确定体纹理空间各方向上填充的体纹理块的数目。
5.如权利要求4所述的体纹理合成与映射的方法,其特征在于,步骤“确定体纹理空间各方向上填充的体纹理块的数目”具体包括:
遍历目标模型表面网格各节点的坐标值并计算各方向的坐标值差值的最大值;
将得到的各方向的坐标值差值的最大值除以所述用于空间区域布块的体纹理块大小并向上取整,得到各方向上填充的纹理块的数目。
6.如权利要求5所述的体纹理合成与映射的方法,其特征在于,步骤“根据体纹理样本和目标模型建立体纹理空间”还包括步骤:
从体纹理样本中随机提取尺寸小于预设标准的体纹理块对体纹理空间进行并行填充;
对经并行填充后的体纹理空间中的体纹理块接缝做接缝缝合处理。
7.如权利要求4所述的体纹理合成与映射的方法,其特征在于,步骤“获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点”具体包括:
计算体纹理空间中各体纹理块中心点的空间坐标值,并确定各体纹理块所处的空间区域;
确定目标模型的表面网格节点所在的体纹理块及其在相应体纹理块中的纹理坐标;
根据所述纹理坐标获取所述表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的表面网格节点。
8.如权利要求4所述的体纹理合成与映射的方法,其特征在于,步骤“获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点”具体包括:
计算构成目标模型表面的三角面片的内部的点的空间坐标;
将所述点的空间坐标转换为所述点所在的体纹理块的纹理坐标;
根据所述点所在的体纹理块的纹理坐标获取所述点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予所述点。
9.如权利要求8所述的体纹理合成与映射的方法,其特征在于,步骤“计算构成目标模型表面的三角面片的内部的点的空间坐标”中,对构成目标模型表面的三角面片的内部的点的遍历遵循如下方式:
将三角面片的三个顶点分别表示为A(x0,y0,z0),B(x1,y1,z1),C(x2,y2,z2),三角形ABC内部任意一点M表示为其中a=AB’/AB,b=AC’/AC,且a、b满足条件0≤a≤1、0≤b≤1以及a+b≤1;
在遍历时,a、b的取值按预设优化方式确定。
10.如权利要求9所述的体纹理合成与映射的方法,其特征在于,确定a、b的取值的预设优化方式为:分别取a、b为AB、AC长度值的倒数。
11.一种体纹理合成与映射的装置,其特征在于,包括体纹理样本建立单元、目标模型建立单元、体纹理空间建立单元、表面网格节点着色单元和内点集着色单元;
所述体纹理样本建立单元用于根据目标物体建立体纹理样本;
所述目标模型建立单元用于根据目标物体建立目标模型;
所述体纹理空间建立单元用于根据体纹理样本和目标模型建立体纹理空间;
所述表面网格节点着色单元用于获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点;
所述内点集着色单元用于获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点。
12.如权利要求11所述的体纹理合成与映射的装置,其特征在于,体纹理样本建立单元利用目标物体的连续横断面图片进行纵向叠加,从而建立体纹理样本。
13.如权利要求11所述的体纹理合成与映射的装置,其特征在于,目标模型建立单元利用建模工具建立目标模型。
14.如权利要求12或13所述的体纹理合成与映射的装置,其特征在于,体纹理空间建立单元包括体纹理块大小确定模块和体纹理块数目确定模块;
体纹理块大小确定模块用于确定用于空间区域布块的体纹理块大小;
体纹理块数目确定模块用于确定体纹理空间各方向上填充的体纹理块的数目。
15.如权利要求14所述的体纹理合成与映射的装置,其特征在于,体纹理块数目确定模块确定体纹理块数目具体包括:
遍历目标模型表面网格各节点的坐标值并计算各方向的坐标值差值的最大值;
将得到的各方向的坐标值差值的最大值除以所述用于空间区域布块的体纹理块大小并向上取整,得到各方向上填充的纹理块的数目。
16.如权利要求15所述的体纹理合成与映射的装置,其特征在于,体纹理空间建立单元还用于从体纹理样本中随机提取尺寸小于预设标准的体纹理块对体纹理空间进行并行填充;并对经并行填充后的体纹理空间中的体纹理块接缝做接缝缝合处理。
17.如权利要求14所述的体纹理合成与映射的装置,其特征在于,表面网格节点着色单元获取目标模型的表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的网格节点具体包括:
计算体纹理空间中各体纹理块中心点的空间坐标值,并确定各体纹理块所处的空间区域;
确定目标模型的表面网格节点所在的体纹理块及其在相应体纹理块中的纹理坐标;
根据所述纹理坐标获取所述表面网格节点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的表面网格节点。
18.如权利要求14所述的体纹理合成与映射的装置,其特征在于,内点集着色单元获取构成目标模型表面的三角面片的内部的点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予相应的点具体包括:
计算构成目标模型表面的三角面片的内部的点的空间坐标;
将所述点的空间坐标转换为所述点所在的体纹理块的纹理坐标;
根据所述点所在的体纹理块的纹理坐标获取所述点在体纹理空间中的相应位置的纹理值,并将该纹理值赋予所述点。
19.如权利要求18所述的体纹理合成与映射的装置,其特征在于,内点集着色单元计算构成目标模型表面的三角面片的内部的点的空间坐标时,对构成目标模型表面的三角面片的内部的点的遍历遵循如下方式:
将三角面片的三个顶点分别表示为A(x0,y0,z0),B(x1,y1,z1),C(x2,y2,z2),三角形ABC内部任意一点M表示为其中a=AB’/AB,b=AC’/AC,且a、b满足条件0≤a≤1、0≤b≤1以及a+b≤1;
在遍历时,a、b的取值按预设优化方式确定。
20.如权利要求19所述的体纹理合成与映射的装置,其特征在于,内点集着色单元确定a、b的取值的预设优化方式为:分别取a、b为AB、AC长度值的倒数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510905952.2A CN105528806A (zh) | 2015-12-09 | 2015-12-09 | 体纹理合成与映射的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510905952.2A CN105528806A (zh) | 2015-12-09 | 2015-12-09 | 体纹理合成与映射的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105528806A true CN105528806A (zh) | 2016-04-27 |
Family
ID=55771007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510905952.2A Pending CN105528806A (zh) | 2015-12-09 | 2015-12-09 | 体纹理合成与映射的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528806A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530384A (zh) * | 2016-11-07 | 2017-03-22 | 深圳大学 | 一种三维模型的外观纹理合成方法及装置 |
CN106815879A (zh) * | 2017-01-17 | 2017-06-09 | 湖南优象科技有限公司 | 一种基于lbp特征的快速纹理合成方法 |
CN108062784A (zh) * | 2018-02-05 | 2018-05-22 | 深圳市易尚展示股份有限公司 | 三维模型纹理贴图转换方法与装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120299912A1 (en) * | 2010-04-01 | 2012-11-29 | Microsoft Corporation | Avatar-based virtual dressing room |
-
2015
- 2015-12-09 CN CN201510905952.2A patent/CN105528806A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120299912A1 (en) * | 2010-04-01 | 2012-11-29 | Microsoft Corporation | Avatar-based virtual dressing room |
Non-Patent Citations (1)
Title |
---|
陈国栋等: "CUDA加速的肝脏体纹理合成与映射方法研究", 《系统仿真学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530384A (zh) * | 2016-11-07 | 2017-03-22 | 深圳大学 | 一种三维模型的外观纹理合成方法及装置 |
CN106530384B (zh) * | 2016-11-07 | 2019-05-21 | 深圳大学 | 一种三维模型的外观纹理合成方法及装置 |
CN106815879A (zh) * | 2017-01-17 | 2017-06-09 | 湖南优象科技有限公司 | 一种基于lbp特征的快速纹理合成方法 |
CN106815879B (zh) * | 2017-01-17 | 2019-11-05 | 湖南优象科技有限公司 | 一种基于lbp特征的快速纹理合成方法 |
CN108062784A (zh) * | 2018-02-05 | 2018-05-22 | 深圳市易尚展示股份有限公司 | 三维模型纹理贴图转换方法与装置 |
CN108062784B (zh) * | 2018-02-05 | 2022-04-29 | 深圳市易尚展示股份有限公司 | 三维模型纹理贴图转换方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101930623B (zh) | 一种三维道路模型化方法及装置 | |
CN110675496B (zh) | 基于三维城市地质模型的网格剖分和可视化方法及其系统 | |
CN102339479B (zh) | 使用光谱分析的伸展驱动的网格参数化 | |
Bernhardt et al. | Real-time terrain modeling using CPU: GPU coupled computation | |
CN110111408B (zh) | 基于图形学的大场景快速求交方法 | |
CN101051394A (zh) | 一种基于地球物理场数据的地质体三维可视化系统 | |
CN101051395A (zh) | 一种基于地球物理场数据的地质体三维可视化方法 | |
CN102831275B (zh) | 一种3d流体的仿真方法及系统 | |
CN104881839A (zh) | 一种基于并行加速的热点图生成方法 | |
CN105894551B (zh) | 图像绘制方法及装置 | |
CN105528806A (zh) | 体纹理合成与映射的方法和装置 | |
CN109979002A (zh) | 基于WebGL三维可视化的场景构建系统及方法 | |
CN105913496B (zh) | 一种将真实服饰快速转换为三维虚拟服饰的方法及系统 | |
CN105046733A (zh) | 一种基于三维多纹理贴图方法 | |
Peytavie et al. | Procedural generation of rock piles using aperiodic tiling | |
CN109636889B (zh) | 一种基于动态缝合带的大规模三维地形模型渲染方法 | |
CN110070616A (zh) | 存储器、基于gis平台的统计数据呈现方法、装置和设备 | |
CN103761376A (zh) | 基于二维dxf文件格式的零件三维真实感显示方法 | |
CN106530384A (zh) | 一种三维模型的外观纹理合成方法及装置 | |
Becher et al. | Feature-based volumetric terrain generation and decoration | |
Xu et al. | Research for 3D visualization of Digital City based on SketchUp and ArcGIS | |
CN105224325A (zh) | 渲染方法和装置 | |
CN110738719A (zh) | 一种基于视距分层优化的Web3D模型渲染方法 | |
Hongdi et al. | Design and Implementation of A High-Performance Rendering Algorithm for Large Terrain Systems based on GPU Parallel Computing | |
CN1570977A (zh) | 基于多样图的纹理转移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160427 |