无人机低空数字摄影测量系统
一、 系统概述
系统完全基于IDL设计实现,包括界面布局到人机交互再到底层核心函数功能。整体设计框架基于数字摄影测量的专业处理流程,实现了数据输入、数据预处理、影像信息检测、空间定向、地形三维建模、专题信息提取、成果输出与更新等功能。同时为了使系统更具实用性和操作舒适性,系统借鉴了目前市场上主流数字摄影测量软件的组织架构。
二、 系统设计框架
系统设计框架如图1所示,主要分为输入输出、显示控制、影像拼接、影像匹配、三维点生成、产品生成、产品显示和专题图提取等功能模块。

图1 系统设计框架图
三、 系统功能设计
(1) 数据输入与输出
数据输入模块中一共包含了建立测区、建立模型、引入模型和多影像打包引入功能。通过建立测区和模型,用户可以自定义系统处理过程中所产生中间数据的存储路径,这样系统在整个运行过程中都会将产生的数据实时的进行保存与更新。如用户需要查看已有的处理成果,可直接通过引入模型功能,将以往的处理成果全部导入系统。多影像打包输入功能,主要是为了配合条带影像拼接而开发的。此功能允许用户一次性导入航带中的所有影像。

图2 建立测区和建立模型

图3 影像打包输入
(2) 显示控制
显示控制功能模块中主要包含了点层显示控制、点层编辑、对象选取、刺点和链接等功能。点层显示控制,允许用户对已经生成的点图层进行隐藏和显示控制。点层编辑和对象选取功能可以组合使用,允许用户删除不满意的点(这里只开放了加密点层和控制点层的编辑权限,因为只有这两个点层会对后面的操作产生直接的影响)。刺点操作则使用户可以在图中感兴趣的地方增加控制点或是加密点。链接功能使用户通过移动鼠标的方式来查看影像中各区域在Ransac处理后所获取双线性变换参数的精度。链接功能同时还是解锁刺点功能的先决条件,在没有解锁链接功能前,系统是不会开放刺点权限的。

图4 系统主控界面
(3) 全航带影像拼接
在此功能模块中共有拼接预处理和条带影像拼接两个功能。拼接预处理就是利用影像匹配模块中的影像初匹配函数包,依次对每个像对进行初匹配,而后得到每个像对的双线性变换模型。预处理结束后,利用得到各个像对的双线性模型来对全航带影像进行影像拼接,最终形成一张覆盖整个测区范围的航带影像拼接图。

图5 拼接预处理

图6 全航带拼接图
(4) 影像匹配
影像匹配模块中包含了两个功能,分别是影像初匹配和影像精匹配。其中影像初匹配算法是整个系统的核心。影像初匹配是先对目标影像进行分块处理,在每一个子块中进行Harris角点提取,基于相关系数的灰度匹配,最终再用Ransac一致性随机抽样鲁棒分析算法进行整体平差处理。处理后可获取高精度的匹配点和相应的双线性变换模型。影像精匹配则是根据初匹配中所获得的双线性方程模型,在对影像进行格网化加密匹配。

图7 同名点集
(5) 三维点生成
三维点的生成功能主要依赖于两个算法,分别是单像后方交会和双像前方交会。用户需先利用刺点功能,对照控制点的缩略图在影像上选取控制点。再利用单像后方交会,就可得到一个像对中两张影像的外方位元素。再利用双像前方交会,就能生成三维点。

图8 外方位元素及三维点列表
(6) 产品生成
用户可以生成DOM正射影像、DEM数字高程模型、空间等高线、坡度坡向表、土方计算报告和表面积计算报告等产品。并可定制最终的质量报告。用户可自定义输出路径输出产品。
(7) 产品显示
在此模块中,用户可以使用全景跟踪球模型和全景漫游模式来观看三维DEM模型。而对于平面产品,如DOM正射影像和等高线等,则提供了放缩、漫游、重置等功能,方便用户查看。

图9 三维DEM显示

图10 全景漫游DEM

图11 正射影像
(8) 专题图提取
将提取出的专题信息通过IDL中的特定规则保存为shape格式,如果用户需要重新导入,只需在本模块中导入一个已有图层即可。

