Win10+vs2019配置与运行RenderMatch+用contextcapture进行重建

news2024/11/17 5:42:47

Win10+vs2019配置与运行RenderMatch+用contextcapture进行重建

继上一篇博客,ground image 和aerial image影像匹配结果将会被保存为match.bin二进制文件里
再次运行时,只需要把这个bin文件load进来就可以了,不需要再次进行匹配,修改命令参数

 -a G:\study\Dataset\SWJTU-LIB\AerialTiled\SWJTU-LIB-UAV.json -g G:\study\Dataset\SWJTU-LIB\AerialTiled\SWJTU-LIB-TER.json -m G:\study\Dataset\SWJTU-LIB\model\Data\root.osgb -c G:\study\RenderMatch-master\config.json -t 2967,5742,0  -r G:\study\Dataset\SWJTU-LIB\AerialTiled\SWJTU-LIB-TER_match.bin

但是这时候会发现还有一个参数 -b还没有使用
在这里插入图片描述
也就是merge block, 经过我的研究,发现这里需要一个xml文件,并且这个xml文件是contextcapture(以下简称cc)导出的格式,于是先下载一个cc

1.使用cc导入工程

之前只顾着跑通代码,没有研究它的数据集文件的格式,发现里面的xml文件都是cc导出的,因此直接在cc导入xml就可以打开项目
先分别导入数据集给的两个xml,这两分别对应地面影像和无人机影像
在这里插入图片描述
导入时有报错,提示SRSID错误,发现是xml文件里的contropoints 的srsid不对,把2改成5(每个xml文件里有4个gcp,因此要改4个),再次导入cc,就成功了
在这里插入图片描述

2.导入成功后,分别进行一个空三进行连接点匹配

在这里插入图片描述
参数设置的时候选择使用控制点
在这里插入图片描述
然后就等待空三结束,等两个数据都完成之后,同时选中这两个工程
在这里插入图片描述
右键,选择merge block,这时候会有一个新的合并工程产生,导出这个merge block的xml文件。坐标系都选择和原来的xml文件一致的坐标系。

3.在merge block.xml里添加aerial images 和ground images的匹配点

有了merge.xml, 就可以在源程序的输入命令里加上参数-b merge.xml的路径
我的就是

 -a G:\study\Dataset\SWJTU-LIB\AerialTiled\SWJTU-LIB-UAV.json -g G:\study\Dataset\SWJTU-LIB\AerialTiled\SWJTU-LIB-TER.json -m G:\study\Dataset\SWJTU-LIB\model\Data\root.osgb -c G:\study\RenderMatch-master\config.json -t 2967,5742,0 -r G:\study\Dataset\SWJTU-LIB\AerialTiled\SWJTU-LIB-TER_match.bin -b G:\study\Dataset\SWJTU-LIB\CCpro\project\merged_block.xml 

源程序中,merge_block()这个函数就是将匹配点添加到merge.xml文件中去的,最后会生成一个merge_block_tiepoints.xml的文件。
在这里插入图片描述

4.使用cc进行三维重建

再次用cc导入刚刚生成的merge_block_tiepoints.xml
重新进行一次空三平差
然后再进行三维重建,时间会比较久,重建之后就是下图这样
在这里插入图片描述
看下与仅无人机影像重建的局部对比
仅无人机重建效果
在这里插入图片描述
无人机和地面影像一起重建结果
在这里插入图片描述
还是看得出来,中间那个门里的大洞被补全了蛮多,一些细节也丰富了许多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐五款在手机上写代码的APP(附下载地址)

🌟1.C4droid一款Android设备上的C/C程序IDE🌟2.AIDE一个直接在 Android 设备上开发 Android 应用的集成开发环境基于原版深度定制、适配本土化的操作习惯,一键快速添加常用的代码,大幅提高开发效率。实时的语言翻译,帮…

CUDA的卸载

大家好,下面将进行CUDA的卸载,卸载情况描述如下: > 安装在电脑Windows10系统 (1)安装在电脑Windows10系统,打开控制面板-程序-程序和功能,可以看到自己已经安装过的CUDA,如下所示: (2)依次选中需要卸载的CUDA包,鼠标右键点击卸载即可,一般需要保留3个已经安装…

idea集成Alibaba Cloud Toolkit插件

idea集成Alibaba Cloud Toolkit插件 ​ 使用该插件主要是简化打包、上传、启动服务的相关操作。 ​ 很早之前的方式是使用开发工具(eclipse,idea),使用maven命令完成项目打包(这里指jar),然后通过shell工…

SSL证书的五大优势

SSL 重要吗?我需要 SSL 吗?开车时需要系好安全带吗?看日食时需要戴防护眼镜吗?就前三个问题而言,答案是一个很大的“是”!如果您在 2021 年拥有网站或博客,则需要 SSL。就这么简单。SSL 证书不再…

BigBird:大鸟模型中文生成式长文本摘要实践

1、介绍 BigBird 是一种基于稀疏注意力的Transformer,可将基于Transformer的模型(例如 BERT)扩展到更长的序列。 论文:https://arxiv.org/abs/2007.14062 代码:https://github.com/google-research/bigbird BigBir…

