CN116012532A - 一种实景三维模型轻量化方法及系统 - Google Patents
一种实景三维模型轻量化方法及系统 Download PDFInfo
- Publication number
- CN116012532A CN116012532A CN202211718720.2A CN202211718720A CN116012532A CN 116012532 A CN116012532 A CN 116012532A CN 202211718720 A CN202211718720 A CN 202211718720A CN 116012532 A CN116012532 A CN 116012532A
- Authority
- CN
- China
- Prior art keywords
- osgb
- file
- data
- output
- reading
- 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
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明属于倾斜摄影数据处理技术领域,具体提供了一种实景三维模型轻量化方法及系统,其中方法包括:读取倾斜摄影文件夹,获取所有需要处理的osgb文件;读取osgb文件到内存,并创建osgb输出文件;获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;保存osgb输出文件并关闭osgb文件和osgb输出文件。本方案可以直接解决倾斜摄影过大体量的问题,对所含三维数据及结构进行最优化压缩、减面并且可以处理数据的中断续接处理,一键即可生成目标大小。
Description
技术领域
本发明涉及倾斜摄影数据处理技术领域,更具体地,涉及一种实景三维模型轻量化方法及系统。
背景技术
倾斜摄影技术是国际测绘领域近些年发展起来的一项高新技术,它颠覆了以往正射影像只能从垂直角度拍摄的局限,通过在同一飞行平台上搭载多台传感器,同时从一个垂直、四个倾斜等五个不同的角度采集影像,将用户引入了符合人眼视觉的真实直观世界。Osgb数据为倾斜摄影的主要格式,在城市级实景三维中有着重要的意义。通常采用人工建模方式一两年才能完成的一个中小城市建模工作,通过倾斜摄影建模方式只需要三至五个月时间即可完成,大大降低了三维模型数据采集的经济代价和时间代价。
现有倾斜摄影数据在加载过程中,需要遍历每一个根节点进行加载,数据量过大会导致加载缓慢。因此,在图新地球中“工具箱”模块中有“合并根节点”这一功能,该功能主要是对当前加载数据的节点层层向上抽析得到新的根节点,直至最终只有一个根节点。但是目前现有的加载方法无法简化三角面、无法自定义压缩纹理比例、不正常处理通用osgb格式、无法续接处理osgb文件。
如在CONTEXT CAPTURE或大疆智图产出的倾斜模型数据量大,有上千个根节点。加载过程中不仅对电脑内存占用高,而且加载速度慢。以往倾斜摄影模型只是在某些设备或某些客户端单点使用,仅限于用眼看,而很难真正用起来。
一是因为倾斜摄影模型往往体量巨大,一般设备难以承载,二是多样的倾斜摄影三维格式及框架,对于很多软件来说,并不支持兼容。
发明内容
本发明针对现有技术中存在的倾斜摄影模型体量巨大,一般设备难以承载和兼容的技术问题。
本发明提供了一种实景三维模型轻量化方法,包括以下步骤:
S1,读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
S2,读取osgb文件到内存,并创建osgb输出文件;
S3,获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
S4,保存osgb输出文件并关闭osgb文件和osgb输出文件。
优选地,所述S1具体包括:
读取处理源文件夹,通过选择倾斜摄影文件下与metadata.xml同目录下的Data文件夹,所述Data文件夹包含有所有需要处理的osgb文件。
优选地,所述S1具体包括:通过DirectoryInfo类获取子文件夹的osgb文件,并通过输出路径拼接出输出文件全路径,判断输出文件是否已经存在以进行过滤处理。
优选地,所述S2具体包括:
拷贝osgb文件到输出路径;
通过BinaryReader类读取需要处理的osgb文件,使用二进制读取解析osgb文件的结构数据和纹理数据到内存。
优选地,所述结构数据包括依次组成的Group、PagedLOD、Geode、Geometry四个关键节点,其中Geometry节点包括具体的顶点数据结构。
优选地,所述S3具体包括:
使用osgb文件的结构数据解析子节点,再通过子节点获取出Geometry数据;
通过lightMode_F3简化顶点数据结构;
读取Geometry对应纹理数据;
通过纹理数据获取贴图图片;
通过dealTexture函数使用EncoderParameter压缩图片后重新赋值给纹理并更新设置到纹理数据。
优选地,所述倾斜摄影文件夹的数量不少于1000个或加载帧数小于30帧。
本发明还提供了一种实景三维模型轻量化系统,所述系统用于实现实景三维模型轻量化方法,包括:
数据获取模块,用于读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
数据读取模块,用于读取osgb文件到内存,并创建osgb输出文件;
数据处理模块,用于获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
数据保存模块,用于保存osgb输出文件并关闭osgb文件和osgb输出文件。
本发明还提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现实景三维模型轻量化方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现实景三维模型轻量化方法的步骤。
有益效果:本发明提供的一种实景三维模型轻量化方法及系统,其中方法包括:读取倾斜摄影文件夹,获取所有需要处理的osgb文件;读取osgb文件到内存,并创建osgb输出文件;获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;保存osgb输出文件并关闭osgb文件和osgb输出文件。本方案可以直接解决倾斜摄影过大体量的问题,对所含三维数据及结构进行最优化压缩、减面并且可以处理数据的中断续接处理,一键即可生成目标大小。
附图说明
图1为本发明提供的一种实景三维模型轻量化方法流程图;
图2为本发明提供的一种可能的电子设备的硬件结构示意图;
图3为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明提供的一种实景三维模型轻量化方法,包括以下步骤:
S1,获取数据,读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
S2,读取数据,读取osgb文件到内存,并创建osgb输出文件;
S3,处理数据,获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
S4,保存数据,保存osgb输出文件并关闭osgb文件和osgb输出文件。
由于在数据加载过程中,需要遍历每一个根节点进行加载,数据量过大会导致加载缓慢。因此,在图新地球中“工具箱”模块中有“合并根节点”这一功能,该功能主要是对当前加载数据的节点层层向上抽析得到新的根节点,直至最终只有一个根节点。
倾斜摄影数据的普及伴随着数据量的增加,数据量的增加又导致网络客户端访问三维数据的效率下降,所以不管是在PC端,Web端还是移动端进行倾斜摄影数据的浏览应用都需要对倾斜摄影数据进行优化,以达到最佳的访问效果。同时倾斜摄影数据显示调度在不断的加载卸载,所以对其进行优化势在必行。
具体地,倾斜摄影数据由于分块存储的特性以及生产数据的机器性能等原因,导致倾斜摄影的数据量非常大并且tile文件夹也很多,这就导致系统在进行数据调度的时候会比较慢,给用户加载不流畅的感觉。那么,如何确认自己的数据需要优化呢,下面为具体方法:
①tile文件夹特别多,达到几百上千个,甚至更多;
②加载帧数小于30帧;
基本上满足一个条件就需要进行数据优化,针对tile文件夹特别多的情况,对应的优化方案可以采用合并根节点。
优选的方案,合并根节点的目的就是减少tile文件夹的数据,合并倾斜摄影数据,使浏览速度大幅提升。金字塔层级:金字塔层级默认为1,表示tile的总数会减少到原来的四分之一,金字塔层级写2,表示tile的总数会减少到原来的十六分之一(就是按照4的N次方去计算);具体应该写几,要看最后生成的tile的总数大小保持在100-300是比较合适的,不宜过小。
在一个具体的实施场景中:
首先,读取数据。读取处理源文件夹。通过选择倾斜摄影文件下与metadata.xml同目录下的Data文件夹;Data文件夹包含有所有需要处理的osgb文件。这样便可以快速定位到osgb文件的大致位置,便于后续进一步的精选。通过DirectoryInfo类获取子文件夹的osgb文件,并且通过输出路径拼接出输出文件全路径,判断输出文件是否已经存在以进行过滤处理。拷贝osgb文件到输出路径。直接处理拷贝之后的数据,确保原始数据不被修改。
读取输出的osgb文件。通过BinaryReader类读取需要处理的osgb文件,使用二进制读取解析osgb文件的结构数据和纹理数据到内存。其中,结构数据主要由Group、PagedLOD、Geode、Geometry四个关键节点组成(依次包含),其中Geometry节点包括具体的顶点数据结构。
然后,处理数据。读取osgb文件数据到内存。使用osgb结构数据解析其子节点,再通过子节点获取出Geometry数据。通过lightMode_F3简化顶点数据结构。读取Geometry对应纹理数据。通过纹理数据获取贴图图片。通过dealTexture函数使用EncoderParameter压缩图片后重新赋值给纹理并更新设置到纹理数据。
最后,保存数据。输出osgb保存文件,并且关闭文件句柄。
本发明可以直接解决倾斜摄影过大体量的问题,对所含三维数据及结构进行最优化压缩、减面。同时轻量化后模型支持生成行业通用OSGB格式下载使用,解决了诸多软件无法兼容的问题。
本发明实施例还提供了一种实景三维模型轻量化系统,所述系统用于实现实景三维模型轻量化方法,包括:
数据获取模块,用于读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
数据读取模块,用于读取osgb文件到内存,并创建osgb输出文件;
数据处理模块,用于获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
数据保存模块,用于保存osgb输出文件并关闭osgb文件和osgb输出文件。
请参阅图2为本发明实施例提供的电子设备的实施例示意图。如图2所示,本发明实施例提了一种电子设备,包括存储器1310、处理器1320及存储在存储器1310上并可在处理器1320上运行的计算机程序1311,处理器1320执行计算机程序1311时实现以下步骤:S1,读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
S2,读取osgb文件到内存,并创建osgb输出文件;
S3,获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
S4,保存osgb输出文件并关闭osgb文件和osgb输出文件。
请参阅图3为本发明提供的一种计算机可读存储介质的实施例示意图。如图3所示,本实施例提供了一种计算机可读存储介质1400,其上存储有计算机程序1411,该计算机程序1411被处理器执行时实现如下步骤:S1,读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
S2,读取osgb文件到内存,并创建osgb输出文件;
S3,获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
S4,保存osgb输出文件并关闭osgb文件和osgb输出文件。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种实景三维模型轻量化方法,其特征在于,包括以下步骤:
S1,读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
S2,读取osgb文件到内存,并创建osgb输出文件;
S3,获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
S4,保存osgb输出文件并关闭osgb文件和osgb输出文件。
2.根据权利要求1所述的实景三维模型轻量化方法,其特征在于,所述S1具体包括:
读取处理源文件夹,通过选择倾斜摄影文件下与metadata.xml同目录下的Data文件夹,所述Data文件夹包含有所有需要处理的osgb文件。
3.根据权利要求2所述的实景三维模型轻量化方法,其特征在于,所述S1具体包括:通过DirectoryInfo类获取子文件夹的osgb文件,并通过输出路径拼接出输出文件全路径,判断输出文件是否已经存在以进行过滤处理。
4.根据权利要求3所述的实景三维模型轻量化方法,其特征在于,所述S2具体包括:
拷贝osgb文件到输出路径;
通过BinaryReader类读取需要处理的osgb文件,使用二进制读取解析osgb文件的结构数据和纹理数据到内存。
5.根据权利要求4所述的实景三维模型轻量化方法,其特征在于,所述结构数据包括依次组成的Group、PagedLOD、Geode、Geometry四个关键节点,其中Geometry节点包括具体的顶点数据结构。
6.根据权利要求5所述的实景三维模型轻量化方法,其特征在于,所述S3具体包括:
使用osgb文件的结构数据解析子节点,再通过子节点获取出Geometry数据;
通过lightMode_F3简化顶点数据结构;
读取Geometry对应纹理数据;
通过纹理数据获取贴图图片;
通过dealTexture函数使用EncoderParameter压缩图片后重新赋值给纹理并更新设置到纹理数据。
7.根据权利要求1所述的实景三维模型轻量化方法,其特征在于,所述倾斜摄影文件夹的数量不少于1000个或加载帧数小于30帧。
8.一种实景三维模型轻量化系统,其特征在于,所述系统用于实现如权利要求1-7任一项所述的实景三维模型轻量化方法,包括:
数据获取模块,用于读取倾斜摄影文件夹,获取所有需要处理的osgb文件;
数据读取模块,用于读取osgb文件到内存,并创建osgb输出文件;
数据处理模块,用于获取osgb文件结构数据和纹理数据,分别进行简化三角面和压缩纹理,并写入osgb输出文件;
数据保存模块,用于保存osgb输出文件并关闭osgb文件和osgb输出文件。
9.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1-7任一项所述的实景三维模型轻量化方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1-7任一项所述的实景三维模型轻量化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718720.2A CN116012532A (zh) | 2022-12-29 | 2022-12-29 | 一种实景三维模型轻量化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718720.2A CN116012532A (zh) | 2022-12-29 | 2022-12-29 | 一种实景三维模型轻量化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116012532A true CN116012532A (zh) | 2023-04-25 |
Family
ID=86024374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211718720.2A Pending CN116012532A (zh) | 2022-12-29 | 2022-12-29 | 一种实景三维模型轻量化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116012532A (zh) |
-
2022
- 2022-12-29 CN CN202211718720.2A patent/CN116012532A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108961390B (zh) | 基于深度图的实时三维重建方法 | |
CN113178014B (zh) | 场景模型渲染方法、装置、电子设备和存储介质 | |
US8633939B2 (en) | System and method for painting 3D models with 2D painting tools | |
US8725466B2 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
KR100503789B1 (ko) | 렌더링시스템, 렌더링방법 및 그 기록매체 | |
CN111881238A (zh) | 一种适用于Web端的轻量级三维数据构建方法、介质和电子设备 | |
CN110969685A (zh) | 使用渲染图的可定制渲染管线 | |
CN101119485A (zh) | 一种基于特征保留的三维模型递进传输方法 | |
CN110298136A (zh) | 基于bim技术场景建造方法和系统及于园林景观数字建模中的应用 | |
CN112365598B (zh) | 倾斜摄影数据转换三维数据的方法、装置及终端 | |
CN116340260A (zh) | 建筑模型数据渲染方法、装置、电子设备及可读存储介质 | |
CN116612223B (zh) | 数字孪生模拟空间的生成方法、装置、计算机设备和介质 | |
CN116012532A (zh) | 一种实景三维模型轻量化方法及系统 | |
CN115718824A (zh) | 一种通过空间距离判定设备位置自动推送设备信息的方法 | |
CN111275806A (zh) | 一种基于点的并行化实时渲染系统及方法 | |
CN114742949A (zh) | 一种大规模实景三维数据的智能合并方法 | |
CN103927396B (zh) | 利用辅助数据在三维渲染中获得三维空间信息的查找方法 | |
CN110321233B (zh) | 基于树形存储结构的模型切片传输方法 | |
CN111179383A (zh) | 用于cg动画制作的渲染镜头重组方法及装置 | |
CN116883575B (zh) | 建筑群渲染方法、装置、计算机设备和存储介质 | |
CN117541744B (zh) | 一种城市级实景三维图像的渲染方法及装置 | |
WO2023066122A1 (zh) | 一种三维模型数据的处理方法、生成方法及相关装置 | |
CN117315295A (zh) | 一种bim模型相似度计算方法、系统、设备及存储介质 | |
CN115830286B (zh) | 一种保持三维场景纹理清晰度一致量的烘焙方法 | |
CN113222905B (zh) | 一种基于opensfm和three.js的结构损伤信息更新三维显示方法 |
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 |