一种倾斜摄影实景三维模型单体化方法技术

技术编号:17099278 阅读:86 留言:0更新日期:2018-01-21 11:07
本发明专利技术公开了一种倾斜摄影实景三维模型单体化方法,涉及三维地理信息领域,包括如下步骤:获取需要进行单体化模型的底面轮廓信息,将底面信息转换成底面纹理图,并按需扩展底面轮廓范围;然后基于模型包围盒和底面纹理图,构建具有单体化信息的底面模型,用于单体化信息的存储;在三维场景中加载倾斜摄影三维模型和底面模型,将底面模型投影到倾斜摄影三维模型上;通过GPU着色器编程,提供修改片元最终显示颜色的一致性变量值,结合底面纹理图,实现模型高亮、高亮颜色和透明度修改以及模型的显隐。

A mono method for three-dimensional model of oblique photography

The invention discloses a three-dimensional model of tilt photographic scene monomer method, relates to three-dimensional geographic information field, which comprises the following steps: acquiring the need for a single model bottom surface profile information, the bottom information into the bottom surface texture map, and extensions to the profile range; then based on the model by the box and the bottom surface texture map, surface model has a single information base, a monomer for information storage; in the three-dimensional scene loading tilt photography 3D model and the bottom surface of the model, the bottom model projected to tilt photography on three-dimensional model; through the GPU shader programming, modify the final patch the consistency of variable color value, combined with the bottom surface texture, brightness, color and highlight the implementation model and the model of implicit and explicit opacity.

