ContextCapture水面约束(水面破洞修复)
【问题描述】
对于水面而言,由于特征点较少,软件在计算时很难匹配正确,导致输出模型的水面通常是支离破碎的。软件针对这种情况提供了一个约束工具,用户手动的为水面添加平面约束后,输出的水面模型就会非常平整。
【添加方法】
请留意这个功能只能在ContextCapture center版本中才能使用。
首先,完成空三后,先进行一次常规建模,然后在Acute 3D viewer中打开,用测量工具测量一下水面的高度。
再次提交一次建模,然后如下图所示:选择Reconstruction constraints选项,这里提供两种加限制的方式。
第一种是谷歌地图的KML格式,对ContextCapture中已导入照片的block点击右键,输出为kml格式,则谷歌地图会根据照片中的GPS数据自动匹配到照相的位置,然后如下截图所示,通过在谷歌地图中绘制polygon选定水面区域,注意这里的高度一定要设置对,可以参考第一次建模后测量出的高度。(如果高度不匹配则kml文件无法导入进ContextCapture。)然后保存这个polygon后,会在谷歌地图左侧列表中出现,点击鼠标右键将其保存为KML文件。然后导入到ContextCapture中。再次进行建模即可。
另一种方式是导入obj格式文件,如果模型是有地理坐标系的,那么obj文件也要定义相同的坐标系和中心点,高度也要正确。
如果对OBJ文件的设置不太熟悉,建议使用谷歌地图的KML文件方式。
最后进行建模时,软件会针对手动添加的约束对指定区域进行平面化处理。
案例效果:
修复前:
修复后:
ps:
1、错误:无法添加表面约束,应为它与重建没有相交
解决办法:一般是我们添加表面约束时Altitude 设置错误,导致没有与我们的模型产生交界处,我们只要在Acute3D Viewer中重新测量出正确的高程并设置,导出kml即可。
2、 设置高度时,一定要设置测量范围内最高的高度,否则可能可能出现部分水面破洞无法被约束等问题,即水面破洞修复不完全。
3、 ContextCapture的表面约束不仅仅适用于水面修复,还适合于草坪、公路、建筑等等的约束压平。
ContextCapture水面约束(水面破洞修复)的更多相关文章
- C#二分查找法 破洞百出版本
二分查找法在数据繁多的数据中查找是一种快速的方法,每次查找最多需要的次数 为2的n次方小于总个数. 当然是有前提的,就是需要把数据先排好序,这里指的都是数值型的数据. 基本思想就是把需要找的值与排序好 ...
- 修复bug有哪些更快的技术?做好这6点就够了
你有没有想过为什么有时修复错误似乎比它应该花费更长的时间?当你终于找到问题时,事实证明你所需要的只是一个小小的改变.然而,花了很多时间才能找到正在发生的事情.这种情况比我想象的更频繁. 另一方面,当您 ...
- 一定要记住这20种PS技术,让你的照片美的不行! - imsoft.cnblogs
照片名称:调出照片柔和的蓝黄色-简单方法, 1.打开原图素材,按Ctrl + J把背景图层复制一层,点通道面板,选择蓝色通道,图像 > 应用图像,图层为背景,混合为正片叠底,不透明度50%,反相 ...
- RFC2616-HTTP1.1-Header Field Definitions(头字段规定部分—单词注释版)
part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 14 Header Field Definitions ...
- 腾讯2016实习生面试经验(已经拿到offer)
忐忑了好几天,今天最终收到深圳总部的电话.允许录用我为2016年实习生,感觉整个天空都放晴了.坐标:武汉大学,给大家说说我的面试经历吧,我投的是软件开发--应用开发方向. 一.校招流程 投递简历- ...
- CODING DevOps 系列第四课:DevOps 中的质量内建实践
什么是质量内建 随着时间的推移,我们项目的开发效率会逐渐降低,直到几年之后整个项目可能就无法维护,只能推倒重来.具体的表现首先就是随着时间推移,我们会发现整个需求列表里面能做的需求越来越少,因为每当我 ...
- 编译Ngnix遇到的问题,查看程序依赖的库文件
要点:ldd 可以读取每个可以运行的程序依赖的 so 文件. 编译的时候提示需要Openssl库. 查看本机,已经安装了openssl 查看编译报错文件,查找Openssl所依赖的库 more obj ...
- nVIDIA SDK White Paper ----Vertex Texture Fetch Water
http://blog.csdn.net/soilwork/article/details/713842 nVIDIA SDK White Paper ----Vertex Texture Fetch ...
- Google前工程经理王忻:如何准备软件工程师的面试
http://t.jobdu.com/thread-368-1-1.html 导读:原文作者王忻,Google前工程经理,2003年月加入Google,是Google Lively背后的主导力量,是G ...
随机推荐
- SQL/T-SQL实例参考-2
对多关联查询,查询多中的记录,但是返回一的结果集 子查询语法 --一对多关联查询,查询多中的记录,但是返回一的结果集 SELECT C.* FROM ( SELECT A.BasicID FROM [ ...
- 正确处理类的复合关系------新标准c++程序设计
假设要编写一个小区养狗管理程序,该程序需要一个“主人”类,还需要一个“狗”类.狗是有主人的,主人也有狗.假定狗只有一个主人,但一个主人可以有最多10条狗.该如何处理“主人”类和“狗”类的关系呢?下面是 ...
- SKU:唯一标识填什么
策略 随意填写 只要别和别人重复就好 ,不过重复你也创建不了. 最好填与APP信息相关的,比如直接填写bundle ID 上去...跟套装ID保持一致. 你新建应用的时候都还没有APP ID 你怎么填 ...
- day08.2-ssh远程连接服务
在Linux环境中,部署一个服务的一般步骤: a). 准备环境,包括 关闭防火墙:service iptables stop(或chkconfig iptables off) 关闭se ...
- day08.1-Linux软件包管理
Linux系统中的两种软件包:tar,保存内容为源码,编译后再安装:rpm,保存内容为编译后的机器码,直接安装.其中,rpm软件包由5部分构成,分别为: 第1部分是name,表示这个rpm软件包的名称 ...
- Jmeter_远程启动
Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误. 其实,Jmeter的 ...
- bzoj1867钉子和小球
题目链接 简单$DP$ $$dp[1][1]=1(\text{显然})$$ $$map[i][j]=='*'?dp[i+1][j]+=dp[i][j]/2,dp[i+1][j+1]+=dp[i][j] ...
- [51nod1236] 序列求和 V3(斐波那契数列)
题面 传送门 题解 把求和的柿子用斐波那契数列的通项公式展开 \[ \begin{aligned} Ans &=\sum\limits_{i = 1}^{n} \left(\frac{(\fr ...
- MongoSQL 复制数据表报错
报错内容为: [thread1] SyntaxError: identifier starts immediately after numeric literal @(shell):1:2 解决方案: ...
- 三种timer控件的简单实例
.system.windows.forms .system.threading.timer .system.timers.timer using System; using System.Collec ...