CN107464286B - 三维城市模型中的孔洞修复方法及装置、设备及可读介质 - Google Patents

三维城市模型中的孔洞修复方法及装置、设备及可读介质 Download PDF

Info

Publication number
CN107464286B
CN107464286B CN201710524354.XA CN201710524354A CN107464286B CN 107464286 B CN107464286 B CN 107464286B CN 201710524354 A CN201710524354 A CN 201710524354A CN 107464286 B CN107464286 B CN 107464286B
Authority
CN
China
Prior art keywords
hole
texture
vertexes
vertex
vertices
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.)
Active
Application number
CN201710524354.XA
Other languages
English (en)
Other versions
CN107464286A (zh
Inventor
刘巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710524354.XA priority Critical patent/CN107464286B/zh
Publication of CN107464286A publication Critical patent/CN107464286A/zh
Application granted granted Critical
Publication of CN107464286B publication Critical patent/CN107464286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供一种三维城市模型中的孔洞修复方法及装置、设备及可读介质。其方法包括:提取三维城市模型中的待修复的孔洞的多个顶点;根据孔洞的多个顶点,生成用于投影孔洞的拟合平面;拟合平面为二维平面;根据孔洞的拟合平面,构建孔洞的多个顶点的三角网;利用已知纹理面的多个已知顶点的纹理填补孔洞的多个顶点的纹理,以修复孔洞;已知纹理面与孔洞形状和大小一致,多个已知顶点与多个顶点数量相同,多个已知顶点在已知纹理面的边缘的位置分别对应多个顶点在孔洞边缘的位置。本发明通过采用上述技术方案,克服现有技术的不足,提供一种三维城市模型中的孔洞修复方案,弥补三维城市模型中的孔洞,使得三维城市模型在渲染时,显示的信息更加完整。

Description

三维城市模型中的孔洞修复方法及装置、设备及可读介质
【技术领域】
本发明涉及计算机应用技术领域,尤其涉及一种三维城市模型中的孔洞修复方法及装置、设备及可读介质。
【背景技术】
三维城市模型(3Dimensional City Model;3D),也可以简称为三维模型或者3D模型,经过多年的研究和应用,已经在交通、勘察、测绘,特别是城市规划和建设等方面得到广泛应用,并发挥了一定的作用。三维城市模型能够从三维立体的角度展现城市中的建筑,表现形式非常直观、丰富。
现有的三维城市模型是根据城市的真实面貌,高仿真还原出来的。在实际应用中,三维城市模型的各个纹理面包括多个三角面,每一个三角面的顶点具有对应的纹理坐标。在渲染时,可以根据纹理面中的三角面的纹理坐标,一个三角面一个三角面的纹理来渲染,最终显示整个三维城市模型。
但是,在实际应用中,三维城市模型渲染时,经常会发现纹理面中的某些区域的数据丢失,没有三角面的数据,造成三维城市模型中出现孔洞。而现有技术中并没有对类似的孔洞进行修复处理,造成三维城市模型的结构不完整。因此,亟需提供一种三维城市模型中的孔洞修复方案。
【发明内容】
本发明提供了一种三维城市模型中的孔洞修复方法及装置、设备及可读介质,用于弥补现有技术的不足,提供一种三维城市模型中的孔洞修复方案。
本发明提供一种三维城市模型中的孔洞修复方法,所述方法包括:
提取三维城市模型中的待修复的孔洞的多个顶点;
根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;
根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;
利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置。
进一步可选地,如上所述的方法中,提取三维城市模型中的待修复的孔洞的多个顶点之前,所述方法还包括:
接收用户在所述三维城市模型中选择的携带所述孔洞的纹理面;
从所述纹理面中提取所述孔洞。
进一步可选地,如上所述的方法中,根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面,具体包括:
采用平面拟合算法,获取距离所述孔洞的所述多个顶点中的各所述顶点的距离平方和最小的平面,作为所述孔洞的所述拟合平面。
进一步可选地,如上所述的方法中,根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网,具体包括:
在所述孔洞的拟合平面中建立所述孔洞的所述多个顶点的投影点的三角网;
利用所述孔洞的拟合平面中建立的所述多个顶点的投影点的三角网,构建所述孔洞中所述多个顶点的三角网。
进一步可选地,如上所述的方法中,利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞之前,所述方法还包括:
接收所述用户选择的用于填补的所述孔洞的所述已知纹理面的轮廓边缘的所述多个已知顶点;
获取所述多个已知顶点的各所述已知顶点的纹理。
进一步可选地,如上所述的方法中,若所述多个已知顶点中的第一已知顶点不是所述已知纹理面中的三角面的顶点时,获取所述多个已知顶点中的所述第一已知顶点的纹理,具体包括:
获取所述第一已知顶点的坐标和所述第一已知顶点在所述已知纹理面中所属的三角面的三个顶点的坐标;
根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重;
获取所述三角面的三个顶点的纹理坐标;
根据所述三角面的三个顶点的纹理坐标以及各所述顶点对所述第一已知顶点的纹理坐标的权重,计算所述第一已知顶点的纹理坐标。
进一步可选地,如上所述的方法中,根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重,具体包括:
根据所述第一已知顶点p的坐标和所述三角面的三个顶点a、b和c的坐标,分别计算所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c);
根据所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c),计算所述第一已知顶点p与所述三角面的三个顶点a、b和c的聚类D=dis(p_a)+dis(p_b)+dis(p_c);
根据所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c)的倒排和所述聚类D,获取所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc;
根据所述三角面的三个顶点的纹理坐标以及各所述顶点对所述第一已知顶点的纹理坐标的权重,计算所述第一已知顶点的纹理坐标,具体包括:
根据所述三角面的三个顶点a、b和c的纹理横坐标xa、xb和xc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理横坐标表示为x=(xa*pa+xb*pb+xc*pc);
根据所述三角面的三个顶点a、b和c的纹理纵坐标ya、yb和yc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理纵坐标表示为y=(ya*pa+yb*pb+yc*pc)。
本发明提供一种三维城市模型中的孔洞修复装置,所述装置包括:
提取模块,用于提取三维城市模型中的待修复的孔洞的多个顶点;
生成模块,用于根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;
构建模块,用于根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;
修复模块,用于利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置。
进一步可选地,如上所述的装置中,还包括:
接收模块,用于接收用户在所述三维城市模型中选择的携带所述孔洞的纹理面;
所述提取模块,还用于从所述纹理面中提取所述孔洞。
进一步可选地,如上所述的装置中,所述生成模块,具体用于采用平面拟合算法,获取距离所述孔洞的所述多个顶点中的各所述顶点的距离平方和最小的平面,作为所述孔洞的所述拟合平面。
进一步可选地,如上所述的装置中,所述构建模块,具体用于:
在所述孔洞的拟合平面中建立所述孔洞的所述多个顶点的投影点的三角网;
利用所述孔洞的拟合平面中建立的所述多个顶点的投影点的三角网,构建所述孔洞中所述多个顶点的三角网。
进一步可选地,如上所述的装置中,还包括获取模块:
所述接收模块,还用于接收所述用户选择的用于填补的所述孔洞的所述已知纹理面的轮廓边缘的所述多个已知顶点;
所述获取模块,用于获取所述多个已知顶点的各所述已知顶点的纹理。
进一步可选地,如上所述的装置中,若所述多个已知顶点中的第一已知顶点不是所述已知纹理面中的三角面的顶点时,所述获取模块,具体用于:
获取所述第一已知顶点的坐标和所述第一已知顶点在所述已知纹理面中所属的三角面的三个顶点的坐标;
根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重;
获取所述三角面的三个顶点的纹理坐标;
根据所述三角面的三个顶点的纹理坐标以及各所述顶点对所述第一已知顶点的纹理坐标的权重,计算所述第一已知顶点的纹理坐标。
进一步可选地,如上所述的装置中,
所述获取模块,具体用于:
根据所述第一已知顶点p的坐标和所述三角面的三个顶点a、b和c的坐标,分别计算所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c);
根据所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c),计算所述第一已知顶点p与所述三角面的三个顶点a、b和c的聚类D=dis(p_a)+dis(p_b)+dis(p_c);
根据所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c)的倒排和所述聚类D,获取所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc;
所述获取模块,具体还用于:
根据所述三角面的三个顶点a、b和c的纹理横坐标xa、xb和xc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理横坐标表示为x=(xa*pa+xb*pb+xc*pc);
根据所述三角面的三个顶点a、b和c的纹理纵坐标ya、yb和yc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理纵坐标表示为y=(ya*pa+yb*pb+yc*pc)。
本发明还提供一种计算机设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的三维城市模型中的孔洞修复方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的三维城市模型中的孔洞修复方法。
本发明的三维城市模型中的孔洞修复方法及装置、设备及可读介质,通过提取三维城市模型中的待修复的孔洞的多个顶点;根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置。本发明通过采用上述技术方案,克服现有技术的不足,提供一种三维城市模型中的孔洞修复方案,弥补三维城市模型中的孔洞,使得三维城市模型在渲染时,显示的信息更加完整。
【附图说明】
图1为本发明的三维城市模型中的孔洞修复方法实施例的流程图。
图2为本发明实施例的三维城市模型的界面图。
图3为从图2中获取的携带孔洞的纹理面。
图4为从图3中选取的已知纹理面的界面图。
图5为本发明实施例中选取的已知纹理面中的三角面的示例图。
图6为本发明实施例中利用已知纹理面修复孔洞的效果图。
图7为本发明的三维城市模型中的孔洞修复装置实施例一的结构图。
图8为本发明的三维城市模型中的孔洞修复装置实施例二的结构图。
图9为本发明的计算机设备实施例的结构图。
图10为本发明提供的一种计算机设备的示例图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1为本发明的三维城市模型中的孔洞修复方法实施例的流程图。如图1所示,本实施例的三维城市模型中的孔洞修复方法,具体可以包括如下步骤:
100、提取三维城市模型中的待修复的孔洞的多个顶点;
本实施例的三维城市模型中的孔洞修复方法的执行主体为三维城市模型中的孔洞修复装置。该三维城市模型中的孔洞修复装置可以与展示三维城市模型的应用运行在同一个架构下,访问三维城市模型,对三维城市模型中的孔洞进行修复处理。
三维城市模型在渲染时,是按照纹理面中的一个三角面一个三角面来渲染,从而能够高度还原三维城市模型的立体结构。但是在实际应用中,有些纹理面会丢失一些三角面,造成在三维城市模型渲染时,丢失三角面的区域成为一个孔洞,造成三维城市模型的不完整。本实施例的技术方案,便是用于修复类似的孔洞。
三维城市模型的纹理面为三维城市模型的图片资源,由于三维城市模型的纹理面中包括的是多个三角面,所以孔洞的外轮廓边缘都是一些三角面的边,每一条边包括两个顶点,多个三角面的边,首尾互连,便构成孔洞的外轮廓。
可选地,在步骤100之前,可以先从三维城市模型中获取待修复的孔洞。例如,可以对三维城市模型的各个角度的纹理面中的所有三角面逐个遍历,判断这些三角面在纹理面的边缘之外的区域内是否存在不连通的区域,若存在,则该纹理面上存在孔洞。否则,该纹理面上不存在孔洞。判断这些三角面在纹理面的边缘之外的区域内是否存在不连通的区域的时候,具体可以根据每一个三角面的顶点坐标,分析纹理面内的每个三角面的顶点是否与其他两个或者两个以上的三角面的顶点重合,若没有,则可能存在孔洞,可以进一步分析。
但是,采用上述方式对三维城市模型的纹理面中的所有三角面遍历分析,非常费时费力。可选地,还可以在步骤100之前,包括如下步骤:接收用户在三维城市模型中选择的携带孔洞的纹理面;从纹理面中提取孔洞。
具体地,可以通过应用打开三维城市模型,用户检测当前角度的三维城市模型中是否包括孔洞。若包括,由用户通过鼠标等人机接口模块在三维城市模型中选择包括该孔洞的纹理面。也就是说选择的这块纹理面要大于孔洞的大小,孔洞周围包括一些三角面。然后可以进一步根据孔洞周边的三角面的边,提取出该孔洞。
由于孔洞的周边包括一些三角面,因此,可以提取孔洞的轮廓与孔洞周围的三角面的相交的边的顶点,作为孔洞的顶点。但是孔洞的顶点的纹理坐标不能采用周边的三角面的顶点的纹理坐标,暂时置为空,后续再进行计算。
图2为本发明实施例的三维城市模型的界面图。图3为从图2中获取的携带孔洞的纹理面。如图2所示,一个带有孔洞的三维城市模型,其中线条勾勒的区域可以为携带孔洞的纹理面。将该纹理面提取出来,得到图3所示的界面。在孔洞周围包括有多个三角面。按照上述方法,可以提取孔洞以及孔洞的多个顶点。
101、根据孔洞的多个顶点,生成用于投影孔洞的二维的拟合平面;
102、根据孔洞的拟合平面,构建孔洞的多个顶点的三角网;
由于三维城市模型的该孔洞也为一个三维的立体结构的孔洞,为了对该孔洞进行修复,并重新渲染,需要构建该孔洞的三角网,即孔洞的多个顶点之间形成包括多个三角面的网络关系。而孔洞为立体的三维结构,现有技术中无法再三维结构中构建三角网。因此,本实施例中,需要先生成一个二维的拟合平面,以根据孔洞的拟合平面,构建孔洞的多个顶点的三角网。
例如本实施例中的步骤101具体可以采用如下方式来实现:采用平面拟合算法,获取距离孔洞的多个顶点中的各顶点的距离平方和最小的平面,作为孔洞的拟合平面。理论上该拟合平面可以为任意的二维平面,但是,实际应用中,二维平面的选取不合适,可能无法准确构建孔洞的多个顶点的三角网。本实施例中,可以获取距离孔洞的多个顶点中的各顶点的距离平方和最小的平面,作为孔洞的拟合平面。
可选地,根据孔洞的拟合平面,构建孔洞的多个顶点的三角网,具体可以包括:在孔洞的拟合平面中建立孔洞的多个顶点的投影点的三角网;利用孔洞的拟合平面中建立的多个顶点的投影点的三角网,构建孔洞中多个顶点的三角网。
具体地,先将孔洞的多个顶点投影在二维的拟合平面中。并利用相关技术在二维的拟合平面中构建孔洞多个顶点的投影点的三角网。由于二维的拟合平面中的三角网是根据孔洞的多个顶点在拟合平面的投影点建立的。所以可以将该三角网,反射回去,应用在三维城市模型中,从而得到三维城市模型中的孔洞的多个顶点的三角网。例如,在拟合平面中,孔洞的顶点A的投影点A‘、孔洞的顶点B的投影点B’和孔洞的顶点C的投影点C‘之间构成三角面。对应地,在三维城市模型中,A、B和C之间也会构成三角面。按照类似的方式,可以将拟合平面中的三角网,应用到三维城市模型中的孔洞中,从而可以构建孔洞的多个顶点的三角网。
103、利用已知纹理面的多个已知顶点的纹理填补孔洞的多个顶点的纹理,以修复孔洞;已知纹理面与孔洞形状和大小一致,多个已知顶点与多个顶点数量相同,多个已知顶点在已知纹理面的边缘的位置分别对应多个顶点在孔洞边缘的位置。
上述步骤仅修复了孔洞的多个顶点的三角网,但是孔洞的纹理还维填补,该步骤中,可以选取与孔洞形状和大小一致的已知纹理面。然后根据孔洞的多个顶点,在已知纹理面中选取多个已知顶点,且多个已知顶点在已知纹理面的边缘的位置分别对应多个顶点在孔洞边缘的位置,
可选地,在该步骤103之前,还可以包括:接收用户选择的用于填补的孔洞的已知纹理面的轮廓边缘的多个已知顶点;获取多个已知顶点的各已知顶点的纹理。本实施例中,由用户根据孔洞的大小、形状以及孔洞周边的纹理,来选取一块已知纹理面。用户选取已知纹理面时,可以采用鼠标在三维城市模型中选取。本实施例的三维城市模型中的孔洞修复装置,可以对用户选取的已知纹理面与孔洞进行比较,例如,可以获取孔洞的外形,在用户选取已知纹理面的时候,在已知纹理面周边采用与已知纹理面的边缘不同的颜色,显示孔洞的轮廓。这样,便于用户调整选取的已知纹理面。然后获取已知纹理面的多个已知顶点。若已知顶点位于已知纹理面中的三角面中时,可以直接根据记录的三角面的纹理坐标,获取该已知顶点的纹理坐标。例如,图4为从图3中选取的已知纹理面的界面图。如图4所示,孔洞左侧的多个白色的点即为选取的已知纹理面的已知顶点。具体可以采用如上实施例来选取。
若多个已知顶点中存在不是已知纹理面中的三角面的顶点时,例如,若多个已知顶点中的第一已知顶点不是已知纹理面中的三角面的顶点时,此时,获取多个已知顶点中的第一已知顶点的纹理,具体包括如下步骤:
(a1)获取第一已知顶点的坐标和第一已知顶点在已知纹理面中所属的三角面的三个顶点的坐标;
例如,图5为本发明实施例中选取的已知纹理面中的三角面的示例图。如图5所示,在三维城市模型的已知纹理面中,第一已知顶点p落在已知纹理面中的一个三角面abc的中间。点击第一已知顶点p,可以得到该第一已知顶点p的像素坐标(x,y),由此可以得到对应的深度值f,f的范围为0~1之间。实际应用中,若没有深度就是没有选中模型。根据该第一已知顶点p的(x,y,f),经过坐标变换,即由像素坐标转到三维城市模型的型坐标,便得到一个三维坐标(x',y',z),即得到第一已知顶点p的坐标。
另外,在三维城市模型中,存储有已知纹理面中的每个三角面的顶点的坐标。依此可以获取到顶点a、b和c的坐标。
(a2)根据第一已知顶点的坐标和三角面的三个顶点的坐标,计算三角面的三个顶点对第一已知顶点的纹理坐标的权重;
例如,该步骤具体可以包括如下步骤:
(b1)根据第一已知顶点p的坐标和三角面的三个顶点a、b和c的坐标,分别计算第一已知顶点p分别与三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c);
(b2)根据第一已知顶点p分别与三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c),计算第一已知顶点p与三角面的三个顶点a、b和c的聚类D=dis(p_a)+dis(p_b)+dis(p_c);
(b3)根据第一已知顶点p分别与三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c)的倒排和聚类D,获取三角面的三个顶点对第一已知顶点的纹理坐标的权重pa、pb和pc。
具体地,根据第一已知顶点p的坐标和顶点a的坐标,可以计算p到a的距离dis(p_a);根据第一已知顶点p的坐标和顶点b的坐标,可以计算p到b的距离dis(p_b);根据第一已知顶点p的坐标和顶点c的坐标,可以计算p到c的距离dis(p_c)。
然后取第一已知顶点p与三角面的三个顶点a、b和c的聚类D=dis(p_a)+dis(p_b)+dis(p_c)。
在实际应用中,可以猜想,第一已知顶点p距离哪个顶点越近,该越近的顶点的纹理便对该第一已知顶点p的纹理影响越大。而距离哪个顶点越远,该越远的顶点的纹理便对该第一已知顶点p的纹理影响越小。因此,本实施例中,可以将dis(p_a)、dis(p_b)和dis(p_c)排序,取出最大值和最小值。例如图5所示,dis(p_c)距离最大,dis(p_a)距离最小。
根据可以根据dis(p_a)、dis(p_b)和dis(p_c)的倒排和聚类D,设置三角面的三个顶点对第一已知顶点的纹理坐标的权重。例如,可以选取顶点a对第一已知顶点的纹理坐标的权重pa=dis(p_c)/D,顶点b对第一已知顶点的纹理坐标的权重pb=dis(p_b)/D,顶点c对第一已知顶点的纹理坐标的权重pc=dis(p_a)/D。
(a3)获取三角面的三个顶点的纹理坐标;
具体在三维城市模型的数据库中存储有每个纹理面的每个三角面的顶点的纹理坐标,需要时,可以随时获取。
(a4)根据三角面的三个顶点的纹理坐标以及各顶点对第一已知顶点的纹理坐标的权重,计算第一已知顶点的纹理坐标。
(c1)根据三角面的三个顶点a、b和c的纹理横坐标xta、xtb和xtc,以及各顶点对第一已知顶点的纹理坐标的权重pa、pb和pc,第一已知顶点的纹理横坐标可以表示为xt=(xta*pa+xtb*pb+xtc*pc);
(c2)根据三角面的三个顶点a、b和c的纹理纵坐标yta、ytb和ytc,以及各顶点对第一已知顶点的纹理坐标的权重pa、pb和pc,第一已知顶点的纹理纵坐标可以表示为yt=(yta*pa+ytb*pb+ytc*pc)。
根据上述方式,无论利用已知纹理面的多个已知顶点是落在已知纹理面中的三角面的顶点上还是三角面内,均可以获取到每个已知顶点的纹理坐标,最后利用多个已知顶点的纹理坐标分别作为孔洞中对应位置的顶点的纹理坐标,即实现对孔洞的多个顶点的纹理进行填补,从而修复孔洞。这样在渲染时,孔洞中包括三角网划分的多个三角面,每个三角面顶点还包括纹理坐标,从而可以正常渲染并显示。图6为本发明实施例中利用已知纹理面修复孔洞的效果图。如图6所示,在利用图5所选取的已知纹理面采用上述实施例的三维城市模型的孔洞修复方法,可以对孔洞进行修复,修复之后的效果图如图6所示。
本实施例的三维城市模型中的孔洞修复方法,通过采用上述技术方案,克服现有技术的不足,提供一种三维城市模型中的孔洞修复方案,弥补三维城市模型中的孔洞,使得三维城市模型在渲染时,显示的信息更加完整。
图7为本发明的三维城市模型中的孔洞修复装置实施例一的结构图。如图7所示,本实施例的三维城市模型中的孔洞修复装置,具体可以包括:提取模块10、生成模块11、构建模块12和修复模块13。
其中提取模块10用于提取三维城市模型中的待修复的孔洞的多个顶点;
生成模块11用于根据提取模块10提取的孔洞的多个顶点,生成用于投影孔洞的拟合平面;拟合平面为二维平面;
构建模块12用于根据生成模块11生成的孔洞的拟合平面,构建孔洞的多个顶点的三角网;
修复模块13用于利用已知纹理面的多个已知顶点的纹理填补构建模块12构建了三角网后的孔洞的多个顶点的纹理,以修复孔洞;已知纹理面与孔洞形状和大小一致,多个已知顶点与多个顶点数量相同,多个已知顶点在已知纹理面的边缘的位置分别对应多个顶点在孔洞边缘的位置。
本实施例的三维城市模型中的孔洞修复装置,通过采用上述模块实现三维城市模型中的孔洞修复的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图8为本发明的三维城市模型中的孔洞修复装置实施例二的结构图。如图8所示,本实施例的三维城市模型中的孔洞修复装置,在上述图7所示实施例的技术方案的基础上,进一步更加详细地介绍本发明的技术方案。
如图8所示,本实施例的三维城市模型中的孔洞修复装置,还包括:接收模块14。
接收模块14用于接收用户在三维城市模型中选择的携带孔洞的纹理面;
提取模块10还用于从接收模块14接收的纹理面中提取孔洞。
进一步可选地,本实施例的三维城市模型中的孔洞修复装置中,生成模块11具体用于采用平面拟合算法,获取距离孔洞的多个顶点中的各顶点的距离平方和最小的平面,作为孔洞的拟合平面。
进一步可选地,本实施例的三维城市模型中的孔洞修复装置中,构建模块12具体用于:
在孔洞的拟合平面中建立孔洞的多个顶点的投影点的三角网;
利用孔洞的拟合平面中建立的多个顶点的投影点的三角网,构建孔洞中多个顶点的三角网。
进一步可选地,如图8所示,本实施例的三维城市模型中的孔洞修复装置,还包括获取模块15。
接收模块14还用于接收用户选择的用于填补的孔洞的已知纹理面的轮廓边缘的多个已知顶点;
获取模块15用于获取接收模块14接收的多个已知顶点的各已知顶点的纹理。
对应地,修复模块13用于利用获取模块15获取的已知纹理面的多个已知顶点的纹理填补构建模块12构建了三角网后的孔洞的多个顶点的纹理,以修复孔洞。
进一步可选地,若多个已知顶点中的第一已知顶点不是已知纹理面中的三角面的顶点时,获取模块15具体用于:
获取第一已知顶点的坐标和第一已知顶点在已知纹理面中所属的三角面的三个顶点的坐标;
根据第一已知顶点的坐标和三角面的三个顶点的坐标,计算三角面的三个顶点对第一已知顶点的纹理坐标的权重;
获取三角面的三个顶点的纹理坐标;
根据三角面的三个顶点的纹理坐标以及各顶点对第一已知顶点的纹理坐标的权重,计算第一已知顶点的纹理坐标。
进一步可选地,获取模块15具体用于:
根据第一已知顶点p的坐标和三角面的三个顶点a、b和c的坐标,分别计算第一已知顶点p分别与三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c);
根据第一已知顶点p分别与三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c),计算第一已知顶点p与三角面的三个顶点a、b和c的聚类D=dis(p_a)+dis(p_b)+dis(p_c);
根据第一已知顶点p分别与三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c)的倒排和聚类D,获取三角面的三个顶点对第一已知顶点的纹理坐标的权重pa、pb和pc;
进一步可选地,获取模块15具体还用于:
根据三角面的三个顶点a、b和c的纹理横坐标xa、xb和xc,以及各顶点对第一已知顶点的纹理坐标的权重pa、pb和pc,第一已知顶点的纹理横坐标表示为x=(xa*pa+xb*pb+xc*pc);
根据三角面的三个顶点a、b和c的纹理纵坐标ya、yb和yc,以及各顶点对第一已知顶点的纹理坐标的权重pa、pb和pc,第一已知顶点的纹理纵坐标表示为y=(ya*pa+yb*pb+yc*pc)。
本实施例的三维城市模型中的孔洞修复装置,通过采用上述模块实现三维城市模型中的孔洞修复的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图9为本发明的计算机设备实施例的结构图。如图9所示,本实施例的计算机设备,包括:一个或多个处理器30,以及存储器40,存储器40用于存储一个或多个程序,当存储器40中存储的一个或多个程序被一个或多个处理器30执行,使得一个或多个处理器30实现如上图1所示实施例的三维城市模型中的孔洞修复方法。图9所示实施例中以包括多个处理器30为例。
例如,图10为本发明提供的一种计算机设备的示例图。图10示出了适于用来实现本发明实施方式的示例性计算机设备12a的框图。图10显示的计算机设备12a仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机设备12a以通用计算设备的形式表现。计算机设备12a的组件可以包括但不限于:一个或者多个处理器16a,系统存储器28a,连接不同系统组件(包括系统存储器28a和处理器16a)的总线18a。
总线18a表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12a典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12a访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28a可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30a和/或高速缓存存储器32a。计算机设备12a可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34a可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18a相连。系统存储器28a可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明上述图1-图8各实施例的功能。
具有一组(至少一个)程序模块42a的程序/实用工具40a,可以存储在例如系统存储器28a中,这样的程序模块42a包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42a通常执行本发明所描述的上述图1-图8各实施例中的功能和/或方法。
计算机设备12a也可以与一个或多个外部设备14a(例如键盘、指向设备、显示器24a等)通信,还可与一个或者多个使得用户能与该计算机设备12a交互的设备通信,和/或与使得该计算机设备12a能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22a进行。并且,计算机设备12a还可以通过网络适配器20a与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20a通过总线18a与计算机设备12a的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12a使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16a通过运行存储在系统存储器28a中的程序,从而执行各种功能应用以及数据处理,例如实现上述实施例所示的三维城市模型中的孔洞修复方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所示的三维城市模型中的孔洞修复方法。
本实施例的计算机可读介质可以包括上述图10所示实施例中的系统存储器28a中的RAM30a、和/或高速缓存存储器32a、和/或存储系统34a。
随着科技的发展,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载,或者采用其他方式获取。因此,本实施例中的计算机可读介质不仅可以包括有形的介质,还可以包括无形的介质。
本实施例的计算机可读介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (14)

