ORBSLAM3三角化

ORBSLAM3中的三角化

主要函数

在三角化中,ORBSLAM3直接使用前面已经完成了特征提取和特征匹配的结果,直接获取到特征点的像素坐标,由此,可以进行反投影从像素坐标得到相机坐标,再对相匹配的两个相机坐标进行三角化,所以这其中涉及到了两个主要函数,反投影函数unproject与三角化函数Triangulate
注:该函数定义在KannalaBrandt8相机模型文件中。

反投影函数unproject

参数

该函数中参数只有一个待反投影的像素坐标点,const cv::Point2f引用类型。

内容

根据图像物理坐标的转换公式倒推即可得到反投影的方法:
{ u = α X ′ + c x v = β Y ′ + c y (1) \left\{\begin{matrix} u=\alpha X{}' +c_{x}\\ v=\beta Y{}'+c_{y} \end{matrix}\right.\tag{1} { u=αX+cxv=βY+cy(1)
其中 ( u v ) \begin{pmatrix} u \\ v \end{pmatrix} (uv)是像素坐标, ( X ′ Y ′ ) \begin{pmatrix} X_{}' \\ Y_{}' \end{pmatrix} (XY)
是图像物理坐标。
另外,图像物理坐标与相机坐标的对应关系:
{ X ′ = f X Z Y ′ = f Y Z (2) \left\{\begin{matrix} {} X{}'=f\frac{X}{Z}\\ Y{}'=f\frac{Y}{Z} \end{matrix}\right.\tag{2} { X=fZXY=fZY(2)
注:由于在对特征点进行提取匹配时进行了归一化处理,所以得到的相机坐标开始,都是进行了归一化处理后的值,即对归一化坐标左乘内参即可得到像素坐标
由(1)(2)可以推得反投影公式:
{ X Z = u − c x f x Y Z = v − c y f y (3) \left\{\begin{matrix} {} \frac{X}{Z}=\frac{u-c_{x}}{f_{x}}\\ \frac{Y}{Z}=\frac{v-c_{y}}{f_{y}} \end{matrix}\right.\tag{3} { ZX=fxucxZY=fyvcy

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值