【技术实现步骤摘要】
一种倾斜摄影实景三维模型单体化方法
本专利技术涉及三维地理信息领域,特别是涉及一种倾斜摄影实景三维模型单体化方法实现方法。
技术介绍
利用倾斜摄影测量技术获取地面多视角影像开展实景三维建模是近年来快速发展的一种新兴城市三维建模技术,该建模方法具有建模速度快,所生成模型真实性强的特征,因而得到了快速发展和广泛的应用。但是由于倾斜模型得到的模型通常是近似格网分割的“表皮”模型,多为连续的三角面构成的表面模型,不能够区分出建筑、小品、道路、植被等地物信息。因此,在进一步进行数据分类,开展属性挂接等应用时,需要对倾斜模型进行“对象化”(或称单体化)操作,从而在“表皮”模型中,识别出具体的建筑、小品、道路、植被等地物对象,进而开展相应的三维应用。目前,单体化的方式主要有以下几种,一种是硬切分,直接利用对象矢量线范围将对象从倾斜模型中分割出来,形成独立的对象,但硬切割需要提前进行,且会破坏原始数据的结构,并可能造成数据冗余,一种是ID单体化,根据对象矢量线范围对倾斜模型三角面进行分割,属于同一个对象的三角面赋予相同的ID,该种方式也需要事先确定好ID值,不够灵活。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种倾斜摄影实景三维模型单体化方法。为实现上述目的,本专利技术提供了一种倾斜摄影实景三维模型单体化方法,包括如下步骤:S1、获取三维模型的底面轮廓信息,将底面轮廓信息转换成底面纹理图,并扩展底面轮廓范围;S2、基于底面轮廓范围和底面纹理图,构建具有单体化信息的底面模型,用于单体化信息的存储;S3、在三维场景中加载倾斜摄影三维模型和底面模型,将底面模型投影到倾斜摄影三维模型上;所述步骤S2按以下步骤执行:S21、计算底面纹理图对应的三维场景中的四个角点空间坐标为A(xmin,ymin,zmax),B(xmax,ymin,zmax),C(xmax,ymax,zmax),D(xmin,ymax,zmax),zmax值大于倾斜摄影三维模型中所有模型的z坐标值;S22、利用上文得到的A,B,C,D四点构建矩形,得到底面模型文件,通过步骤S1的底面纹理图作为底面模型所使用的纹理,ABCD四个点对应的纹理坐标为(0,1),(1,1),(1,0),(0,0);将底面模型加载到三维场景中,底面模型与人工三维仿真模型在同一位置,其纹理显示的底面范围与人工三维仿真模型底面一致;S23、设置纹理的渲染状态参数,在采样时使用最邻近采样方式;所述步骤S3按以下步骤执行:S31、在三维场景中加载倾斜摄影三维模型,同时导入底面模型;S32、在三维场景建立一个投影相机,设置对象模型信息数据库中每个底面模型的投影方式为投影至物体,将所有的底面模型作为投影相机的投影对象,利用渲染到纹理技术得到投影相机的投影纹理;S33、将投影纹理投影到倾斜模型上,倾斜模型的表面被投影纹理所覆盖,底面模型的投影纹理投影到倾斜模型上。进一步的,还包括以下步骤:S4、通过GPU着色器编程,提供修改片元最终显示颜色的一致性变量值,结合底面纹理图,实现模型高亮、高亮颜色和透明度修改以及模型的显隐。较佳的,所述步骤S1包括:S11、获取底面轮廓信息;S12、将获取的底面轮廓信息处理成底面轮廓纹理;属于对象底面的部分像素值为W(255,255,255,255)(RGBA,前三位为颜色分量,第四位是透明度),其他位置的像素值为B(0,0,0,0);若范围线中心有空洞不属于底面,则空洞部分像素为B;S13、底面轮廓纹理的大小根据包围盒的大小和需要设置的精度(m/pixel,每个像素表示的长度)来确定,并转换成2的指数幂;设物体底面轮廓的包围盒长h,宽w,精度为m,得到的纹理像素长度th,宽度tw为:(th,tw)=(2^[log2(h/m)+0.5],2^[log2(w/m)+0.5]);所述th与tw最大不超过1024,最小不小于16。较佳的,所述步骤S4包括:S41、获取当前底面模型的ID,用于与属性信息的关联;S42、基于GPU着色器编程,提供一致性变量Color,用于颜色值修改;将底面模型纹理像素为W的片元的最终显示颜色gl_FragColor进行混合得到片元最终颜色;S43、设置当颜色修改值为(0,0,0,255)时,利用着色器的Discard函数,舍弃底面模型纹理像素为W的片元,实现倾斜模型的显隐。本专利技术的有益效果是:本专利技术的单体化方法属于动态单体化方法,与其他方法主要不同之处在于用于存储模型单体化信息的可以不是一个矢量范围线,而是利用图像表达的范围轮廓,这种表示的最小单元为像素,这种方式可以表示任意形状的对象(例如中间有空洞,或者中间有分割,导致不连续的建筑、小品或其他地物),同时,在利用GPU动态单体化时,根据像素值判断单体化模型的范围,更加简单高效;通过设置不同的像素值控制接口,实现单体化对象的高亮颜色更改和显隐控制。具体实施方式下面结合实施例对本专利技术作进一步说明:一种倾斜摄影实景三维模型单体化方法,其特征在于,包括如下步骤:S1、获取需要进行单体化三维模型的底面轮廓信息,将底面轮廓信息转换成底面纹理图,并按需扩展底面轮廓范围;S2、基于底面轮廓范围和底面纹理图,构建具有单体化信息的底面模型,用于单体化信息的存储;S3、在三维场景中加载倾斜摄影三维模型和底面模型,将底面模型投影到倾斜摄影三维模型上;S4、通过GPU着色器编程,提供修改片元最终显示颜色的一致性变量值,结合底面纹理图,实现模型高亮、高亮颜色和透明度修改以及模型的显隐。所述步骤S2按以下步骤执行:S21、计算底面纹理图对应的三维场景中的四个角点空间坐标为A(xmin,ymin,zmax),B(xmax,ymin,zmax),C(xmax,ymax,zmax),D(xmin,ymax,zmax),zmax值统一取一个大值,本实施例取5000,保证其值大于倾斜摄影三维模型中所有模型的z坐标值;S22、利用上文得到的A,B,C,D四点,构建矩形,得到底面模型文件,通过步骤S1的底面纹理图作为底面模型所使用的纹理,ABCD四个点对应的纹理坐标为(0,1),(1,1),(1,0),(0,0);将底面模型加载到三维场景中,底面模型与人工三维仿真模型在同一位置,其纹理显示的底面范围与人工三维仿真模型底面一致;S23、设置纹理的渲染状态参数,在采样时使用最邻近采样方式。所述步骤S3按以下步骤执行:S31、在三维场景中加载倾斜摄影三维模型,同时导入底面模型(含底面投影纹理)。S32、在三维场景建立一个投影相机,设置对象模型信息数据库中每个底面模型的投影方式为投影至物体,将所有的底面模型作为投影相机的投影对象,利用渲染到纹理技术得到投影相机的投影纹理。S33、利用投影至物体技术,将投影纹理投影到倾斜模型上;此时,倾斜模型的表面被投影纹理所覆盖,类似阴影(底面模型的投影纹理)投影到地面(倾斜模型)上,得到了倾斜模型的“假单体化”;通过以上步骤实现了将倾斜模型仅作为背景图层,将对象模型信息数据库作为应用信息,建立倾斜模型对象化应用模式。所述步骤S1包括:S11、获取底面轮廓信息;底面轮廓信息的来源包括:已有测绘成果或绘制的底面矢量轮廓线等形式。对于一个单体化对象,其底面轮廓可以为任意形状,例如,轮本文档来自技高网...