1.一种三维城市模型中的孔洞修复方法,其特征在于,所述方法包括:
提取三维城市模型中的待修复的孔洞的多个顶点;
根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;
根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;
利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置;
若所述多个已知顶点中的第一已知顶点不是所述已知纹理面中的三角面的顶点时,获取所述多个已知顶点中的所述第一已知顶点的纹理,具体包括:
获取所述第一已知顶点的坐标和所述第一已知顶点在所述已知纹理面中所属的三角面的三个顶点的坐标;
根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重;
获取所述三角面的三个顶点的纹理坐标;
根据所述三角面的三个顶点的纹理坐标以及各所述顶点对所述第一已知顶点的纹理坐标的权重,计算所述第一已知顶点的纹理坐标。
2.根据权利要求1所述的方法,其特征在于,提取三维城市模型中的待修复的孔洞的多个顶点之前,所述方法还包括:
接收用户在所述三维城市模型中选择的携带所述孔洞的纹理面;
从所述纹理面中提取所述孔洞。
3.根据权利要求1所述的方法,其特征在于,根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面,具体包括:
采用平面拟合算法,获取距离所述孔洞的所述多个顶点中的各所述顶点的距离平方和最小的平面,作为所述孔洞的所述拟合平面。
4.根据权利要求1所述的方法,其特征在于,根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网,具体包括:
在所述孔洞的拟合平面中建立所述孔洞的所述多个顶点的投影点的三角网;
利用所述孔洞的拟合平面中建立的所述多个顶点的投影点的三角网,构建所述孔洞中所述多个顶点的三角网。
5.根据权利要求1所述的方法,其特征在于,利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞之前,所述方法还包括:
接收用户选择的用于填补的所述孔洞的所述已知纹理面的轮廓边缘的所述多个已知顶点;
获取所述多个已知顶点的各所述已知顶点的纹理。
6.根据权利要求1所述的方法,其特征在于,根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重,具体包括:
根据所述第一已知顶点p的坐标和所述三角面的三个顶点a、b和c的坐标,分别计算所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c);
根据所述dis(p_a)、dis(p_b)和dis(p_c),计算所述第一已知顶点p与所述三角面的三个顶点a、b和c的聚类D=dis(p_a)+dis(p_b)+dis(p_c);
根据所述dis(p_a)、dis(p_b)和dis(p_c)的倒排和所述聚类D,获取所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc;所述倒排指的是dis(p_a)、dis(p_b)和dis(p_c)颠倒大小的排序情况;
根据所述三角面的三个顶点的纹理坐标以及各所述顶点对所述第一已知顶点的纹理坐标的权重,计算所述第一已知顶点的纹理坐标,具体包括:
根据所述三角面的三个顶点a、b和c的纹理横坐标xa、xb和xc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理横坐标表示为x=(xa*pa+xb*pb+xc*pc);
根据所述三角面的三个顶点a、b和c的纹理纵坐标ya、yb和yc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理纵坐标表示为y=(ya*pa+yb*pb+yc*pc)。
7.一种三维城市模型中的孔洞修复装置,其特征在于,所述装置包括:
提取模块,用于提取三维城市模型中的待修复的孔洞的多个顶点;
生成模块,用于根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;
构建模块,用于根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;
修复模块,用于利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置;
获取模块,用于若所述多个已知顶点中的第一已知顶点不是所述已知纹理面中的三角面的顶点时,用于:
获取所述第一已知顶点的坐标和所述第一已知顶点在所述已知纹理面中所属的三角面的三个顶点的坐标;
根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重;
获取所述三角面的三个顶点的纹理坐标;
根据所述三角面的三个顶点的纹理坐标以及各所述顶点对所述第一已知顶点的纹理坐标的权重,计算所述第一已知顶点的纹理坐标。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收用户在所述三维城市模型中选择的携带所述孔洞的纹理面;
所述提取模块,还用于从所述纹理面中提取所述孔洞。
9.根据权利要求7所述的装置,其特征在于,所述生成模块,具体用于采用平面拟合算法,获取距离所述孔洞的所述多个顶点中的各所述顶点的距离平方和最小的平面,作为所述孔洞的所述拟合平面。
10.根据权利要求7所述的装置,其特征在于,所述构建模块,具体用于:
在所述孔洞的拟合平面中建立所述孔洞的所述多个顶点的投影点的三角网;
利用所述孔洞的拟合平面中建立的所述多个顶点的投影点的三角网,构建所述孔洞中所述多个顶点的三角网。
11.根据权利要求8所述的装置,其特征在于:
所述接收模块,还用于接收所述用户选择的用于填补的所述孔洞的所述已知纹理面的轮廓边缘的所述多个已知顶点;
所述获取模块,还用于获取所述多个已知顶点的各所述已知顶点的纹理。
12.根据权利要求7所述的装置,其特征在于,所述获取模块,具体用于:
根据所述第一已知顶点p的坐标和所述三角面的三个顶点a、b和c的坐标,分别计算所述第一已知顶点p分别与所述三角面的三个顶点a、b和c距离dis(p_a)、dis(p_b)和dis(p_c);
根据所述dis(p_a)、dis(p_b)和dis(p_c),计算所述第一已知顶点p与所述三角面的三个顶点a、b和c的聚类D=dis(p_a)+dis(p_b)+dis(p_c);
根据所述dis(p_a)、dis(p_b)和dis(p_c)的倒排和所述聚类D,获取所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc;所述倒排指的是dis(p_a)、dis(p_b)和dis(p_c)颠倒大小的排序情况;
所述获取模块,具体还用于:
根据所述三角面的三个顶点a、b和c的纹理横坐标xa、xb和xc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理横坐标表示为x=(xa*pa+xb*pb+xc*pc);
根据所述三角面的三个顶点a、b和c的纹理纵坐标ya、yb和yc,以及各所述顶点对所述第一已知顶点的纹理坐标的权重pa、pb和pc,所述第一已知顶点的纹理纵坐标表示为y=(ya*pa+yb*pb+yc*pc)。
13.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201710524354.XA 2017-06-30 2017-06-30 三维城市模型中的孔洞修复方法及装置、设备及可读介质 Active CN107464286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710524354.XA CN107464286B (zh) 2017-06-30 2017-06-30 三维城市模型中的孔洞修复方法及装置、设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710524354.XA CN107464286B (zh) 2017-06-30 2017-06-30 三维城市模型中的孔洞修复方法及装置、设备及可读介质

