从摄影测量到计算机视觉----以SFM算法为例,用python+opencv 实现

2023-11-07

因为这篇公式和图比较多,所以笔者以贴图像的形式来,附上最终的结果图。如果你需要笔者的代码,可以发邮件或者去github,笔者后续会贴上github链接。
1、 两者之间的关系
摄影测量是研究被摄物体的形状、大小、和相对位置关系的一门学科;计算机视觉可以看作是图像处理的升华(image—knowledge)。两者之间有太多的相似之处,如bundle adjustment,摄影测量中称之为光束法平差,即是整体求解相片的外方位元素和加密点坐标。而对于computer vision,以slam 为例,总结如下:

Points 摄影测量 Computer vision
3D-3D 物点到物点 坐标转换,如七参数变换 Slam 其中一部分(这个没有具体研究)
2D-3D像点到物点 单像后方交会\光束法平差 光束法平差
2D-2D 像点到像点 相对定向  
2、摄影测量和CV中2D-3D公式(很重要)
原理都是小孔成像,对于摄影测量,由共线条件方程可得:
1

2
3)

所以想利用opencv 中一些函数求解相机位姿的话,对于摄影测量给了像平面坐标(单位mm),只需要将y 变为负
3、以SFM 算法为列,2D-2D points
1) 图像匹配
2) 找基本矩阵F
3) 找本质矩阵E
4) 分解E
1) 利用opencv 中的recoverPose 函数,其中输入参数是E,Points1(N*2),Poins2(N*2),返回值是points,R,T,mask 。其中points 是内点,R,T是右相机相对与左的旋转和平移,这时候是假设左相机为世界坐标系源,即旋转的角度为0、平移为0
2) 自己去分解,详情见《计算机视觉中的多视图几何》,两视图几何章节中的本质矩阵小节,分解E有四种结果,但是重构点在两个相机前面的情况只有一种,故可以利用这个约束来获取唯一解。
3) Opencv 中decomposeEssentialMat这个函数不要用,因为它返回R1,R2,T。其中R1不等于[E|0],官方文档说:这个函数只能得到平移的方向。
至于如何判断重构点在两个相机前面,我看到一个外国小哥的代码,如下。我没看懂他的,我就自己写了,很简单,就是随便选择一同名点前方交会(CV中叫三角化),来判断Z否大于0.
外国小哥代码:
这里写图片描述

这里写图片描述
可以旋转的点云
这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从摄影测量到计算机视觉----以SFM算法为例,用python+opencv 实现 的相关文章

