CN109544672A - 一种三维建筑模型纹理映射方法及装置 - Google Patents
一种三维建筑模型纹理映射方法及装置 Download PDFInfo
- Publication number
- CN109544672A CN109544672A CN201811455935.3A CN201811455935A CN109544672A CN 109544672 A CN109544672 A CN 109544672A CN 201811455935 A CN201811455935 A CN 201811455935A CN 109544672 A CN109544672 A CN 109544672A
- Authority
- CN
- China
- Prior art keywords
- texture
- building model
- dimensional
- dimensional building
- surface element
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000013507 mapping Methods 0.000 title claims abstract description 54
- 238000009877 rendering Methods 0.000 claims abstract description 30
- 239000013598 vector Substances 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 29
- 230000009466 transformation Effects 0.000 claims description 20
- 230000000007 visual effect Effects 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 35
- 230000000694 effects Effects 0.000 abstract description 6
- 230000000903 blocking effect Effects 0.000 abstract 1
- 239000011229 interlayer Substances 0.000 abstract 1
- 238000007493 shaping process Methods 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 14
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012946 outsourcing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种三维建筑模型纹理映射方法及装置,该方法中,首先将三维建筑模型与三角网模型进行配准,然后通过分层处理得到三维建筑模型对应的纹理绘制基元,并将其转换为二维坐标,然后从三角网模型中提取纹理信息,再利用二维坐标将纹理信息映射到三维建筑模型的纹理绘制基元,从而实现对三维建筑模型的纹理映射,在该过程中,从三角网模型能够得到更加丰富准确的纹理信息,而通过对三维建筑模型的面元进行分层得到的纹理绘制基元,能够避免因层间的遮挡导致的纹理映射效果差的问题,因此,该方法可显著提升精细三维建筑物模型纹理映射的自动化程度和精度,能够满足更高的需求。
Description
技术领域
本申请涉及地理信息系统技术领域,特别涉及一种三维建筑模型纹理映射方法及装置。
背景技术
智慧城市是建立在可视化可量测的基础上,通过应用新一代IT技术,集成由各种传感器组成的物联网,面向应用和服务,以数据为中心,自主组网并快速精准地为各节点提供信息的网络化城市信息管理和决策支撑平台。为了支撑智慧城市的需求,面向三维GIS的精细化三维城市重建是其中重要的基础性工作。
在三维城市重建过程中,三维建筑模型是非常关键的因素,但是在实际工作中,三维建筑模型的纹理映射大量依赖人工交互式处理,效率低、成果质量难以保证,因此,提升三维建筑模型的纹理映射自动化程度和精度是目前亟待解决优化的问题。
发明内容
为解决上述技术问题,本申请实施例提供一种三维建筑模型纹理映射方法,以提升三维建筑模型的纹理映射自动化程度和精度,技术方案如下:
一种三维建筑模型纹理映射方法,包括:
利用中间坐标系,配准待处理三维建筑模型及其对应的三角网模型;
对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元;
为所述纹理绘制基元构建视景体,利用所述视景体对所述纹理绘制基元进行视口变换,得到所述纹理绘制基元的二维坐标;
依据所述视景体参数对所述三角网模型进行渲染,获得渲染结果,并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图;
依据所述纹理绘制基元的二维坐标,将所述纹理位图映射至对应的纹理绘制基元。
优选的,所述对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元包括:
对所述待处理三维建筑模型中的弧面进行预处理,得到各个弧面对应的包围盒面,将所述外包围盒面作为所述弧面对应的面元;
对所述三维建筑模型对应的面元集合进行分层处理,得到所述待处理三维建筑模型的纹理绘制基元,所述面元集合中包括:所述弧面对应的面元,以及,所述待处理三维建筑模型中非弧面对应的面元。
优选的,所述对所述三维建筑模型中的弧面进行预处理,得到各个弧面对应的包围盒面的过程包括:
提取所述待处理三维建筑模型中的弧面;
选取所述弧面包含的有向基元中向量角度差符合预设角度条件的基元,作为该弧面的弧面基元;
对所述弧面基元进行聚类,得到弧面块;
分别建立每个弧面块的外包围盒,并选取符合预先建立的弧面法向量约束条件的包围盒面,作为所述弧面对应的面元。
优选的,所述预设角度条件为:
相邻基元的向量角度差值小于第一阈值,连续基元的向量角度差的差值小于第二阈值。
优选的,所述预先建立的弧面法向量约束条件包括:
所述包围盒各面法向量与对应的弧面内每个基元法向量的夹角θ不大于π/2。
优选的,所述对所述待处理三维建筑模型对应的面元集合进行处理,得到所述待处理三维建筑模型的纹理绘制基元的过程包括:
将所述面元集合中的面元按照预设聚类规则进行聚类,每个聚类结果对应一个面元群组,所述预设聚类规则包括:任意两个分别属于不同面元群组的面元的相似性距离的最小值,大于,任意两个属于同一面元群组面元的相似性距离的最大值;
计算面元群组的平均法向量并依据所述平均法向量获取备择面元群组,所述备择面元群组为:所述面元群组包含的面元中不被遮挡的面元构成的群组;
对所述备择面元群组中的面元进行坐标变换,将坐标Z轴旋转到所述平均法向量方向;
将所述备择面元群组中所有面元的角点投影到XOY平面上,获取对应的二维点集P,获得所述二维点集P的最小外包围矩形;
记录所述最小外包围矩形范围内的各个像素位置上的面元标识及面元的深度信息;
依据所述深度信息计算每个面元在所述XOY平面上的可视范围,并求解每个面元角点坐标在Z轴方向上的上下限;
依据所述可视范围和所述面元角点坐标在Z轴方向上的上下限对所述备择面元进行分层,得到每层对应的面元群组;
确定所述每层对应的面元群组为所述待处理三维建筑模型的纹理绘制基元。
优选的,所述获得所述二维点集P的最小外包围矩形后,还包括:
从所述备择面元群组中剔除投影在所述最小外包围矩形外的面元。
优选的,记录所述最小外包围矩形范围内的各个像素位置上的面元标识及面元的深度信息包括:
依据逐像素链表记录所述最小外包围矩形范围内各个像素位置上的面元标识及面元的深度信息。
优选的,所述得到每层对应的面元群组步骤后,还包括:
依据正态分布概论模型设置置信区间,基于所述置信区间对所述分层的结果进行优化。
优选的,所述依据所述视景体参数对所述三角网模型进行渲染,并依据所述纹理绘制基元的坐标,从所述渲染对应的帧缓存中获得各个纹理绘制基元对应的纹理位图:
依据所述视景体参数对所述三角网模型进行三维世界坐标系到二维坐标系下的变换;
对所述坐标变换后的三角网模型进行渲染,获得对应的帧缓存,从所述帧缓存中提取颜色缓存作为纹理位图;
利用所述纹理绘制基元的二维坐标和所述纹理位图的二维坐标,确定所述纹理绘制基元对应的纹理位图。
本申请同时公开了一种三维建筑模型纹理映射装置,包括:
配准模块,用于利用中间坐标系,配准待处理三维建筑模型及其对应的三角网模型;
分层处理模块,用于对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元;
变换模块,用于为所述纹理绘制基元构建视景体,利用所述视景体对所述纹理绘制基元进行视口变换,得到所述纹理绘制基元的二维坐标;
纹理位图获取模块,用于依据所述视景体参数对所述三角网模型进行渲染,获得渲染结果,并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图;
纹理映射模块,用于依据所述纹理绘制基元的二维坐标,将所述纹理位图映射至对应的纹理绘制基元。
与现有技术相比,本申请的有益效果为:首先将三维建筑模型与三角网模型进行配准,然后通过分层处理得到三维建筑模型对应的纹理绘制基元,并将其转换为二维坐标,然后从三角网模型中提取纹理信息,再利用二维坐标将纹理信息映射到三维建筑模型的纹理绘制基元,从而实现对三维建筑模型的纹理映射,在该过程中,从三角网模型能够得到更加丰富准确的纹理信息,而通过对三维建筑模型的面元进行分层得到的纹理绘制基元,能够避免因层间的遮挡导致的纹理映射效果差的问题,因此,该方法可显著提升精细三维建筑物模型纹理映射的自动化程度和精度,能够满足更高的需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种三维建筑模型纹理映射方法的流程图;
图2是本申请实施例公开的对弧面进行预处理的流程图;
图3是本申请实施例公开的弧面基元夹角示意图;
图4是本申请实施例公开的对所述三维建筑模型对应的面元集合进行分层处理的流程图;
图5是本申请实施例公开的依据逐像素链表记录各个像素位置上的面元标识及面元的深度信息的流程图;
图6是本申请实施例公开的计算面元的可视区间的流程图;
图7是本申请实施例公开的获取纹理绘制基元的纹理信息的流程图;
图8是本申请实施例公开的纹理位图拼合过程的流程图;
图9是本申请实施例公开的矩形分割示意图;
图10是本申请实施例公开的一种三维建筑模型纹理映射装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人在研究过程中发现,通过在同一飞行平台上搭载多视角传感器,倾斜摄影测量解决方案能一次获取场景的多角度影像,再通过空中三角测量,密集匹配,点云构建,纹理映射等流程,自动化生成大规模场景的三角网模型,因此,三角网模型具有精度高,纹理信息丰富,自动化程度高等优点,能够满足智慧城市对纹理的要求。
但是,由于三角网模型没有完整的拓扑结构和语义信息,难以支撑复杂的空间智能应用,不能满足智慧城市等复杂系统场景的需求。如果能够将三角网模型的纹理信息与三维建筑模型相结合,则能够在一定程度上,提升三维建筑模型的纹理映射效果,满足更高的需求。
为了实现这一目的,本申请实施例公开的一种三维建筑模型纹理映射方法的流程如图1所示,包括:
步骤S101:利用中间坐标系,配准待处理三维建筑模型及其对应的三角网模型。
因为三角网模型中有丰富的纹理信息,为了准确的将其纹理信息映射到三维建筑模型上,首先需要对两个模型进行配准。
在该过程中,采用布尔莎七参数模型进行配准。设单体化三维建筑模型对应的坐标系为[X,Y,Z]三角网模型对应的坐标系为[x,y,z],中间坐标系为[xm,ym,zm],坐标转换过程采用布尔莎七参数模型可表示为:
[x2,y2,z2]=λR[x1,y1,z1] (1)
其中λ是缩放系数,R是正交旋转矩阵。
将模型坐标从[X,Y,Z]转换到[x,y,z]坐标系下的转换公式为:
[X',Y',Z']=[X,Y,Z]*Ts1*Tr1*Tt1*Ts2 -1*Tr2 -1*Tt2 -1 (2)
其中[X',Y',Z']是转换后的坐标,Ts1、Tr1、Tt1是从[X,Y,Z]到[xm,ym,zm]的转换矩阵,Ts2、Tr2、Tt2是从[x,y,z]到[xm,ym,zm]的转换矩阵。
步骤S102:对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元。
纹理绘制基元是指,进行纹理绘制时的最小单元,三维建筑模型的面分为弧面和非弧面,非弧面也就是平面,由于在纹理映射时,弧面也是按照平面来进行纹理映射,所以在获得弧面对应的纹理绘制基元时,需要先对弧面进行预处理,得到弧面对应的平面的面元。然后再将这些面元与三维建筑模型的平面的面元进行分层处理,最终得到纹理绘制基元。具体步骤在后续进行详细描述。
步骤S103:为所述纹理绘制基元构建视景体,利用所述视景体对所述纹理绘制基元进行视口变换,得到所述纹理绘制基元的二维坐标;
步骤S104:依据所述视景体参数对所述三角网模型进行渲染,获得渲染结果,并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图;
步骤S105:依据所述纹理绘制基元的二维坐标,将所述纹理位图映射至对应的纹理绘制基元。
本申请实施例公开的三维建筑模型纹理映射方法中,首先将三维建筑模型与三角网模型进行配准,然后通过分层处理得到三维建筑模型对应的纹理绘制基元,并将其转换为二维坐标,然后从三角网模型中提取纹理信息,再利用二维坐标将纹理信息映射到三维建筑模型的纹理绘制基元,从而实现对三维建筑模型的纹理映射,在该过程中,从三角网模型能够得到更加丰富准确的纹理信息,而通过对三维建筑模型的面元进行分层得到的纹理绘制基元,能够避免因层间的遮挡导致的纹理映射效果差的问题,因此,该方法可显著提升精细三维建筑物模型纹理映射的自动化程度和精度,能够满足更高的需求。
在纹理映射过程中,由于弧面也会被当做平面来进行处理,所以在对整个三维建筑模型进行纹理映射前,需要对其包围的弧面先做一个预处理,以得到能够代表弧面的平面,该过程的具体流程如图2所示,包括:
步骤S201:提取所述待处理三维建筑模型中的弧面;
步骤S202:选取所述弧面包含的有向基元中向量角度差符合预设角度条件的基元,作为该弧面的弧面基元;
设某弧面对应的弧面基元集合为C={f1,f2...fm},其中f1到fm为组成该弧面的有向基元,基元的法向量集合为任意连续基元向量满足以下条件:
(1)
(2)
其中ξ1是一个相邻基元角度差极大阈值,ξ2是连续基元角度差差值的极大阈值。即预设角度条件为:相邻基元的向量角度差值小于第一阈值,连续基元的向量角度差的差值小于第二阈值。相邻基元的角度差可以表示为相邻弧面基元法向量的夹角,如图3中弧面基元夹角示意图所示。
步骤S203:对所述弧面基元进行聚类,得到弧面块;
该步骤中,将相邻的弧面基元进行聚类,获得块内相连,块间相区隔的弧面块,并剔除块内弧面基元数量少于极小值n的弧面块。其中,n值根据经验值可以设置为5,也可以根据模型复杂程度自行调整。此步骤可降低纹理绘制基元的破碎程度,缓解不同基元之间在拼接线处产生的纹理不一致性问题。
步骤S204:分别建立每个弧面块的外包围盒,并选取符合预先建立的弧面法向量约束条件的包围盒面,作为所述弧面对应的面元。
预先建立的弧面法向量约束条件包括:所述包围盒各面法向量与对应的弧面内每个基元法向量的夹角θ不大于π/2。
判定包围盒各面法向量与对应的弧面内每个基元法向量的夹角θ,当θ>π/2时,移除该包围盒面,得到弧面法向量约束的包围盒面组。如果θ>π/2,则意味着该面对应的是弧面的内表面,而对于后续纹理映射过程,并不需要映射弧面的内表面,因此将其剔除,则剩余的包围盒面,则视为代表弧面的面元。
代表弧面的面元与待处理三维建筑模型中的平面对应的面元共同组成了面元集合,进而,对所述三维建筑模型对应的面元集合进行分层处理,得到所述待处理三维建筑模型的纹理绘制基元的过程如图4所示,包括:
步骤S401:将所述面元集合中的面元按照预设聚类规则进行聚类。
每个聚类结果对应一个面元群组,所述预设聚类规则包括:任意两个分别属于不同面元群组的面元的相似性距离的最小值,大于,任意两个属于同一面元群组面元的相似性距离的最大值。
设F={f1,f2,...fn}为已经去除弧面的非弧面面元集合,Ct={ft1,ft2,...ftn}为某一面元群组,D(fms,fir)为面元之间的相似性距离,即面元法向量之差,上述预设聚类规则还可以用如下形式进行表述:
令U表示代表弧面的面元与待处理三维建筑模型中的平面对应的面元组成的面元集合,则Ct满足:
(1)
(2)有
(3)
其中,条件(1)表示聚类的完全性,也就是,面元集合中的所有面元都进行里聚类,条件(2)表示相似性指标的可衡量性,条件(3)表示聚类的约束条件,任意两个分别属于不同面元群组的面元的相似性距离的最小值,大于,任意两个属于同一面元群组面元的相似性距离的最大值,即类内距离应小于类间距离。
步骤S402:从所述聚类得到的面元群组中获取备择面元群组,所述备择面元群组为:所述聚类得到的面元群组不被所述待处理三维建筑模型中该面元群组以外的面元遮挡,且面元群组内的面元不互相遮挡。
在该步骤中,首先计算每个面元群组的平均法向量假设根据聚类处理得到的面元群组Ci,则计算Ci内部所有面元的平均法向量为:
然后,遍历待处理三维建筑模型中除面元群组Ci包含的面元以外的所有面元,利用平均法向量判断是否有面元对该面元群组内的面元进行遮挡,也就是,遍历看是否有面元的法向量与Ci的平均法向量夹角小于90度,如果有,则说明该面元群组会被遮挡,则该面元群组不再进行后续处理,直接舍弃。
如果面元群组Ci不被其他群组内的面元遮挡,则对面元群组Ci内部包含的所有面元进行判断,看是否有面元的法向量与Ci的平均法向量夹角小于90度,如果有,则说明该面元会对群组内的其他面元进行遮挡,则将该面元从该群组Ci中剔除,只保留不被遮挡的面元。
该步骤中,通过剔除被遮挡的面元,一方面能够提升纹理映射的效果,一方面能够缩减被处理的面元的数量,在不影响映射效果的前提下,提升了处理的效率,缩短了处理时间。
步骤S403:对所述备择面元群组中的面元进行坐标变换,将坐标Z轴旋转到所述平均法向量方向。
将备择面元群组中的所有的面元的坐标都变换为以平均法向量为Z轴的坐标系。
步骤S404:将所述备择面元群组中所有面元的角点投影到XOY平面上,获取对应的二维点集P,获得所述二维点集P的最小外包围矩形。
求解P的最小外包矩形R(w,h)。也就是说,备择面元群组中的所有面元的角点都将投影在这个矩形区域内。将X轴旋转至外包矩形R的长边w方向,转换后二维坐标系为X2OY2,X2OY2可以近似看成Cs的纹理绘制投影面。
进一步的,在获得二维点集后,可以对备择面元群组内的面元进行优化,剔除投影在所述最小外包围矩形外的面元。具体优化过程可通过以下公式来实现:
其中,p代表面元fi在二维坐标系下中的一点,Zmax表示最小外包围矩形在Z轴上的最高点。如果fi中存在Z轴坐标大于最小外包围矩形在Z轴上的最高点的投影点,则将该面元从备择面元群组中去除,剩余的面元组成的群组是优化后的备择面元群组。该步骤能够将一些离散的面元先去除,避免了这些面元带来的不稳定的影响,保证了处理过程的准确性。
步骤S405:记录所述最小外包围矩形范围内的各个像素位置上的面元标识及面元的深度信息。
在本步骤中,可以将每个像素位置上的面元标识及面元的深度信息以链表的形式进行存储。依据逐像素链表记录所述最小外包围矩形范围内各个像素位置上的面元标识及面元的深度信息。具体过程如图5所示,包括:
步骤S501:创建并初始化二维数组A[w,h]。
其中,[w,h]为上述实施例中最小外包矩形R的像素区间范围。
步骤S502:创建并初始化一维数组L,L的大小为w*h*k,L作为链表。
其中,k是链表长度系数,其初始值根据经验值可以设置为2,也可以根据场景复杂程度进行设置和调整。因为每个像素可能会被多个面元投影,而链表的长度需要满足能够将所有像素点对应的所有面元的信息进行存储的要求,所以如果一个三维建筑模型非常复杂,面元在像素上重叠的情况非常多,则需要将该链表长度系数再设置的较大一些,例如5。
步骤S503:采用漫水填充算法,逐像素依次填充绘制面元群组中的每个面元,为面元中每个像素点(X,Y)创建一个FacePixel结构体fp,并计算fp中的数据成员的值,依次将像素点对应的结构体存储到链表L中。
漫水填充算法是一种分割算法,给定一个联通域内的一个点,以此为起点找到这个联通域的其余所有点并将其填充为相同标记,也就是说,先以某一个像素点为起点,依次找到与该像素点属于同一面元的其他像素点。当该面元的所有像素点都被绘制完以后,再选择一个像素点,重复上述过程,直到所有的面元都被绘制完。
定义结构体FacePixel用于记录面元在特定像素位置上的信息,FacePixel数据成员包括EntityID、Z和Next。EntityID为当前面元的唯一标识;Z为面元在当前像素位置的深度值;Next记录链表中下一节点的地址。因为像素点可能会对应多个面元,也就是说,像素可能会对应多个结构体,为了方便查找该像素所对应的所有面元的信息,将Next用于表征该像素点对应的另一个结构体在L中的存储位置。
步骤S504:将上述算法中,每个像素点首次对应的结构体在L中的存储位置,填入到二维数组A[w,h]中的对应位置。
由此可以看作,二维数组A[w,h]存储的是计算过程中每个像素点对应的首个结构体的指针,如果将每个像素点对应的每个结构体看作是一个节点,那么将他们串联起来就是逐像素链表,二维数组A[w,h]记录的则是该逐像素链表的头指针索引。根据该头指针索引,能够很方便的查找到该像素点对应的所有结构体的信息,也就是说,各个投影到该像素点上的面元的信息。
如果某些像素点没有被面元覆盖,则其对应的二维数组中的对应位置为空。
在步骤S405记录深度信息后,接下来,则需要利用这些深度信息进行后续的处理,则在步骤S405后,还包括:
步骤S406:依据所述深度信息计算每个面元在所述XOY平面上的可视范围,并求解每个面元角点坐标在Z轴方向上的上下限。
结合上述图5所示,利用逐像素链表来存储深度信息的实施例,在步骤S406计算面元的可视区间的过程中,可以按照如图6所示流程,对每个面元分别进行如下处理,包括:
步骤S601:遍历当前面元对应的像素点,分别查找每个像素点链表中,深度值大于该面元对应节点的深度值的最小值。
p[X,Y]是当前面元fi内的任一像素坐标[X,Y]对应的像素点,从头指针索引A中查询A[X,Y]对应的链表pl中每个节点的深度值Z,找出pl节点深度值中大于当前面元节点fpi的深度值Z(fpi)的最小值Zh,并将Zh存储于预先为当前面元建立的临时数组Ah中。
每个像素都进行如上操作,有些像素点在当前面元对应的节点的深度值是该像素点所有节点的深度值中最大的,则不存在该最小值Zh,因此就不需要存储。所以临时数组Ah中的值的个数不大于该面元包含的像素点数。
在执行上述步骤之前,为了方便查找,可将头指针索引矩阵A指向的所有链表进行预处理,将每一个链表中的节点分别进行排序,排序规则为按照链表中节点的深度值降序排列。或者,按照节点的深度值的升序排列。该有序排列可以方便的查找到pl节点深度值中是否有大于当前面元节点fpi的深度值,并且很容易的确定出Z(fpi)的最小值Zh。
步骤S602:依据所述最小值,以及预先设定的遮挡容忍阈值,确定当前面元在Z轴方向的无遮挡范围。
将上一步骤中得到的临时数组Ah中的数值按照从小到大的顺序进行排序。假设预定的遮挡容忍阈值Θ(0<Θ<1),S为当前面元像素总数量,SO=S*Θ即为当前面元所能容忍的被遮挡像素数量的上限。例如,遮挡容忍阈值Θ为0.3,假设S为100,则SO等于30,也就是说,当前面元能够容忍的被遮挡像素数量为30个。
设定当前面元在Z轴方向的无遮挡范围为[Zmin,Zmax],其中,其中Zmin是fi所对应像素中自身深度的最小值。
其中MAX是定义的通视区间极大值,MAX等同于所有待处理面元顶点在投影方向上的最大值。s是当前面元上实际被遮挡的像素的个数,例如,20,如果实际遮挡像素的数量不大于当前面元所能容忍的被遮挡像素数量的上限,也就意味着该面元可以看作是没有没遮挡,则其无遮挡范围可以达到所有面元中在Z轴投影上的最大值。
如果实际遮挡像素的数量大于当前面元所能容忍的被遮挡像素数量的上限,也就意味着该面元存在遮挡,则无遮挡范围中的Zmax要避开被遮挡的部分再来取值,即容忍Ah中前SO个遮挡值,取Ah中第SO+1个遮挡值作为Zmax。
将面元角点中在投影方向Z轴上最低点的Z坐标作为Zmin。至此得到了每一个面元在投影方向上的可视范围[Zmin,Zmax]。
在步骤S406中,得到可视范围和Z轴方向上的上下限后,接下来则利用这些信息进行分层。则在步骤S406后,还包括:
步骤S407:依据所述可视范围和所述面元角点坐标在Z轴方向上的上下限对所述备择面元进行分层,得到每层对应的面元群组。
在该步骤中,以迭代的方式逐个处理面元群组中的面元。假设选面元群组Ci作为候选集,首先将Ci中的面元Zmin值降序排列的方式进行排序,选取其中的最大值对应的面元作为种子面元,也就是,假设该面元所在层是一个目标层,例如,该面元位于Li,也就是第i层,后续迭代判断面元群组中的其他面元是否也属于这一层。
在该方法中,fi:fi∈Ci&,fj:fj∈Li,基于最临近原则,构建选择函数:
Fc:Li=Li∪fc(fc=min(Zmin(fi)-Zmin(fj))) (11)
其中fc代表在局部近邻集Li中的最近面元。也就是说,每次将离Li最近的一个面元fc作为候选对象,也就是待处理的面元。Fc代表利用该选择函数每次选择出的面元的集合。
在后续步骤中,要进行可行性判断。利用的是依据面元互相不遮挡原则预先构建的可行函数:
Ff:|{fj|fj∈Li,Zmax(fj)>Zmax(fc)}|<θ (12)
该函数表示的含义是,判断层内面元中,面元的Zmax大于fc的可视上限Zmax的面元的个数是否小于θ。也就是说,fc的可视上限Zmax小于或者等于该层内面元中Zmax的个数小于θ,如果fc的可视上限Zmax小于或者等于面元的Zmax,则意味着会对该面元产生可视区间冲突,也就是造成遮挡。其中θ是一个容忍阈值,θ为大于1的正整数,表示若将fc加入Li,允许Li中与之产生可视区间冲突的面元的最大数量,也就是,允许被fc遮挡的面元个数的最大数量。Ff代表利用该可行性函数每次选择出的面元的集合
如果fc加入Li,fc的可视上限Zmax小于等于层内面元的Zmax的数量超出了θ,也就是说,会对层内大于θ个面元造成遮挡,则直接排除fc,也就是fc不属于Li。
而如果fc加入Li,Li中与之产生可视区间冲突的现有元素的最大数量没有超出限度,则判断fc是否与Li中已有的面元是否不产生任何可视区间冲突,也就是说,判断fc的可视上限Zmax是否大于层内所有面元的Zmax,遮挡个数为0,如果是,则证明fc不会对层内的面元进行遮挡,也就不会产生可视区间冲突,则证明fc属于Li。而如果产生可视区间冲突,也就是遮挡个数在0到θ之间,则利用预先建立的目标函数对fc再次进行判断。
目标函数是基于Li层内面元面积最大的原则建立的:
Fo:∑S(fj)>(∑S(fi)+S(fc)) (13)
(fj∈Li,fi∈Li,Zmax(fi)<Zmax(fc))) (14)
将fc带入上述公式,S是求面积函数,将Li层内面元面积和作为指标,判定在Li中加入fc的收益是否大于损失,如果是,则将fc加入Li。Fo是依据公式(13)得到的符合条件的面元的集合。
如果判断的结果是fc加入Li,则更新Li,返回到利用选择函数再选择下一个面元进行处理的过程。
如果判读的结果为fc不加入Li,否则停止迭代,将Li作为子问题解,重新为fc分层,然后进行判断。
重复上述过程,直到面元群组Ci中的所有面元均已分配完毕。
然后,对每一个群组都进行上述处理,直到所有的面元群组都被处理完,则面元群组中包含的所有面元都被进行了分层,重新定义Ci,则Ci={L1,L2...Ln}。也就是,所有的面元进行了重新划分,重新划分后得到每层L1,L2...Ln包含的面元,然后再将每个层作为组成Ci的元素。
步骤S408:确定所述每层对应的面元群组为所述待处理三维建筑模型中的纹理绘制基元。
在该步骤中,可以直接将上一步骤中得到的每层对应的面元群组作为纹理绘制基元,也可以对其分组结果再进行优化后,将优化后的层对应的面元所组成的面元群组,作为纹理绘制基元。在本方案中,分组的准确性直接影响了纹理的映射结果,因此对分组结果进行再次优化,能够在一定程度上提升纹理映射的效果。
该优化过程可以采用基于空间分布的约束方法来实现。
首先对上述得到的Ci={L1,L2...Ln}中各个层建立基于正态分布概率模型的置信度判断。对于有
计算层内所有面元的深度平均数:
与标准差:
其中n是Li中面元的数量,fk为Li中的面元,Zmean为面元fk中像素深度值的中间值。
确定系数t及置信区间[σ-t,σ+t],基于置信区间重新对面元分组。具体步骤为:
(1)对于Li中Zmean落在区间外的面元fe,将其分配到Li的临近层Lj。
(2)重新计算σ(Li)和σ(Lj),得到σ'(Li)和σ'(Lj),令Δi=|σ'(Li)-σ(Li)|,Δj=|σ'(Lj)-σ(Lj)|。
在fe分配到临近层Lj后,必然会带来Li和Lj层内的面元的方差的变化,所以重新计算方差。并计算每层对应的方差的变化量Δi,Δj。
(3)根据计算得到的Δi,Δj参数更新面元fe所在群组,即令fe∈Lk,(Δk=max(Δi,Δj))。
根据方差的变化量,确定fe所在的面元,也就是fe属于Lk,而Lk是Li和Lj中,方差变化量较大的那一个。
(4)更新Li并迭代运算,直到结果收敛,即方差达到预定的值,如0.3m。如果多次迭代都不能满足结果收敛,则在迭代次数达到预设的迭代次数上限时结束。
以此确定了fe的归属后,更新Li,当Li中不再存在Zmean落在区间外的面元后,处理下一个层中的面元。
(5)迭代直到结果收敛或达到迭代次数上限。
对所有的层都进行上述处理,直到结果收敛或达到迭代次数上限。
处理结束后,即可得到在空间上层内聚集层间离散的细分面元群组,然后,将每个群组作为独立的纹理绘制基元。
结合上述各个实施方式,在本申请公开的实施例中,为所述纹理绘制基元构建视景体,为了获取无畸变纹理,采用正射投影的方式,此时视景体为规整的长方体。要根据面元的空间位置确定唯一视景体需要确定视景体的九个参数,包括:视点e,面元外包矩形中心点c,上方向矢量和长方体视景体上下左右前后六个面的空间位置,即视景体上面和下面在X轴方向上的值xu、xd,左面和右面在Y轴方向上的值yl、yr,前面和后面在Z轴方向上的值zf、zb。设Ri(wih,i)是面元fi对应的最小外接矩形,其中wi和hi分别是Ri的长和宽,c是矩形的几何中心,是fi的法向量,规定d1为面元到视景体前面的距离,d2为面元到视景体后面的距离,d=d1+d2。则除上方向矢量外,其余八个参数分别为:c(0,0,0),zb(0,0,-d2),zf(0,0,d1)。
对于弧面部分,出于优化效率考虑,不单独针对每个组成面元构建视景体,而是对已经得到的弧面包围盒的各个面构建视景体,以简化方法。
则步骤S103中,利用所述视景体对所述纹理绘制基元进行视口变换,得到所述纹理绘制基元的二维坐标的过程具体如下:
用MVPW变换来描述该过程,MV表示观察(ModelView)矩阵,P表示投影(Projection)矩阵,W表示视口(Window)矩阵。
MV矩阵为:
其中,
P矩阵为:
W矩阵为:
其中投影矩阵Mprojection公式中的[near,far,left,right,top,bottom]定义透视投影矩阵对应的视锥体中6个平面的位置;视口裁剪矩阵Mwindow中的[width,height]为裁剪窗口像素数,[Xndcs,Yndcs,Zndcs]为三维点在归一化设备坐标系(Normalized DeviceCoordinate System,NDCS)中的坐标。
利用上述矩阵,将纹理绘制基元的坐标从三维坐标转换为二维坐标。
将纹理绘制基元转换到二维坐标,也就是视口坐标后。该视口坐标是指三维建筑模型在显示屏显示时的视图窗口的坐标,而实际纹理映射过程也是在二维坐标系下进行的。纹理绘制基元对应的纹理信息是从待处理三维建筑模型对应的三角网模型中获得的,具体的方式为,依据所述视景体参数对所述三角网模型进行渲染,获得渲染结果,并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图,具体的过程如图7所示,包括:
步骤S701:依据所述视景体参数对所述三角网模型进行三维世界坐标系到二维坐标系下的变换。
该过程同样利用上述MVPW变换来实现,并且,同样利用视景体的参数,从而保证两个模型的一致性。
步骤S702:对所述坐标变换后的三角网模型进行渲染,获得对应的帧缓存,从所述帧缓存中提取颜色缓存作为纹理位图。
在该步骤中,渲染的方式是,将对应的虚拟相机绑定至图形上下文环境对三角网模型进行渲染以获取对应的帧缓存,然后提取帧缓存对象中的颜色缓存保存为纹理位图。在该过程中,三角网弧面部分获取的是其有效包围盒纹理。
步骤S703:利用所述纹理绘制基元的二维坐标和所述纹理位图的二维坐标,确定所述纹理绘制基元对应的纹理位图。
在该步骤中,将获得的纹理位图的四个角点分别和纹理绘制基元的最小外包矩形的四个角点一一对应绑定,实现纹理位图到纹理绘制基元的纹理映射。
在获得纹理绘制基元对应的纹理位图后,则执行步骤S105中,依据纹理绘制基元的二维坐标,将纹理位图映射至对应的纹理绘制基元的过程。
该过程主要分为两个步骤,首先,使用矩形装箱算法BSSF,将离散纹理位图进行拼合,然后将拼合后的位图映射到对应的纹理绘制基元。
在拼合过程中,将每个纹理绘制基元对应的纹理位图,看作是要插入到纹理绘制基元对应的最小外包矩形的待插入纹理位图,然后具体的步骤如图8所示,包括:
步骤S801:将待插入纹理位图按照矩形长边的长度递减排序;
步骤S802:从中选取符合插入条件的位图,插入到纹理绘制基元对应的最小外包矩形中;
其中,符合插入条件为:
Min(Min(|w-wi|,|h-hi|)),(fi∈F) (18)
其中,w、h为插入矩形的宽和高,wi、hi为备择矩形的宽和高,F为备择矩形集合。该公式表示从备择矩形集合F中选取插入位图后剩余边长最短的矩形进行插入。
步骤S803:若插入成功,则对最小外包矩形的空白区域进行分割,分割得到的空白矩形区域作为接下来要插入的最小外包围矩形,然后返回执行步骤S802。
矩形分割示意图如图9所示。
设f是空白矩形,r是要插入f的矩形,则当将r插入到f的左下角位置后,将产生一个L形的空白区域,称为自由域。计算出两个矩形f1和f2,f1和f2分别是在L形自由域横纵方向上具有最长边的矩形,两个矩形有重叠地填充了所有剩余空间。然后从纹理绘制基元对应的纹理位图中选择符合插入条件的位图。直到所有的纹理位图都被插入到纹理绘制基元对应的最小外包矩形中。
步骤S804:若插入失败,则将待插入纹理位图进行缩放,然后再执行步骤S802。
按照上述步骤,将所有的纹理位图都填充到对应的纹理绘制基元对应的最小外包矩形后,实现离散纹理的拼合,然后将拼合后的位图映射到对应的纹理绘制基元。
在该过程中,对于非弧面区域中的一般面元,根据纹理拼合时离散纹理插入到纹理集中的位置,即可获得面元最小外包矩形各个角点对应的纹理集纹理坐标,然后实现纹理映射。
对于非弧面区域中的纹理绘制基元,根据纹理绘制基元与组内面元间的线性映射关系和纹理集中的纹理插入位置计算面元的实际纹理坐标,然后实现纹理映射。
对于弧面部分,纹理绘制基元即是弧面对应的包围盒面,则计算从包围盒面到弧形部分各个面元的投影关系,按照纹理位图→纹理绘制基元(包围盒中的某个平面)→弧面面元的顺序建立起纹理集到各个面元之间的映射关系。计算所有面元最小外包矩形各角点的纹理坐标,重新设定面元的纹理源和纹理坐标参数,实现三维建筑模型的纹理重映射。
本申请同时公开了一种三维建筑模型纹理映射装置,其结构如图10所示,包括:
配准模块1001,用于利用中间坐标系,配准待处理三维建筑模型及其对应的三角网模型;
分层处理模块1002,用于对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元;
变换模块1003,用于为所述纹理绘制基元构建视景体,利用所述视景体对所述纹理绘制基元进行视口变换,得到所述纹理绘制基元的二维坐标;
纹理位图获取模块1004,用于依据所述视景体参数对所述三角网模型进行渲染,获得渲染结果,并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图;
纹理映射模块1005,用于依据所述纹理绘制基元的二维坐标,将所述纹理位图映射至对应的纹理绘制基元。
本申请实施例公开的三维建筑模型纹理映射装置的工作过程可参考图1-9所示实施例,在此不再赘述。该装置首先将三维建筑模型与三角网模型进行配准,然后通过分层处理得到三维建筑模型对应的纹理绘制基元,并将其转换为二维坐标,然后从三角网模型中提取纹理信息,再利用二维坐标将纹理信息映射到三维建筑模型的纹理绘制基元,从而实现对三维建筑模型的纹理映射,在该过程中,从三角网模型能够得到更加丰富准确的纹理信息,而通过对三维建筑模型的面元进行分层得到的纹理绘制基元,能够避免因层间的遮挡导致的纹理映射效果差的问题,因此,该方法可显著提升精细三维建筑物模型纹理映射的自动化程度和精度,能够满足更高的需求。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的三维建筑模型纹理映射方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种三维建筑模型纹理映射方法,其特征在于,包括:
利用中间坐标系,配准待处理三维建筑模型及其对应的三角网模型;
对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元;
为所述纹理绘制基元构建视景体,利用所述视景体对所述纹理绘制基元进行视口变换,得到所述纹理绘制基元的二维坐标;
依据所述视景体参数对所述三角网模型进行渲染,获得渲染结果,并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图;
依据所述纹理绘制基元的二维坐标,将所述纹理位图映射至对应的纹理绘制基元。
2.根据权利要求1所述的方法,其特征在于,所述对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元包括:
对所述待处理三维建筑模型中的弧面进行预处理,得到各个弧面对应的包围盒面,将所述外包围盒面作为所述弧面对应的面元;
对所述三维建筑模型对应的面元集合进行分层处理,得到所述待处理三维建筑模型的纹理绘制基元,所述面元集合中包括:所述弧面对应的面元,以及,所述待处理三维建筑模型中非弧面对应的面元。
3.根据权利要求2所述的方法,其特征在于,所述对所述三维建筑模型中的弧面进行预处理,得到各个弧面对应的包围盒面的过程包括:
提取所述待处理三维建筑模型中的弧面;
选取所述弧面包含的有向基元中向量角度差符合预设角度条件的基元,作为该弧面的弧面基元;
对所述弧面基元进行聚类,得到弧面块;
分别建立每个弧面块的外包围盒,并选取符合预先建立的弧面法向量约束条件的包围盒面,作为所述弧面对应的面元。
4.根据权利要求3所述的方法,其特征在于,所述预设角度条件为:
相邻基元的向量角度差值小于第一阈值,连续基元的向量角度差的差值小于第二阈值。
5.根据权利要求4所述的方法,其特征在于,所述预先建立的弧面法向量约束条件包括:
所述包围盒各面法向量与对应的弧面内每个基元法向量的夹角θ不大于π/2。
6.根据权利要求5所述的方法,其特征在于,所述对所述待处理三维建筑模型对应的面元集合进行处理,得到所述待处理三维建筑模型的纹理绘制基元的过程包括:
将所述面元集合中的面元按照预设聚类规则进行聚类,每个聚类结果对应一个面元群组,所述预设聚类规则包括:任意两个分别属于不同面元群组的面元的相似性距离的最小值,大于,任意两个属于同一面元群组面元的相似性距离的最大值;
计算面元群组的平均法向量并依据所述平均法向量获取备择面元群组,所述备择面元群组为:所述面元群组包含的面元中不被遮挡的面元构成的群组;
对所述备择面元群组中的面元进行坐标变换,将坐标Z轴旋转到所述平均法向量方向;
将所述备择面元群组中所有面元的角点投影到XOY平面上,获取对应的二维点集P,获得所述二维点集P的最小外包围矩形;
记录所述最小外包围矩形范围内的各个像素位置上的面元标识及面元的深度信息;
依据所述深度信息计算每个面元在所述XOY平面上的可视范围,并求解每个面元角点坐标在Z轴方向上的上下限;
依据所述可视范围和所述面元角点坐标在Z轴方向上的上下限对所述备择面元进行分层,得到每层对应的面元群组;
确定所述每层对应的面元群组为所述待处理三维建筑模型的纹理绘制基元。
7.根据权利要求6所述的方法,其特征在于,所述获得所述二维点集P的最小外包围矩形后,还包括:
从所述备择面元群组中剔除投影在所述最小外包围矩形外的面元。
8.根据权利要求7所述的方法,其特征在于,记录所述最小外包围矩形范围内的各个像素位置上的面元标识及面元的深度信息包括:
依据逐像素链表记录所述最小外包围矩形范围内各个像素位置上的面元标识及面元的深度信息。
9.根据权利要求8所述的方法,其特征在于,所述得到每层对应的面元群组步骤后,还包括:
依据正态分布概论模型设置置信区间,基于所述置信区间对所述分层的结果进行优化。
10.根据权利要求8所述的方法,其特征在于,所述依据所述视景体参数对所述三角网模型进行渲染,获得渲染结果,并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图:
依据所述视景体参数对所述三角网模型进行三维世界坐标系到二维坐标系下的变换;
对所述坐标变换后的三角网模型进行渲染,获得对应的帧缓存,从所述帧缓存中提取颜色缓存作为纹理位图;
利用所述纹理绘制基元的二维坐标和所述纹理位图的二维坐标,确定所述纹理绘制基元对应的纹理位图。
11.一种三维建筑模型纹理映射装置,其特征在于,包括:
配准模块,用于利用中间坐标系,配准待处理三维建筑模型及其对应的三角网模型;
分层处理模块,用于对所述三维建筑模型中的面元进行分层处理,以获取所述待处理三维建筑模型的纹理绘制基元;
变换模块,用于为所述纹理绘制基元构建视景体,利用所述视景体对所述纹理绘制基元进行视口变换,得到所述纹理绘制基元的二维坐标;
纹理位图获取模块,用于依据所述视景体参数对所述三角网模型进行渲染,获得所述纹理并依据所述纹理绘制基元的坐标,从所述渲染结果中获得各个纹理绘制基元对应的纹理位图;
纹理映射模块,用于依据所述纹理绘制基元的二维坐标,将所述纹理位图映射至对应的纹理绘制基元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811455935.3A CN109544672A (zh) | 2018-11-30 | 2018-11-30 | 一种三维建筑模型纹理映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811455935.3A CN109544672A (zh) | 2018-11-30 | 2018-11-30 | 一种三维建筑模型纹理映射方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109544672A true CN109544672A (zh) | 2019-03-29 |
Family
ID=65851393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811455935.3A Pending CN109544672A (zh) | 2018-11-30 | 2018-11-30 | 一种三维建筑模型纹理映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109544672A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472534A (zh) * | 2019-07-31 | 2019-11-19 | 厦门理工学院 | 基于rgb-d数据的3d目标检测方法、装置、设备和存储介质 |
CN112434177A (zh) * | 2020-11-27 | 2021-03-02 | 北京邮电大学 | 一种三维模型检索方法、装置、电子设备及存储介质 |
CN112489215A (zh) * | 2020-11-27 | 2021-03-12 | 之江实验室 | 单一绘制批次的具有路面标志的三维道路参数化建模方法 |
CN112561788A (zh) * | 2020-12-22 | 2021-03-26 | 广联达科技股份有限公司 | 一种bim模型的二维展开方法及纹理贴图方法、装置 |
CN113223171A (zh) * | 2021-04-28 | 2021-08-06 | 广东三维家信息科技有限公司 | 一种纹理贴图方法、装置、电子设备及存储介质 |
CN117557710A (zh) * | 2024-01-12 | 2024-02-13 | 深圳市其域创新科技有限公司 | 一种纹理渲染方法、装置、终端设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2012132237A1 (ja) * | 2011-03-31 | 2014-07-24 | パナソニック株式会社 | 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム |
CN107918957A (zh) * | 2016-10-11 | 2018-04-17 | 中国测绘科学研究院 | 一种保持结构和纹理特征的三维建筑模型化简方法 |
-
2018
- 2018-11-30 CN CN201811455935.3A patent/CN109544672A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2012132237A1 (ja) * | 2011-03-31 | 2014-07-24 | パナソニック株式会社 | 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム |
CN107918957A (zh) * | 2016-10-11 | 2018-04-17 | 中国测绘科学研究院 | 一种保持结构和纹理特征的三维建筑模型化简方法 |
Non-Patent Citations (3)
Title |
---|
朱庆,翁其强,胡翰,王峰,王伟玺,杨卫军,张鹏程: "基于帧缓存的多角度影像精细纹理映射方法", 《西南交通大学学报》 * |
李媛,胡翰,谢金华,朱庆,张叶廷,杜志强,彭明军,高山: "局部区域表面一致性约束的三维模型纹理映射方法", 《武汉大学学报(信息科学版)》 * |
翁其强: "基于倾斜摄影测量的建筑物三维模型自动纹理映射方法", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472534A (zh) * | 2019-07-31 | 2019-11-19 | 厦门理工学院 | 基于rgb-d数据的3d目标检测方法、装置、设备和存储介质 |
CN112434177A (zh) * | 2020-11-27 | 2021-03-02 | 北京邮电大学 | 一种三维模型检索方法、装置、电子设备及存储介质 |
CN112489215A (zh) * | 2020-11-27 | 2021-03-12 | 之江实验室 | 单一绘制批次的具有路面标志的三维道路参数化建模方法 |
CN112489215B (zh) * | 2020-11-27 | 2022-09-16 | 之江实验室 | 单一绘制批次的具有路面标志的三维道路参数化建模方法 |
CN112434177B (zh) * | 2020-11-27 | 2023-06-20 | 北京邮电大学 | 一种三维模型检索方法、装置、电子设备及存储介质 |
CN112561788A (zh) * | 2020-12-22 | 2021-03-26 | 广联达科技股份有限公司 | 一种bim模型的二维展开方法及纹理贴图方法、装置 |
CN112561788B (zh) * | 2020-12-22 | 2024-05-10 | 广联达科技股份有限公司 | 一种bim模型的二维展开方法及纹理贴图方法、装置 |
CN113223171A (zh) * | 2021-04-28 | 2021-08-06 | 广东三维家信息科技有限公司 | 一种纹理贴图方法、装置、电子设备及存储介质 |
CN113223171B (zh) * | 2021-04-28 | 2024-01-26 | 广东三维家信息科技有限公司 | 一种纹理贴图方法、装置、电子设备及存储介质 |
CN117557710A (zh) * | 2024-01-12 | 2024-02-13 | 深圳市其域创新科技有限公司 | 一种纹理渲染方法、装置、终端设备及存储介质 |
CN117557710B (zh) * | 2024-01-12 | 2024-05-03 | 深圳市其域创新科技有限公司 | 一种纹理渲染方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109544672A (zh) | 一种三维建筑模型纹理映射方法及装置 | |
US11107272B2 (en) | Scalable volumetric 3D reconstruction | |
Nießner et al. | Real-time 3D reconstruction at scale using voxel hashing | |
CN104616345B (zh) | 一种基于八叉树森林压缩的三维体素存取方法 | |
Lafarge et al. | A hybrid multiview stereo algorithm for modeling urban scenes | |
US20070182734A1 (en) | Adaptive Quadtree-based Scalable Surface Rendering | |
Alidoost et al. | An image-based technique for 3D building reconstruction using multi-view UAV images | |
KR20030001483A (ko) | 옥트리를 이용한 복수의 영상으로부터의 3차원 표현의 발생 | |
CN112789609A (zh) | 地图的更新方法、装置、可移动平台及存储介质 | |
CN111340922A (zh) | 定位与地图构建的方法和电子设备 | |
CN115661374B (zh) | 一种基于空间划分和模型体素化的快速检索方法 | |
US20160232420A1 (en) | Method and apparatus for processing signal data | |
CN115546422A (zh) | 一种建筑物的三维模型构建方法、系统和电子设备 | |
CN115375836A (zh) | 基于多元置信度滤波的点云融合三维重建方法和系统 | |
CN118015197B (zh) | 一种实景三维逻辑单体化方法、装置及电子设备 | |
CN112102467A (zh) | 一种基于gpu的并行八叉树生成、装置及电子设备 | |
Khoche et al. | Semantic 3d grid maps for autonomous driving | |
Zhang et al. | A geometry and texture coupled flexible generalization of urban building models | |
Rothermel et al. | A median-based depthmap fusion strategy for the generation of oriented points | |
CN113850293B (zh) | 基于多源数据和方向先验联合优化的定位方法 | |
CN114332411A (zh) | 一种三维图形实时网格的生成方法 | |
CN117974899B (zh) | 一种基于数字孪生的三维场景展示方法及其系统 | |
Armenakis et al. | iCampus: 3D modeling of York University campus | |
Habib et al. | Integration of lidar and airborne imagery for realistic visualization of 3d urban environments | |
CN116824068B (zh) | 面向复杂动态场景中点云流的实时重建方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20190329 |