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

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

【技术实现步骤摘要】
三维城市模型中的孔洞修复方法及装置、设备及可读介质
本专利技术涉及计算机应用
,尤其涉及一种三维城市模型中的孔洞修复方法及装置、设备及可读介质。
技术介绍
三维城市模型(3DimensionalCityModel;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)。本专利技术提供一种三维城市模型中的孔洞修复装置,所述装置包括:提取模块,用于提取三维城市模型中的待修复的孔洞的多个顶点;生成模块,用于根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;构建模块,用于根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;修复模块,用于利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置。进一步可选地,如上所述的装置中,还包括:接收模块,用于接收用户在所述三维城市模型中选择的携带所述孔洞的纹理面;所述提取模块,还用于从所述纹理面中提取所述孔洞。进一步可选地,如上所述的装置中,所述生成模块,具体用于采用平面拟合算法,获取距离所述孔洞的所述多个顶点中的各所述顶点的距离平方和最小的平面,作为所述孔洞的所述拟合平面。进一步可选地,如上所述的装置中,所述构建模块,具体用于:在所述孔洞的拟合平面中建立所述孔洞的所述多个顶点的投影点的三角网;利用所述孔洞的拟合平面中建立的所述多个顶点的投影点的三角网,构建所述孔洞中所述多个顶点的三角网。进一步可选地,如上所述的装置中,还包括获取模块:所述接收模块,还用于接收所述用户选择的用于填补的所述孔洞的所述已知纹理面的轮廓边缘的所述多个已知顶点;所述获取模块,用于获取所述多个已知顶点的各所述已知顶点的纹理。进一步可选地,如上所述的装置中,若所述多个已知顶点中的第一已知顶点不是所述已知纹理面中的三角面的顶点时,所述获取模块,具体用于:获取所述第一已知顶点的坐标和所述第一已知顶点在所述已知纹理面中所属的三角面的三个顶点的坐标;根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重;本文档来自技高网...
三维城市模型中的孔洞修复方法及装置、设备及可读介质

【技术保护点】
一种三维城市模型中的孔洞修复方法,其特征在于,所述方法包括:提取三维城市模型中的待修复的孔洞的多个顶点;根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置。

【技术特征摘要】
1.一种三维城市模型中的孔洞修复方法,其特征在于,所述方法包括:提取三维城市模型中的待修复的孔洞的多个顶点;根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面;所述拟合平面为二维平面;根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网;利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞;所述已知纹理面与所述孔洞形状和大小一致,所述多个已知顶点与所述多个顶点数量相同,所述多个已知顶点在所述已知纹理面的边缘的位置分别对应所述多个顶点在所述孔洞边缘的位置。2.根据权利要求1所述的方法,其特征在于,提取三维城市模型中的待修复的孔洞的多个顶点之前,所述方法还包括:接收用户在所述三维城市模型中选择的携带所述孔洞的纹理面;从所述纹理面中提取所述孔洞。3.根据权利要求1所述的方法,其特征在于,根据所述孔洞的所述多个顶点,生成用于投影所述孔洞的拟合平面,具体包括:采用平面拟合算法,获取距离所述孔洞的所述多个顶点中的各所述顶点的距离平方和最小的平面,作为所述孔洞的所述拟合平面。4.根据权利要求1所述的方法,其特征在于,根据所述孔洞的拟合平面,构建所述孔洞的所述多个顶点的三角网,具体包括:在所述孔洞的拟合平面中建立所述孔洞的所述多个顶点的投影点的三角网;利用所述孔洞的拟合平面中建立的所述多个顶点的投影点的三角网,构建所述孔洞中所述多个顶点的三角网。5.根据权利要求1所述的方法,其特征在于,利用已知纹理面的多个已知顶点的纹理填补所述孔洞的多个顶点的纹理,以修复所述孔洞之前,所述方法还包括:接收所述用户选择的用于填补的所述孔洞的所述已知纹理面的轮廓边缘的所述多个已知顶点;获取所述多个已知顶点的各所述已知顶点的纹理。6.根据权利要求1所述的方法,其特征在于,若所述多个已知顶点中的第一已知顶点不是所述已知纹理面中的三角面的顶点时,获取所述多个已知顶点中的所述第一已知顶点的纹理,具体包括:获取所述第一已知顶点的坐标和所述第一已知顶点在所述已知纹理面中所属的三角面的三个顶点的坐标;根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重;获取所述三角面的三个顶点的纹理坐标;根据所述三角面的三个顶点的纹理坐标以及各所述顶点对所述第一已知顶点的纹理坐标的权重,计算所述第一已知顶点的纹理坐标。7.根据权利要求6所述的方法,其特征在于,根据所述第一已知顶点的坐标和所述三角面的三个顶点的坐标,计算所述三角面的三个顶点对所述第一已知顶点的纹理坐标的权重,具体包括:根据所述第一已知顶点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)。8.一...

【专利技术属性】
技术研发人员:刘巍
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1