• 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的表面约束不仅仅适用于水面修复,还适合于草坪、公路、建筑等等的约束压平。

  • 相关阅读:
    C#动态调用WCF接口(2)
    WCF 动态调用(1)
    WCF信道工厂Channel Factory
    使用 ObjectDataSource 缓存数据
    DatabaseFactory.CreateDatabase 方法操作数据库
    大学毕业4年-回想和总结(5)-投资理財方法论
    用递归法将一个整数n转换成字符串。
    朴素贝叶斯
    Android热补丁技术—dexposed原理简析(阿里Hao)
    SQLAlchemy使用笔记--SQLAlchemy ORM(三)
  • 原文地址:https://www.cnblogs.com/u-drive/p/7896884.html
Copyright © 2020-2023  润新知