Publications (2)

Publication Number Publication Date
CN107464286A CN107464286A (zh) 2017-12-12
CN107464286B true CN107464286B (zh) 2020-12-18

Family

ID=60544136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710524354.XA Active CN107464286B (zh) 2017-06-30 2017-06-30 三维城市模型中的孔洞修复方法及装置、设备及可读介质

Country Status (1)

Country Link
CN (1) CN107464286B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872467B2 (en) * 2018-06-06 2020-12-22 Ke.Com (Beijing) Technology Co., Ltd. Method for data collection and model generation of house
CN109064542B (zh) * 2018-06-06 2019-11-19 贝壳找房(北京)科技有限公司 三维模型表面空洞填补方法和装置
CN109509174A (zh) * 2018-10-12 2019-03-22 桂林电子科技大学 一种自动识别真实缺陷孔洞的度量方法
CN112419178A (zh) * 2020-11-18 2021-02-26 芯勍(上海)智能化科技股份有限公司 破洞修复方法、终端设备及计算机可读存储介质
CN113643788B (zh) * 2021-07-15 2024-04-05 北京复数健康科技有限公司 基于多个图像获取设备确定特征点的方法及系统
CN115358979B (zh) * 2022-08-12 2023-06-16 武汉大学 一种倾斜实景三维模型质量检查方法及装置
CN116071276B (zh) * 2023-04-07 2023-06-16 深圳开鸿数字产业发展有限公司 基于顶点的三维模型缺口修复方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050057561A1 (en) * 2003-09-11 2005-03-17 El-Din Elshishiny Hisham Emad System and method for hole filling in 3D models
CN106683186A (zh) * 2016-11-16 2017-05-17 浙江工业大学 一种曲面细节保持的三维模型修复方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050057561A1 (en) * 2003-09-11 2005-03-17 El-Din Elshishiny Hisham Emad System and method for hole filling in 3D models
CN106683186A (zh) * 2016-11-16 2017-05-17 浙江工业大学 一种曲面细节保持的三维模型修复方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Filling Holes in Triangular Meshes by Curve Unfolding;Alan Brunton et al.;《2009 IEEE International Conference on Shape Modeling and Applications》;20090626;第66-69页 *
三维模型孔洞修补方法的研究;谢倩茹 等;《计算机应用研究》;20131031;第30卷(第10期);第3175-3177页 *