图12 专题图提取窗口
(9) 数据处理流程

图13 重建三维模型流程

图 14 全航带影像拼接流程
四、 系统亮点
- IDL独立编程
本系统中的所有功能,从界面布局到交互式操作再到底层核心功能,全部都是IDL独立编程实现的。本系统中所涉及到算法均由团队成员自行编程实现的,更有利于程序的发布。
- 高效、快速的特征检测与边缘提取
系统采用了Harris角点提取算法来检测和提取特征点。该算法不仅可以在带有旋转、扭曲的影像上快速地进行点特征检测和提取,同时还能够按照不同点位的特征强度自定义输出点的数量。
- 基于Ransac一致性随机采样算法的三维点纠错设计
利用Ransac一致性随机采样算法能够得到较为精确的双线性变换参数。基于双线线性变换参数建立的变换模型能够快速地转换同名点在左右影像中的像素坐标,进而利用前方交会就可反算出影像中任意一点的三维物方坐标。利用此法可标定影像的空间图幅范围并自动滤去错误的三维点。同时利用双线性变换模型还可以计算出同名点的匹配残差,综合考量匹配残差和匹配测度后可以大大的提高影像匹配的准确性进而也增加了三维点的精度。
- 方便快捷的输入与输出
系统在输入、输出模块中采用了实时更新存储设计,并允许用户链接数据库进行实时备份,保证了中间处理数据的完整性、安全性。在导入环节采用模块化引入设计。提供一键导入功能。
- 提供了全航带影像拼接功能
这样可以使用户告别手动拼接航带影像的历史。全自动的航带影像拼接不仅大大缩短了用户进行野外测量前准备工作的时间,还能使用户直观的把握整个测区的情况。

