【三维重建】逝去的摄影测量知识开始攻击我

news2025/2/26 19:34:56

这两天为了一个小汇报搞得突击。
由于认真突击了n小时,所以上课听得也认真。外加这老师讲得蛮清楚的,所以整理个笔记。


图像三维重建的思路:

多源图像
特征匹配
稀疏重建SfM
稠密重建MVS
点云
三维建模

 https://zhuanlan.zhihu.com/p/34160526

图源: https://zhuanlan.zhihu.com/p/34160526

由三维形成图片

单目、双目或者多目视觉测量

小孔成像原理

由图像还原三维

看上面的图,已知三幅图像上的点坐标q11,q21和qi1,他们和原物体点的连线Q1
只需要求得三条连线的方程就能解出点Q的坐标
而求线的方程,只需要知道点坐标q,以及连线的法向量

因此,怎么重建捏

空三,求解相机的内外方位元素,外方位元素对应相机的位置和姿态,内方位元素对应相机的焦距和一些固有属性
在这一步中包含了,特征匹配步骤

然后再利用求得的内外方位元素,以及控制点坐标,进行前方交会,获得绝对的三维坐标

归根到底,还是上面那个图

SfM(Structure from Model)

一种稀疏点云的建立方法。主要在开源软件中用得多,比如colmap,openmvg,openmvs等

那么SfM是啥捏。

在这里插入图片描述
https://www.mathworks.com/help/vision/ug/structure-from-motion.html
图3截取自油管视频,,搜索SfM就有,一个系列

假设相机1位于原点,也就是图所示。z轴方向为光轴方向。
先使用相机1和相机2拍的图像1和图像2,如中间图,利用一些特征匹配技术进行匹配,求解相机的位姿,也就是求解空三
然后根据得到的矩阵参数,计算相机1和相机2之间的位姿。

下一步,又去判断相机2和相机3的位姿,相机4和相机3的位姿,依次计算,最终获得一个整体的位姿关系和特征匹配点,而所依照的坐标系,是一开始相机1的坐标系。

这样一个相机一个相机依次添加,叫,增量式SfM
而一次性把所有相机都添加进行求解,叫,全局式SfM

注意,SfM,生成的只是稀疏点云

多源图像
特征匹配
稀疏重建SfM
稠密重建MVS
面片生成
Mask细节化
纹理映射

现在再回到这个流程图。
面片就是生成的不规则三角网TIN组成的白膜。好处有三:一是稳定三角形,二是可以表示多样化的形状,三是可以计算表面积

另外,流程中 存在着配准误差,校准误差等,累积形成漂移,需要处理

激光三维重建

这个目前也有。但我了解不多。

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

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

相关文章

【渝偲】DSPE-PEG-Galactose;DSPE-PEG-半乳糖;磷脂聚乙二醇半乳糖 长循环脂质体

中文名称:磷脂-聚乙二醇-半乳糖 半乳糖-聚乙二醇-磷脂 简称:DSPE-PEG-Galactose Galactose-PEG-DSPE 外观: 根据不同的分子量为半固体或固体 分子量(PEG ):1000、2000、3400、5000,其他分子量可以定制。 …

酒业迷茫期,江小白凭什么获十亿融资?

凭借抢占年轻人白酒市场而取得市场突破的江小白,在成立十年的关口也开始了新的动作。10月28日,重庆江津区政府宣布对江小白旗下“江记酒庄”进行10亿元战略投资。 江小白在白酒市场已经拥有很强的影响力,但是近几年因为线下消费受限&#xf…

【EC200U】GPS定位

EC200U GPS定位GNSS模块quecgnss - 内置GNSSGNSS 功能初始化GNSS 工作状态获取GNSS开关GNSS定位数据获取实测案例拓展当前互联网地图的坐标系现状地球坐标 (WGS84)火星坐标 (GCJ-02)也叫国测局坐标系百度坐标 (BD-09)coordtransform 坐标转换EC系列东西很多,网上资料…

微信扫码授权登录手游(你使用的浏览器暂不支持微信登录)

这个问题是因为微信服务器会校验请求是否有特定的请求头。 解决这个问题,需要在请求时加上如下请求头: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger…

SpringBoot自定义参数解析器HandlerMethodArgumentResolver(解析ip)

演示 自定义Ip注解,获取请求的ip 原理 DispatcherServlet初始化的时候会初始组件RequestMappingHandlerMapping与RequestMappingHandlerAdapter 1、RequestMappingHandlerMapping组件 RequestMappingHandlerMapping 初始化时,会收集所有 RequestMapp…

Python异常、模块与包

目录 1. 异常 1.1 了解异常 1.2 捕获异常 1.3 异常的传递 2. 模块 2.1 模块的概念与导入 2.2 自定义模块与导入 2.3 自定义Python包 2.4 第三方包 2.5 综合案例 1. 异常 1.1 了解异常 异常就是程序运行的过程中出现了错误。 bug就是指异常的意思,因为历…

记录C文件到可执行二进制文件的经历过程

正常情况下&#xff0c;C代码写完后在Linux系统下直接通过gcc命令编译成可执行文件&#xff0c;即 #include <stdio.h>int main() {printf("hello, world!\n");return 0; }编译&#xff1a; gcc hello.c -o hello运行&#xff1a; ./hello结果&#xff1a; …

Linux系统中Makefile的基本实现