【技术保护点】
一种倾斜摄影实景三维模型单体化方法,其特征在于,包括如下步骤:S1、获取三维模型的底面轮廓信息,将底面轮廓信息转换成底面纹理图,并扩展底面轮廓范围;S2、基于底面轮廓范围和底面纹理图,构建具有单体化信息的底面模型,用于单体化信息的存储;S3、在三维场景中加载倾斜摄影三维模型和底面模型,将底面模型投影到倾斜摄影三维模型上;所述步骤S2按以下步骤执行:S21、计算底面纹理图对应的三维场景中的四个角点空间坐标,为A(xmin,ymin,zmax),B(xmax,ymin,zmax),C(xmax,ymax,zmax),D(xmin,ymax,zmax),zmax值大于倾斜摄影三维模型中所有模型的z坐标值;S22、利用S21得到的A,B,C,D四点构建矩形,得到底面模型文件,通过步骤S1的底面纹理图作为底面模型所使用的纹理,ABCD四个点对应的纹理坐标为(0,1),(1,1),(1,0),(0,0);将底面模型加载到三维场景中,底面模型与人工三维仿真模型在同一位置,其纹理显示的底面范围与人工三维仿真模型底面一致;S23、设置纹理的渲染状态参数,在采样时使用最邻近采样方式;所述步骤S3按以下步骤执行:S31、在三维场景中加载倾斜摄影三维模型,同时导入底面模型;S32、在三维场景建立一个投影相机,设置对象模型信息数据库中每个底面模型的投影方式为投影至物体,将所有的底面模型作为投影相机的投影对象,利用渲染到纹理技术得到投影相机的投影纹理;S33、将投影纹理投影到倾斜模型上,倾斜模型的表面被投影纹理所覆盖,底面模型的投影纹理投影到倾斜模型上。...

【技术特征摘要】
1.一种倾斜摄影实景三维模型单体化方法,其特征在于,包括如下步骤:S1、获取三维模型的底面轮廓信息,将底面轮廓信息转换成底面纹理图,并扩展底面轮廓范围;S2、基于底面轮廓范围和底面纹理图,构建具有单体化信息的底面模型,用于单体化信息的存储;S3、在三维场景中加载倾斜摄影三维模型和底面模型,将底面模型投影到倾斜摄影三维模型上;所述步骤S2按以下步骤执行:S21、计算底面纹理图对应的三维场景中的四个角点空间坐标,为A(xmin,ymin,zmax),B(xmax,ymin,zmax),C(xmax,ymax,zmax),D(xmin,ymax,zmax),zmax值大于倾斜摄影三维模型中所有模型的z坐标值;S22、利用S21得到的A,B,C,D四点构建矩形,得到底面模型文件,通过步骤S1的底面纹理图作为底面模型所使用的纹理,ABCD四个点对应的纹理坐标为(0,1),(1,1),(1,0),(0,0);将底面模型加载到三维场景中,底面模型与人工三维仿真模型在同一位置,其纹理显示的底面范围与人工三维仿真模型底面一致;S23、设置纹理的渲染状态参数,在采样时使用最邻近采样方式;所述步骤S3按以下步骤执行:S31、在三维场景中加载倾斜摄影三维模型,同时导入底面模型;S32、在三维场景建立一个投影相机,设置对象模型信息数据库中每个底面模型的投影方式为投影至物体,将所有的底面模型作为投影相机的投影对象,利用渲染到纹理技术得到投影相机的投影纹理;S33、将投影纹理投影到倾斜模型上,倾斜模型的表面被投影纹理所覆盖,底面模型的投影纹理投影...

【专利技术属性】
技术研发人员:詹勇向泽君陈良超薛梅王国牛王俊勇刘局科李锋何兴富王阳生
申请(专利权)人:重庆市勘测院
类型:发明
国别省市:重庆,50

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

1