OpenCV4每日一练day11:单目位姿估计-程序员宅基地

技术标签: 计算机视觉  OpenCV4每日一练  

一.单目位姿估计

在这里插入图片描述
  根据相机成像模型,如果已知相机的内参矩阵、世界坐标系中若干空间点的三维坐标和空间点在图像中投影的二维坐标,那么可以计算出世界坐标系到相机坐标系的旋转向量和平移向量。如图所示,当知道点ci在世界坐标系下的三维坐标和这些点在图像中对应点的二维坐标时,结合相机的内参矩阵和畸变系数,就可以计算出世界坐标系变换到相机坐标系的旋转向量和平移向量。
  在这种情况下,可以估计相机在世界坐标系中的位姿。如果将世界坐标系看成前一时刻的相机坐标系姿态,ci在世界坐标系下的三维坐标看成ci在前一时刻相机坐标系中的坐标,就可以估计出前一时刻到当前时刻相机的运动变化,进而得到视觉里程计信息。不过需要注意的是,由于单目相机没有深度信息,因此,如果ci的三维坐标是真实物理尺度的三维坐标,那么估计出的平移向量就是真实的物理尺度,否则就是放缩后的平移向量。
  从理论上来说,只要知道世界坐标系中3个点的三维坐标和对应图像中的坐标,根据相机内参矩阵和畸变系数就可以解算世界坐标系与相机坐标系之间的转换关系。这种利用3个空间点和图像点的解算方法称为P3P方法。当然,如果点数大于3,那么可以得到更加精确的旋转向量和平移向量。当点数大于3时,计算旋转向量和平移向量的方法称为PnP方法。两种方法在OpenCV4中都有相应的函数, P3P方法对应的是solveP

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43297891/article/details/114518686

智能推荐

用计算机计算教学反思,《用计算器计算》的教学反思-程序员宅基地

文章浏览阅读259次。《用计算器计算》的教学反思《用计算器计算》的教学反思于鸿雁 的工作室用计计算教学反思 《用计算器计算》的教学反思《用计算器计算》的两次试教过程与思考。一、第一次试教1.确定如下教学目标(1)使学生初步认识计算器,了解计算器的基本功能。(2)会使用计算器进行大数目的计算。(2)通过计算探索与发现一些简单的数学规律。(4)使学生体验用计算器进行计算的优点。2.初步研究教材后,我设计了本课教学的基本流程..._用计算器计算教学反思及改进措施

THINKPHP_模版系统变量$Think_think.config-程序员宅基地

文章浏览阅读1.4k次。系统变量输出普通的模板变量需要首先赋值后才能在模板中输出,但是系统变量则不需要,可以直接在模板中输出,系统变量的输出通常以{$Think 打头,例如: {$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量{$Think.session.user_id} // 输出$_SESSION['user_id']变量{$Thin_think.config

硬盘S.M.A.R.T技术原理与使用_hard disk s.m.a.r.t需要开启吗-程序员宅基地

文章浏览阅读3.4k次。2008-12-31早在上个世纪九十年代,人们就意识到数据的宝贵性胜于硬盘自身价值,渴望有种技术能对硬盘故障进行预测并实现相对安全的数据保护,因此S.M.A.R.T技术应运而生。目前,虽然大多数硬盘的平均无故障时间(MTBF)已达30000~50000小时以上,然而对于不少用户,特别是商业用户而言,一次普通的硬盘故障便足以造成灾难性后果,所以时至今日,S.M.A.R.T技术仍为我们所用。 一、S.M.A.R.T究竟是什么? S.M.A.R.T的全称为“Self-Monitorin_hard disk s.m.a.r.t需要开启吗

Linux串口驱动(1) - serial层_linux serial-程序员宅基地

文章浏览阅读1.3k次。1. serial 层的初始化以IMX6的串口驱动为例,文件在drivers/tty/serial/imx.c,初始化概述如下:module_init(imx_serial_init) -->uart_register_driver(&imx_reg); -->tty_set_operations(normal, &uart_ops); -->driver->ops = op; -->tty_register_..._linux serial

Mysql区间查询的注意点_mysql check 区间-程序员宅基地

文章浏览阅读7.4k次。1. Description   最近在使用mysql区间查询的时候遇到的一个问题。在此简单记录以下SELECT * from table where 1 < id <100 ;这样查询会返回table表中所有的数据或者空数据,实际上的sql其实是SELECT * from table where 1; SELECT * from table where 0;2..._mysql check 区间

随便推点

5 种可能在 10 年后消失的编程语言-程序员宅基地

文章浏览阅读316次。点击上方“逆锋起笔”,公众号回复pdf领取大佬们推荐的学习资料本文转载自葡萄园https://dzone.com/articles/5-coding-languages-that-wi..._被历史遗忘的编程语言

真来了!已有高校正式通知:排查近5年硕博学位论文!-程序员宅基地

文章浏览阅读146次。点击上方“计算机视觉工坊”,选择“星标”干货第一时间送达继教育部要求全面排查近五年硕博学位论文后,中南财经政法大学发布《关于开展学位论文规范管理和学风建设工作的通知》,对该校近五年硕博学位..._专家学者如何看待全面排查硕博学位论文的问题

任务“Microsoft Exchange Server”报告了错误(0x8004010F):“操作失败。找不到某个对象。”...-程序员宅基地

文章浏览阅读562次。exchange 2003的解决办法是:在Exchange系统管理器中,1。点击“收件人”,点击“脱机地址列表“,右键点击“默认脱机地址列表“,点“重建”。2。点击“收件人”,点击“收件人更新服务”,对两个列表内容右键点击“立即更新” 转载于:https://blog.51cto.com/hujie/169885..._exchange报错误0x8004010f 操作失败找不到某个对象

主办方很无奈:Linus 搞错内核维护者峰会的时间地点-程序员宅基地

文章浏览阅读235次。(点击上方公众号,可快速关注)转自:Solidot今年的 Linux 内核维护者峰会原计划于 11 月 12 日在加拿大温哥华举行,但 Linux 内核维护者 Linus..._linux 内核维护者

RESTful API 设计规范_40500状态码-程序员宅基地

文章浏览阅读297次。RESTful API 设计规范该仓库整理了目前比较流行的 RESTful api 设计规范,为了方便讨论规范带来的问题及争议,现把该文档托管于 Github,欢迎大家补充!!Table of ContentsRESTful API 设计规范关于「能愿动词」的使用ProtocolAPI Root URLVersioning 在 URL 中嵌入版本编号通过媒体类型来指定..._40500状态码

你所了解的Vim是什么样的,如何打造一款高级的Vim编辑器_vim编辑器长什么样子-程序员宅基地

文章浏览阅读764次。1.1vim简介vim是linux上一个比较实用的文本编辑器,它在代码补全、编译及错误跳转等方便编程的功能上特别丰富,在程序员中被广泛使用。1.2vim使用1.2.1vim安装如果你还没有安装vim可以使用下面命令安装(ubuntu环境安装,如果是centosd的话使用yum)sudo apt-get install vim1.2.2vim编辑器的三种状态vim 编辑器可以简单分为“命令控制模式” 和 “文本编辑模式” 从命令控制模式到 文本编辑:a i o..._vim编辑器长什么样子