相关文章:
无人机低空数字摄影测量系统
一、 系统概述 系统完全基于IDL设计实现,包括界面布局到人机交互再到底层核心函数功能。整体设计框架基于数字摄影测量的专业处理流程,实现了数据输入、数据预处理、影像信息检测、空间定向、地形三维建模、专题信息提取、成果输出与更新等功能。同时为…...
Disk Drill Enterprise for Mac v5.5.1515数据恢复软件中文版
Disk Drill 是 Mac 操作系统固有的Mac数据恢复软件:使用 Recovery Vault 轻松保护文件免遭意外删除,并从 Mac 磁盘恢复丢失的数据。支持大多数存储设备,文件类型和文件系统。 软件下载:Disk Drill Enterprise for Mac v5.5.1515激…...
day55 最长递增子序列 最长连续递增子序列 最长重复子数组
题目1 300 最长递增子序列 题目链接 300 最长递增子序列 题意 找到整数数组nums的最长严格递增子序列的长度(子序列并不改变原始的顺序,但是可以删除元素) 动态规划 动规五部曲 1)dp数组及下标i的含义 dp[i] 表示以nums[i…...
使用Springboot配置生产者、消费者RabbitMQ?
生产者服务 1、引入依赖以及配置rabbitmq 此时我们通过使用springboot来快速搭建一个生产者服务 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> applica…...
代码随想录算法训练营第46天|139.单词拆分、多重背包问题
139.单词拆分 题目链接:单词拆分 题目描述:给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 **注意:**不要求字典中出现的单词全部都使用,并且字典中的单词…...
数组与伪数组的区别
大家都知道,在js中使用 document.querySelectorAll(选择器)获取到的为该选择器能选择到的所有元素组成的伪数组,所谓伪数组,就是外表和数组一样,能够使用索引遍历,但本质是对象。 数组与伪数组之间的区别&…...
Java集合List
List特有方法 经典多态写法 // 经典的多态写法 List<String> list new ArrayList<>();常用API:增删改查 // 添加元素 list.add("Java"); // 添加元素到指定位置 list.add(0, "Python");// 获取元素 String s list.get(0);// 修改…...
elasticsearch基础命令
1 字段分词分析: GET /store_info_data/_analyze {"field": "storeName","text":"20pilapala0" }2 精确查找,去除评分 GET /store_info_data/_search {"query": {"constant_score": {"filter": {&quo…...
Capture One 23 Enterprise for Mac中文版 全面的图像处理工具
Capture One 23 Enterprise for Mac中文版一款专业的图像编辑和管理软件,具备强大的功能和工具,适用于摄影师、摄影工作室和专业用户。 软件下载:Capture One 23 Enterprise for Mac中文版下载 该软件为用户提供了全面的图像处理工具…...
Qt案例 通过调用Setupapi.h库实现对设备管理器中设备默认驱动的备份
参考腾讯电脑管家-软件市场中的驱动备份专家写的一个驱动备份软件案例,学习Setupapi.h库中的函数使用.通过Setupapi.h库读取设备管理器中安装的设备获取安装的驱动列表,通过bit7z库备份驱动目录下的所有文件. 目录导读 实现效果相关内容示例获取SP_DRVIN…...
如何理解JVM
JVM(Java虚拟机)是Java程序的运行环境,它是Java技术的核心组成部分之一。理解JVM涉及到以下几个方面的内容: 1. **虚拟机概念**:虚拟机是一种软件实体,它在物理计算机上模拟出一个计算机系统,使…...
第十四讲:C语言字符函数和字符串函数
目录 1. 字符分类函数 2、字符转换函数 3. strlen的使⽤和模拟实现 4. strcpy 的使⽤和模拟实现 5. strcat 的使⽤和模拟实现 6. strcmp 的使⽤和模拟实现 7. strncpy 函数的使⽤ 8. strncat 函数的使⽤ 9. strncmp函数的使⽤ 10. strstr 的使⽤和模拟实现 11. strt…...
华为海思2024春招数字芯片岗机试题(共9套)
huawei海思2024春招数字芯片岗机试题(共9套,有答案和解析,答案非官方,未仔细校正,仅供参考)(WX:didadidadidida313,加我备注:CSDN huawei数字题目,谢绝白嫖哈)…...
分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析和改进蜣螂优化算法优化最小二乘支持向量机分类预测
分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析和改进蜣螂优化算法优化最小二乘支持向量机分类预测 目录 分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析和改进蜣螂优化算法优化最小二乘支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述…...
与机器对话:ChatGPT 和 AI 语言模型的奇妙故事
原文:Talking to Machines: The Fascinating Story of ChatGPT and AI Language Models 译者:飞龙 协议:CC BY-NC-SA 4.0 从 ELIZA 到 ChatGPT:会话式人工智能的简史 会话式人工智能是人工智能(AI)的一个分…...
概率论基础——拉格朗日乘数法
概率论基础——拉格朗日乘数法 概率论是机器学习和优化领域的重要基础之一,而拉格朗日乘数法与KKT条件是解决优化问题中约束条件的重要工具。本文将简单介绍拉格朗日乘数法的基本概念、应用以及如何用Python实现算法。 1. 基本概念 拉格朗日乘数法是一种用来求解…...
[xboard]real6410-6.2 移植kernel网络驱动
文章目录 硬件电路软件配置问题1问题2问题3问题4功能测试硬件电路 核心板,使用DM9000A [图片] 软件配置 问题1 / # / # ifconfig ifconfig: /proc/net/dev: No such file or directory ifconfig: socket: Fun...
Quarkus初探
Quarkus初探 背景安装Quarkus安装Quarkus CLI 创建Quarkus项目运行Quarkus初探代码修改一下代码 数据持久化创建PanacheEntiry写入数据读取数据 Dev Service使用外部数据库区分dev和prod 构建native应用(依赖Graalvm) 背景 最早是在Infoq上了解到Quarku…...
90天玩转Python-02-基础知识篇:初识Python与PyCharm
90天玩转Python系列文章目录 90天玩转Python—01—基础知识篇:C站最全Python标准库总结 90天玩转Python--02--基础知识篇:初识Python与PyCharm 90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装&…...
List操作的一些常见问题
1. Arrays.asList转换基本类型数组 在实际的业务开发中,我们通常会进行数组转List的操作,通常我们会使用Arrays.asList来进行转换,但是在转换基本类型的数组的时候,却出现转换的结果和我们想象的不一致。 import java.util.Arra…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
