倾斜摄影三维模型OSGB格式简化(压缩、优化)

article/2025/11/6 10:26:53

倾斜摄影三维模型OSGB格式简化(压缩、优化)

文章目录

  • 倾斜摄影三维模型OSGB格式简化(压缩、优化)
  • 前言
  • 一、OSGB格式
  • 二、当前osgb简化/压缩的主要方式
    • 1.第一种 输出osgb格式
    • 2.第二种 输出其他格式
  • 三、我的理解
    • **有兴趣的同学可以加我QQ451560242进一步交流。 下载使用地址:*链接:https://pan.baidu.com/s/13nmPVfyeQOJODTDmslb3uw?pwd=cxwl


前言

倾斜摄影三维模型数据获取快,效果好(看起来),在智慧城市、全景三维中国、CIM等等平台建设中的重要性不言而喻。另一方面,相应的问题也不少。如:数据量大(占空间)、大区域显示效果不好(卡)、只有一张皮(也就是当前提的比较多的没有语义)等等,这些都是倾斜三维模型的诟病。
本文仅从osgb格式的简化或是说压缩方面谈一些自己的理解,有不足之处大家姑且看之。


一、OSGB格式

OSGB的全称Open Scene Gragh Binary,它是OSG引擎的自有格式(开源三维引擎OSG、osgEarth,国内很多三维桌面平台都是基于它改的),它是一种二进制格式,它可以转换为文本格式,即OSG格式(osgconv工具)。OSGB的内部结构主要由两部分组成,即结构数据和纹理数据,结构数据主要由Group、PagedLOD、Geode、Geometry四个关键节点组成(依次包含),其中Geometry节点包括具体的顶点数据结构。(详情可以参考https://blog.csdn.net/kasteluo/article/details/73648354)。(对于想查看该类型文件的同学,推荐一款小工具RockyViewer,小巧实用,ps:缺点是只支持单块的数据查看)

二、当前osgb简化/压缩的主要方式

倾斜三维模型基于对地物多角度的拍照及实时测量进行三维建模,区别于一般的人工模型,其三维结构复杂(各类细部都进行了体现),数据量大(越精细、分辨率越高,占的空间越大)。在数据范围大时,往往在三维展示中会出现加载速度慢、卡顿的情况,这个时候就需要考虑对数据进行简化或压缩。
当前对osgb进行简化/压缩主要有两种方式,一种是直接对osgb格式进行操作,输出还是osgb格式,另一种是面向具体应用,在转换为其他格式时对三维模型进行操作,输出的是其他格式。

1.第一种 输出osgb格式

主要流程流程如下
(1)读取osgb文件
读取osgb文件也有两种方式。一种利用osg库(c++)进行读取,接口现成,读取过程相对简单,但是仅限于c++语言(参考https://blog.csdn.net/u010608964/article/details/89017325)。第二种,根据osgb文件格式,用字节方式读取osgb文件,这种方式读取过程复杂,但是灵活性好,不依赖第三方库,也不依赖某种语言,方便与其他平台集成(参考https://view.inews.qq.com/a/20201216A0DOA400)。
(2)根据相关算法对结构进行重构,对纹理进行压缩
按照某种算法对解析后的osgb文件的顶点结构、纹理结构、顶点简化(合并顶点、删除面等),根据需要对纹理数据进行压缩(这里可以对纹理进行一些操作,如引入图像识别算法、机器学习算法)。
(3)重组文件
对重构的三维结构、纹理进行文件重组,保持文件层级、块的结构不变(应该也可以采取变的方式,没有实践过),形成新的osgb文件。

2.第二种 输出其他格式

这种方式也是在读取osgb文件的基础上,基于其他文件格式的要求,在转换过程中对纹理和结构进行压缩和简化。cesiumlab以及一些其他的3Dtile生产功能或多或少带有相关功能,简化和压缩效率一般(因为这个功能不是其主要功能点,在输出效率和质量上一般)。

三、我的理解

当前一些主流的商用软件都宣传自己支持对倾斜摄影三维模型轻量化、简化、压缩,往往在模型大小、压缩质量上宣传过度,面对这些宣传的时候,大家需要明白一点:简化和压缩肯定会损失质量,简化和压缩比越大质量损失越大。具体应用的时候还得看实际需求,例如,如果你用的是超图的引擎支撑倾斜,就可以考虑他自己的简化工具(商用软件一般压缩后变成了自己的格式),如果你要使用3Dtile进行展示,那你可以选择在输出的时候进行简化和压缩。
到这可能有童鞋要问,那是否有支撑osgb简化后还是osgb格式的软件,这样后续想怎么用都可以呀。答案是有的,本人做了一个工具(广告时间到),采用的是二进制读取osgb,没有依然第三库,支撑与其他系统无缝衔接(需要改造),在保证显示效果不受影响的情况下(也会有损伤),简化和压缩率较高(三角面简化30%-50%),模型大小减少(30%-60%)。

**有兴趣的同学可以加我QQ451560242进一步交流。 下载使用地址:*链接:https://pan.baidu.com/s/13nmPVfyeQOJODTDmslb3uw?pwd=cxwl

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ItpY8lPk.shtml

相关文章

倾斜摄影测量数据osgb格式加载优化(以supermap为例)

一、OSGB格式介绍 1. osgb osgb全称为Open Scene Gragh Binary,是OSG引擎的一种支持三维数据的二进制存储格式。 2. cc软件生成osgb数据目录结构 其中metadata.xml为元数据文件,含倾斜摄影测量数据的坐标及原点等信息。Data为倾斜摄影测量数据的存储文件夹&…

OSGB格式解析

主要介绍倾斜摄影数据OSGB二进制数据的解析,首先简单介绍一下OpenSceneGraph相关技术,并介绍倾斜摄影数据的组织结构,着重分析OSGB格式的相关字段,最后逐字节对OSGB数据进行解析并通过OpenSceneGraph对数据进行可视化,…

如何介绍自己测试过的项目

测试人员在找工作的过程中,通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。 要解决这个问题,大体上可以分为如下几个步骤: 1、对项目进行基本介绍 2、说明自己负责测试的模块…

分享一份接口测试项目(非常值得练手)

之前跟大家分享了一份适合练手的接口测试实战项目,算是一份接口测试的入门级项目。但这个项目有诸多局限,比如部署不便,接口有限,没有鉴权等等。 因此,趁着周末,小编又给大家找了一个接口测试项目&#xf…

1.性能测试项目实战

怎么开展性能测试 什么时候开始性能测试 1.先确定需不需要做 客户有明确的性能需求当没有明确需求时 如果市场用户访问量不大,时间允许就做一个基准测试,时间不允许就不做市场用户量比较大,需要先跟产品,需求人员确定好性能需求…

金融外包测试项目经验分享

金融项目外包 测试管理 经验 软件测试 首先确定项目外包测试的核心问题—对项目外包测试的定位。 项目外包测试是一种服务性工作,所以把服务放在第一位是做任何事情的出发点。作为项目经理,一定要把这种思想告诉给我们的测试团队成员,树立服务…

测试项目中的风险管理

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

测试人员如何在项目中开展测试

项目中角色分为:项目经理(PM)、QA、产品、UI、开发、测试,本文以测试人员视角展开谈谈如何开展测试。 目录 一、尽早介入测试 二、积极与产品人员核对需求 三、提前准备测试用例 四、交叉执行用例 五、提交缺陷注意要点 六…

项目如何提测?

如何提测? 今天是10月24日,一个只有互联网从业者才知道的节日,祝各位苦逼的程序猿节日快乐! 我们处在一个互联网爆发时代, 这个时代需要我们, 我们充满了责任感, 使命感, 我们为之努力奋斗一生的事业. 项目提测对测试工程师来说是再普通不过了. 开发在Dev环境联调, 功能开发…

WEB测试项目实战——1.WEB项目测试备战

项目介绍:B/S架构的web项目 #WEB项目测试备战 目录 文章目录 [toc] ##一、实战路线图 ###(一)研发模型——瀑布模型 ###(二)测试遵循的原则——W原则 ###(三)项目实战课程路线图 ####前期准备-需求评审-设计评审-测试计划-测试架…

缺项目经验的看过来,真实的软件测试实战项目来了

1.web自动化项目 这是一个电商项目,你可以在网站上购买各种宠物。 常见的电商网站操作在这个项目中都可以找到,比如注册,登录,查找商品,选择商品,添加购物车,下单,查看定位&#xf…

一文7个步骤教你搭建测试web测试项目实战环境,

今天小编,给大家总结下web 测试实战的相关内容,一起来学习下吧! web项目实战可按顺序依次为:【搭建测试环境】、【需求评审】、【编写测试计划】、【分析测试点.编写测试用例】、【用例评审】、【执行用例提bug】、【测试报告】七…

分享一份软件测试项目(Python项目)

在之前小编分享的众多项目中,以Java项目或PHP项目居多,Python项目很少,但有的小伙伴又想要找Python项目练手。 为了满足小伙伴们的需求,凭实力宠粉,小编这次免费跟大家分享一个Python项目,并附带完整的搭建…

我是如何做软件测试项目的?

最近公司刚完成了一个比较大的项目-单品页模块化,即使用现在比较流行的Twitter Bootstrap进行前端开发。说其大是因为工作量大,开发前期投入约80人日,包括前端开发及PHP开发,且不包括修复bug的时间,测试投入约48人日&a…

我的项目测试

我的项目测试 文章目录 我的项目测试前言一、单元测试二、功能测试1.界面测试2.功能测试(1)已发布专辑列表功能(2)播放功能(3)用户管理功能(4)音频管理功能(5&#xff09…

性能测试项目案例

一、项目介绍与部署 1.1微商城功能介绍 轻商城是一个电商项目,需要综合评估各个项目各个接口的功能,给出优化建议; 功能框架 前台:首页、商品页详情、加入购物车、订单、支付、团购、优惠券;后台:商品管…

项目测试报告

图书管理系统测试报告 一、测试概述 1.编写目的 本报告为图书管理系统阶段测试的总结,目的在于考察软件的功能和缺陷,尽可能多的发现软件的缺陷和漏洞。 2.项目介绍 为了方便学校师生管理或借阅图书而开发出的一个图书管理系统,在Windows环境下创建…

开源测试项目

在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、APP测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来…

关于项目的测试

文章目录 前言(测试的相关知识)一、需求分析二、测试设计三、测试计划1.功能测试:1).题目展示及提交2).异常情况3).网络测试 2.兼容性测试:1).各种浏览器器访问:2).同一浏览器不同版本3).不同的操作系统: 3…

【2023必看】17个值得关注的测试开源项目大盘点

目录 引言 项目汇总 值得关注的项目 总结 引言 在软件测试领域,开源项目已经成为了一个重要的趋势。 作为测试人员,我们可以通过参与或关注这些开源项目,不仅可以学习到先进的测试思想、技术和工具,还可以积极参与社区建设&…