迄今为止,Wish3D已经出品推出了7篇系列教程,从倾斜摄影的原理方法、采集照片的技巧、Smart3D各模块的功能应用、小物件的照片重建、大区域的地形重建到DSM及正射影像的处理生产,立足于建模软件的基本功能点和原始数据的采集,通过不同的重建目标,不同的生产目的多方位地介绍说明了Smart3D建模软件对倾斜摄影数据的处理生产过程。最后一篇讲述如何手动配置一个S3C索引,将处理完毕的倾斜摄影分块数据通过索引在Acute3D Viewer中加载出来。

此次根据群友实际生产当中遇到的实际问题,并受广泛要求编写本《模型合并教程》。

1

适用场景以及原理

Smart3D模型合并的适用场景:

▪ 相邻区域的模型分多次建模后,模型成果放在一起展示。

▪ 同一区域的数据因数据量太大,分块进行空三并输出模型后的成果合并展示。

Smart3D模型合并的原理:

1.Smart3D生成模型的时候不论什么投影坐标系统,都有一个原点(类似于CAD当中的0,0点,也可以认为是局部坐标系的坐标原点),生成出的模型的三角格网里面的顶点坐标全都是相对于该坐标原点而来。在提交reconstruction的时候可以设置该坐标原点,如图1:

2.Smart3D生成模型的时候,因为机器配置(内存、cpu、显卡)等因素,可能会导致数据量大的时候,模型不能不分块,选择分块后,会根据机器的配置设置分块的大小,有了分块方法和分块大小后,Smart3D会自动为每一块计算出块的名称。比如:Tile_+004_+003。并且构建块的名称的时候是从坐标原点开始的。分块后的结果如图2:

基于上述原理,只要是坐标原点一致,且分块大小一致的模型生成成果都可以直接合并,(前提,分块大小一致)。

2

模型合并方法

1.直接合并文件夹

此种方法需要确认如下信息

需要确定合并的模型的坐标原点是否一致,查看方法,图1当中的Advanced options,或者是模型同级目录下的metedata.xml文件:

需要确定分块大小是否一致,查看方法,图2当中的TileSize,或者把数据加载到LocaSpaceViewer里面,用量测功能简单测量一下。(说明:如果接边不是非常严格,或者两块相邻的模型,中间有一定的间隔,只要坐标原点一致,即使分块大小不一致,只要没有重复的瓦片编号也是可以合并的)

2. 在使用Smart3D导出模型的时候,设置相同的bounds(可以通过导入kml范围的方式来实现),这样所有的编号就都不会重复了,出的模型可以直接合并文件夹。

3. 已经生成好的osgb格式的模型文件,也是可以合并的,所有的模型顶点坐标都是相对坐标原点的,因此只要对模型的坐标原点进行平移就可以了,此方法设计到模型本身的修改,不建议使用,常规的操作可以通过编写代码的形式读取模型的每一个顶点然后修改。

4.如果只是想看到合并后的效果,或者是放在一起进行展示,可以直接使用lsv加载两块倾斜摄影的数据,在生成lfp的时候可以通过设置坐标原点进行偏移、旋转、调整高度,让两块相邻的模型展示的更好。