随机推荐

  • ege库基于前中后序动态建立二叉树、序列检错以及查找公共父节点C++

    一 需求分析 1 任意输入前序 中序序列或者中序 后序序列 生成二叉树 3 利用打印二叉树功能显示二叉树的逐步构造过程 使用自上而下的二叉树显示 4 使用EGE xege org SFML www sfml dev org download
  • 写给程序员的机器学习入门 (九) - 对象识别 RCNN 与 Fast-RCNN

    因为这几个月饭店生意恢复 加上研究 Faster RCNN 用掉了很多时间 就没有更新博客了 这篇开始会介绍对象识别的模型与实现方法 首先会介绍最简单的 RCNN 与 Fast RCNN 模型 下一篇会介绍 Faster RCNN 模型 再
  • 如何利用双休日,每月稳定增加额外1500元收入?

    针对8种不同标签的人群 良心推荐12个稳定增加收入的副业 最短一天就能有收入 月入几千的大有人在 认真看有干货 很可能会成为你的主业 最好先点赞收藏 以免后面找不到 不管你是上班族还是学生党 一个副业除了可以帮助你赚钱 更重要的是给了你平淡
  • 国家开源软件资源库

    http yp oss org cn software show cat php cat id 5 基本信息 成熟度 Dimdim 2009 05 19 1 2 3 4 5 6 7
  • C++模板详解

    目录 1 什么是c 的模板 2 模板的概念 3 函数模板 1 什么是函数模板 2 函数模板的定义格式 3 案例 4 函数模板的实例化 1 隐式实例化 2 显式实例化 5 函数模板的重载 6 函数模板与普通函数小结 7 使用函数模板要注意的问
  • 将生成的pandas DataFrame数据写入excel的指定位置

    在文件中生成了DataFrame格式数据想要写入excel的指定位置 比如第三行的第二列 网上的方法基本是使用to excel直接写入 这样写入的位置就是固定的 不能指定位置 通过openpyxl灵活设置的方式写入数据 这种方式对传统的中国
  • LoadLibrary错误182

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家拍砖 一 问题描述 在win7下用一个MFC程序把从XP拷过来的msgina dll加载起来 调用LoadLibrary后返回错误码为 二 解决
  • 二进制安全虚拟机Protostar靶场(2)基础知识讲解,栈溢出覆盖变量 Stack One,Stack Two

    前言 Protostar靶场的安装和一些二进制安全的基础介绍在前文已经介绍过了 这里是文章链接 https blog csdn net qq 45894840 article details 129490504 spm 1001 2014
  • 【python练习题 02】按身高和体重排队

    题目 某学校举行运动会 学生们按编号 1 2 3 n 进行标识 现需要按照身高由低到高排列 对身高相同的人 按体重由轻到重排列 对于身高体重都相同的人 维持原有的编号顺序关系 请输出排列后的学生编号 输入 两个序列 每个序列由n个正整数组成
  • Q-learning

    学习增强学习有段时间了 也接触了 learning了 但对此理解不是很透彻 知道看到头条文章对一篇 翻译文才对此有了较深的理解 特此copy 望见谅 目录 故事案例 table简介 Q learning 算法 学习动作值函数 action
  • MATLAB中生成随机数方法总结

    好久没用MATLAB了 今天在利用MATLAB进行数据处理时 突然发现自己忘记了该如何产生自己需要的随机数形式 于是又查了一通资料 现对其进行一个简单的总结 供自己和大家以后参考 1 randi 产生均匀分布的伪随机整数 产生一个1至10之
  • linux下查询缺少的依赖文件归属于哪个rpm包

    我们在redhat下使用rpm ivh安装rpm包的时候 经常会报缺少依赖条件的错误 如下 root abc Packages rpm ivh httpd 2 4 6 17 el7 x8664 rpm 错误 依赖检测失败 etc mime
  • 浏览器的跨域问题

    什么导致的浏览器的跨域问题 不同源的ajax请求会导致出现跨域的错误 必须要是ajax请求 并且是不同源的才会出现跨域问题 跨域主要是出现在浏览器阻止了响应的接收 服务器有接收到请求也有发出响应 这里是浏览器存在同源策略 什么是同源 同源是
  • 视频剪辑利器:全能的音视频处理工具

    本次推荐的四个开源项目共同展现了开放 灵活和高效的多媒体处理能力 你可以使用它们进行剪辑 格式转换 添加音频轨道或字幕 甚至通过自动生成字幕来裁剪视频 无论是优化媒体文件 节省存储空间还是创造出令人惊叹的视觉效果 这些项目都将成为你不可或缺
  • (转)知乎-区块链技术:如何赋能供应链创新

    区块链技术 如何赋能供应链创新 佳晨说 可能很多人对区块链技术有一定的了解 这份了解大多数都是来自于比特币这样的一个概念 区块链的本质到底是什么 为什么又能够为供应链创新提供新的动力 因为区块链技术可以在供应链的物流 信息流 资金流和业务流
  • Android 11.0 无源码apk设置默认启动Launcher的相关属性

    目录 1 概述 2 无源码apk设置默认启动Launcher的相关属性的核心类
  • vue中使用vditor(发布,编辑,详情回显、上传图片+粘贴图片回显问题,表情的处理)

    文章目录 1 使用方法 1 html 2 dom 发布和编辑页面 3 详情页面 1 页面 2 引入 3 dom 效果图 补充遗漏的XSS过滤 1 注入脚本 2 过滤方法 3 在input val 中调用 补充防盗链功能 此方法有视觉变化 3
  • 获取和设置tinyMCE 4编辑器的内容

    对于tinymce编辑器是无法通过js进行内容的读写的 必须使用编辑器自身的方法才行 下面是一些方法 希望能对用到的朋友有所帮助 1 如果当前页面只有一个编辑器 获取内容 tinyMCE activeEditor getContent 设置
  • STL中set的基本介绍

    STl中的基本内容 容器 set multiset 在集合中 所有的元素只能出现一次 并且默认按照元素的值从小到大自动排序 set不能通过迭代器来修改元素的值 即set的迭代器是一种const iterator multiset 和 set
  • 从摄影测量到计算机视觉----以SFM算法为例,用python+opencv 实现

    因为这篇公式和图比较多 所以笔者以贴图像的形式来 附上最终的结果图 如果你需要笔者的代码 可以发邮件或者去github 笔者后续会贴上github链接 1 两者之间的关系 摄影测量是研究被摄物体的形状 大小 和相对位置关系的一门学科 计算机