Also Published As

Publication number Publication date
CN107464286A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107464286B (zh) 三维城市模型中的孔洞修复方法及装置、设备及可读介质
CN109271893B (zh) 一种仿真点云数据的生成方法、装置、设备及存储介质
CN102622776B (zh) 三维环境重构
EP4120199A1 (en) Image rendering method and apparatus, and electronic device and storage medium
CN107767453B (zh) 一种基于规则约束的建筑物lidar点云重构优化方法
Greß et al. GPU‐based collision detection for deformable parameterized surfaces
CN115100339A (zh) 图像生成方法、装置、电子设备和存储介质
EP3756163B1 (en) Methods, devices, and computer program products for gradient based depth reconstructions with robust statistics
CN115409933B (zh) 多风格纹理贴图生成方法及其装置
CN109979013B (zh) 三维人脸贴图方法及终端设备
CN112530005B (zh) 一种三维模型直线结构识别与自动修复方法
Livnat et al. Interactive point-based isosurface extraction
Li et al. Voxelized Minkowski sum computation on the GPU with robust culling
Li et al. A GPU-based voxelization approach to 3D Minkowski sum computation
CN113538706B (zh) 基于数字沙盘的房景展示方法、装置、设备及存储介质
CN113724401A (zh) 一种三维模型切割方法、装置、计算机设备和存储介质
US9098937B2 (en) Electronic device and method for simulating three-dimensional model of workpiece
CN115330940A (zh) 一种三维重建方法、装置、设备和介质
US20220358694A1 (en) Method and apparatus for generating a floor plan
Wiemann et al. Automatic Map Creation For Environment Modelling In Robotic Simulators.
US8948498B1 (en) Systems and methods to transform a colored point cloud to a 3D textured mesh
CN111210501B (zh) 一种室内建模方法、装置及终端设备
Li et al. A sweep and translate algorithm for computing voxelized 3D Minkowski sums on the GPU
Zhou 3D urban modeling from city-scale aerial LiDAR data
CN115375847B (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
GR01 Patent grant
GR01 Patent grant