5. 以上所有方法都不能完全保证接边问题,要想分块处理,并合并分块处理后的结果,需要通过控制点来完成。控制点的要求,每一个块都要包含适量的控制点,分块时候照片的重叠度要大于航线高度的1.5倍。(牵涉到模型数据采集阶段的要求,此处不做详细说明,有兴趣的可以了解下Smart3D的培训,内有详细介绍,此方法可以保证城市级别的三维倾斜模型分块后完美接边。

3

基于模型合并的知识延伸

1.如果已经对整个区域生成好了模型,发现只有一小部分地区,模型效果不满意,然后进行了补拍,此时需要重新生成所有模型么?

答案:不用,只需要把补拍的照片导入到已经空三成功的block里,然后重新提交空三,空三完成后,保持上次的生成参数不变,只提交不满意的tiles即可。然后直接拷贝新生成的tiles文件夹到上次的模型结果替换掉老的tiles即可。

2.机器配置太低,或者数据量太大,导致分块后,块的总个数达到1000甚至10000以上,此时因文件个数太多,导致浏览速度慢,会看到模型一块块的往外蹦,如何加快?

答案:Smart3D生成模型后也并不是就一成不变了,根节点数太多的情况下,会导致浏览速度和浏览体验急剧下降,一个场景打开了几分钟了,还在读取。针对此问题可以参考倾斜摄影根节点合并,合并后的数据,几乎秒加,瞬间就看到了整个场景的状态,想浏览什么地方就浏览什么地方。

3.我想学习更多Smart3D建模技能,该怎么办

答案:可参加我司推出的Smart3D建模培训

Smart3D系列教程8之 《模型合并——相邻地区多次建模结果合并》的更多相关文章

  1. Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》

    一.照片采集的实用概念 根据照片进行三维重建的过程中,有人没怎么遇到坑,有人被坑的不轻.可能是模型的纹理失真,模型的法线错了,模型会生成我们各种也想不到的结果,那么,是什么导致三维重建效果这么差的?是 ...

  2. Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》

    一.前言 迄今为止,Wish3D已经出品推出了6篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于 ...

  3. Smart3D系列教程6之 《案例实战演练3——倾斜数据正射影像及DSM的生产》

    一.前言 Wish3D出品的系列教程中,前面两讲分别讲述说明了小物件的照片三维重建.大区域地形的三维重建,从照片的直接导入至软件到通过Excel表格将区块导入处理,从不同的模型类别.不同的导入方式演示 ...

  4. Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

    一.前言 Wish3D出品的Smart3D系列教程中,前面一讲说明了小物件的照片三维重建,相信大家对建模的流程有了一定的了解.这次讲解中,我们将演示说明以一组无人机倾斜摄影照片为原始数据,通过Smar ...

  5. Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》

    一.前言 Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用.照片采集技巧.Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解.那么 ...

  6. Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》

    [摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...

  7. Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》

    一.引言 倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围.高精度.高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观.位置 ...

  8. FL studio系列教程(四):如何利用FL Studio进行音乐合并

    FL Studio20是Fruity Loops Studio的简称,也叫做水果音乐制作软件.它是一款功能十分强大的音乐制作软件,将作曲.编曲.混音.录音.大碟等功能集合一体,外接MIDI即可成为一个 ...

  9. Part 2:模型与后台管理admin站点--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

随机推荐

  1. ogre3D学习基础8 --- 资源管理器

    资源管理 可管理的资源有: 材质资源:在.material文件中包含的材质脚本定义(技术.通路.纹理单元等数据的定义). 模型资源:经过优化的二进制网格模型文件,扩展名为.mesh.包含几何信息和一些 ...

  2. Andorid 生成NDK动态链接库 .so库

    .so库第一次见到是在搜索Android保存静态秘钥等特殊id字段做法时看到的-通过NDK的方式将静态秘钥保存在so文件中, 关于原生开发工具包(NDK)详细见官网指南要更详细,这里我记录我度娘各种结 ...

  3. Mongodb 删除记录里的某个字段

    //例如要把User表中address字段删除 db.User.update({},{$unset:{'address':''}},false, true)

  4. 聊聊、Nginx GDB与MAIN

    上一篇文章主要介绍了 Nginx 在 Window 和 Linux 平台上的安装.本章节主要介绍 Nginx 源码学习方法和源码结构,以及 Nginx 启动时 main 方法的位置,参数信息.后面的章 ...

  5. Java判断浏览器是微信还是支付宝

    private static final String WX_AGENT = "micromessenger"; private static final String ALI_A ...

  6. Ubuntu搭建Http服务器用于下载Ubuntu文件

    首先安装Apache $ sudo apt-get install apache2 Apache2的默认访问端口为80,当端口被占用时需要更改其访问端口 进入apache2的安装目录  /etc/ap ...

  7. 【bzoj2752】[HAOI2012]高速公路(road) 线段树

    题目描述 Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站.Y901高速公路是一条由N-1段路以及N个收费站组成的东西 ...

  8. [TJOI2017] 城市 (树的直径,贪心)

    题目链接 Solution 这道题,调了我一晚上... 一直80分 >_<|| ... 考虑到几点: 分开任意一条边 \(u\) ,那么其肯定会断成两棵树. 肯定是分开直径上的边最优,否则 ...

  9. Java面试题之final、finally和finalize的区别

    final: final是一个修饰符,可以修饰变量.方法和类,如果final修饰变量,意味着变量的值在初始化后不能被改变: 防止编译器把final域重排序到构造函数外:(面试的时候估计答出这个估计会加 ...

  10. 【前端学习笔记】2015-09-02 附~~~~~ajax简单请求和获得响应结果

    首先得创建一个请求XMLHttpRequest对象,var  xmlhttp=window.XMLHttpRequest?new XMLHttpRequest() : new ActiveXObjec ...