Day902.Memory存储引擎 -MySQL实战

Memory存储引擎 Hi,我是阿昌,今天学习记录的是关于Memory存储引擎的内容。 两个 group by 语句都用了 order by null,为什么使用内存临时表得到的语句结果里,0 这个值在最后一行; 而使用磁盘临时表得到的结果里&…

ARM的工作模式和37个寄存器

一、ARM的工作模式 ARM一共有7种工作模式 模式含义User非特权模式,大部分任务执行在这种模式FIQ当一个高优先级(fast) 中断产生时将会进入这种模式IRQ当一个低优先级(normal) 中断产生时将会进入这种模式Supervisor当复位或软中断指令执行时…

巨头混战,抢着“兜底”自动驾驶安全

诚然,中国汽车行业的发展绝对不会拘泥于电动化,必定会在电动化的基础上,迎接下半场的快速智能化。 2021年6月,长城汽车线控底盘全球首次发布。 彼时,长城汽车技术副总裁宋东先宣布,整合了线控转向、线控制…

基于海鸥算法改进的DELM分类-附代码

海鸥算法改进的深度极限学习机DELM的分类 文章目录海鸥算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.海鸥算法4.海鸥算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理 ELM基础原理请参考:https://blog.c…

【数据结构与算法】单链表的增删查改(附源码)

这么可爱的猫猫不值得点个赞吗😽😻 目录 一.链表的概念和结构 二.单链表的逻辑结构和物理结构 1.逻辑结构 2.物理结构 三.结构体的定义 四.增加 1.尾插 SListpushback 2.头插 SListpushfront 五.删除 1.尾删 SListpopback 2.头删 SListpo…

浅谈音视频开发,如何更好的去学习?

Android音视频跟普通的应用层开发相比,的确更花费精力。期间为了学习音视频的录制,编码,处理也看过大大小小的几十个项目。总体感觉就是知识比较零散,对刚入门的朋友比较不友好。所以才萌生了整理一个Android音视频学习路线的想法…

Qss自定义属性

QSS自定义属性 更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f449;QSS样式学习 &#x1f448;文章目录QSS自定义属性[toc]前言一、实现效果二、使用方式1.QSS设置Q_PROPERTY属性样式2.QSS设置动态属性样式3.qproperty-<属性名称>语法14.qproperty-&…

如何在报表生成工具 Stimulsoft 中自定义报告查看器?

Stimulsoft Reports 是一款报告编写器&#xff0c;主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署&#xff0c;如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等&#xff0c;在你的应用程序中嵌入报告设计器…

华为OD机试模拟题 用 C++ 实现 - 猜字谜(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明猜字谜题目输入输出描述备注示例一输入输出示例二输入输出思路Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,

IDEA配置 External Tool

有一些文件无法使用IDEA自带的工具打开&#xff0c;这时候就需要借助电脑上安装的第三方软件协助打开。比如使用电脑上安装的Notepad打开项目中的*.ppm文件。 一、配置External Tool 参数说明&#xff1a; 名称(Name)&#xff1a;将在IntelliJ IDEA界面&#xff08;“ 工具”菜…

什么是api接口?(基本介绍)

API:应用程序接口(API:Application Program Interface) 应用程序接口是一组定义、程序及协议的集合&#xff0c;通过 API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用 API 函数对应用程序进行开发&#xff0c;可以减轻编程任务。 …

ROS1/2机器人操作系统与时间Time的不解之缘

时间对于机器人操作系统非常重要。所有机器人类的编程中所涉及的变量如果需要在网络中传输都需要这个数据结构的时间戳。宏观上&#xff0c;ROS1、ROS2各版本都有官方支持的时间节点。ROS时钟--支持时间倒计时小工具效果如下&#xff1a;如果要部署机器人操作系统&#xff0c;R…

IP路由原理、静态路由及动态路由区分

1、什么是路由? 路由器 在互联网中进行路由选择所使用的设备&#xff0c;或者说&#xff0c;实现路由的设备&#xff0c;我们称之为路由器。 路由器关键功能&#xff1a;检查数据包的目的地确定信息源发现可能的路由选择最佳路由验证和维护路由信息 什么是路由 路由是指导I…

洗地机什么牌子最好?洗地机品牌排行榜前十名

洗地机是近年来火热的清洁电器&#xff0c;凭借强劲的顽渍污渍去除和高效的地面清洁性能&#xff0c;成为了保持洁净家居环境、为生活做减法的黑科技&#xff0c;颇受生活达人们的追捧和青睐。洗地机的品牌、种类众多&#xff0c;一时间令人眼花缭乱。今天&#xff0c;我想为大…

fastadmin:在新增页面,打开弹窗单选,参数回传

样式&#xff1a;核心代码&#xff1a;一、弹窗的控制器中&#xff1a;// 定义一个公共函数select()&#xff0c;如果这个请求是Ajax&#xff0c;则返回index()函数&#xff0c;否则返回view对象的fetch()函数。 public function select() {if ($this->request->isAjax(…