大家好&#xff0c;今天主要和大家聊一聊&#xff0c;Linux系统中的Makefile的使用方法。 第一&#xff1a;Makefile基本简介 当文件有几十、上百甚至上万个的时候用终端输入 GCC 命令的方法显然是不现实的。如果我们能够编写一个文件&#xff0c;这个文件描述了编译哪些源码文…

「避坑宝典」为大家分享笔者在22 年所遇到“匪夷所思”的 Bug 趣事

“BUG”的你咋又来了&#xff1f; 无论这一年我们遇到了什么困难或者是喜事&#xff0c;在此时此刻&#xff0c;个人觉得都应该反思或者回味一下这些事情&#xff0c;对于好事&#xff0c;我们欣慰开心&#xff1b;坏事那我们能做到的就是极力避免它们再次发生&#xff0c;就如…

Python复习知识点(三)

循环结构 一&#xff0c;while循环 使用方式和之前学的一致&#xff0c;这里只说新加入的 while...else 当while语句条件为false时候执行else (else和while平级) 二&#xff0c;for循环 和之前的有差别&#xff0c;它支持序列和迭代器作为参数 简单用法&#xff1a; 新增…

【JavaWeb】EL表达式JSTL标签库

文章目录一.EL表达式⭐️1.EL表达式概念及作用2.EL表达式搜索域数据的顺序3.EL表达式输出Bean的普通属性,数组属性,List集合属性,map集合属性4.EL表达式运算5.EL表达式的11个隐含对象二.JSTL标签库⭐️1.JSTL标签库的使用步骤2.core核心库使用一.EL表达式⭐️ 1.EL表达式概念及…

服务访问质量

♥️作者&#xff1a;小刘在C站 ♥️每天分享课堂笔记&#xff0c;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的&#xff0c;绽放。 目录 一.Qos 一种网络拥塞的解决方法 二.QoS 服务模型 三.Qos 的四大组件&#xff1a; 四. 对流量的…

SPARKSQL3.0-Antlr4由浅入深SparkSQL语法解析

一、前言 在开始剖析SparkSQL前&#xff0c;我们要先来了解一下Antlr4&#xff0c;这是因为spark-sql字符串解析工作是由Antlr4完成的&#xff0c;故需要先来了解Antlr4&#xff0c;如下&#xff1a; 本文会着重介绍一下几点&#xff1a; 1、Antlr是什么&#xff1f; 2、如何…

C. Mortal Kombat Tower(DP)

Problem - 1418C - Codeforces 题意: 你和你的朋友正在玩《真人快打11》这个游戏。你们正试图通过一个挑战塔。这个塔里有n个老板&#xff0c;编号从1到n&#xff0c;第i个老板的类型是ai。如果第i个boss是简单的&#xff0c;那么它的类型是ai0&#xff0c;否则这个boss是困难…

HarmonyOS鸿蒙学习笔记(15)Swiper实现抖音切换视频播放效果

Swiper实战1、项目结构2、PageVideo和PlayView简单说明2.1 State变量的使用2.2 Link和Watch变量的使用2.3、Swiper的使用和PlayView的初始化2.4、页面可见状态发生改变时对视频进行暂停和播放2.5 PlayView和PageVidew源码&#xff1a;参考资料&#xff1a;1、项目结构 前面写了…

22服务-ReadDataByIdentifier

诊断协议那些事儿 诊断协议那些事儿专栏系列文章&#xff0c;本文介绍数据传输服务下的22服务ReadDataByIdentifier&#xff0c;允许客户端通过一个或多个dataldentifier向标识的服务器请求dataRecord&#xff08;数据记录值&#xff09;。 文章目录诊断协议那些事儿一、22服…

技术宅星云的Mac系统使用经验分享

技术宅星云的Mac系统使用经验分享系统维护1.1 Mac OSX 卡顿严重1.2 开启/禁止.DS_store文件生成1.3 显示/隐藏 系统文件夹系统维护 这篇博文分享使用Mac 系统中的一些优化经验。 1.1 Mac OSX 卡顿严重 今天不知道怎么回事&#xff0c;系统突然卡得不要不要的&#xff0c;各种…

Airtest新手升级:一个相对完整的纯.py脚本是怎样子的

1. 前言 一直以来&#xff0c;Airtest的教程都倾向于编写 .air 脚本&#xff0c;但本质上&#xff0c;它还是python脚本来的。今天我们就来补上这个缺口&#xff0c;一起来看下一个相对完整的纯 .py 脚本是什么样子的。 2. 例子一&#xff1a;纯py的Airtest脚本 有时候&…

Python-新建-Django项目-调试-显示mysql数据库表内容-HelloWorld

文章目录1.Pycharm-开发编辑器2.HelloWorld程序范例3.代码调试4.连接数据库-mysql4.1.安装好mysql数据库4.2.创建项目4.3.数据库表转模型4.4.前端展示5.总结1.Pycharm-开发编辑器 文件->新建项目->选择Django。接着在控制台输入命令&#xff1a; python -m django --ver…

【C语言】分支语句 循环语句 _训练题型加深理解

1.分支语句 自从学习编程以来每天都在写分支语句&#xff0c;那么什么是分支语句呢&#xff1f; 下面举两个生动的例子来更好的理解分支语句&#xff1a; 比如我们买东西&#xff0c;要么支付现金&#xff0c;要么使用微信或者支付宝。在大学如果你好好学习&#xff0c;校招…