本质矩阵分解计算R&t

1 本质矩阵的计算

上一文章中描述了本质矩阵的计算,计算机视觉-对极几何-CSDN博客,那么计算得到本质矩阵有什么用?其中一个应用是通过本质矩阵计算得到2D-2D的相对变换。

在相关矩阵计算时,一般会在两幅图像中,根据特征找到对应匹配对后估计出基础矩阵F或本质矩阵E,如果是直接估计出基础矩阵F,且知道两幅图中的相机参数分别为K1、K2,则可以直接得到本质矩阵E

对于本质矩阵与相对变换的R和t有如下关系(注意这里指的相对变换是从第一幅图变换到第二幅图的位姿相对变换)

集体的求解方法参考4中参考文献。

3 R t 的恢复

使用opencv api :

int recoverPose( InputArray E, InputArray points1, InputArray points2,
                 InputArray cameraMatrix, OutputArray R, OutputArray t,
                 InputOutputArray mask = noArray() );

int recoverPose( InputArray E, InputArray points1, InputArray points2,
                 OutputArray R, OutputArray t, double focal = 1.0,
                 Point2d pp = Point2d(0, 0), InputOutputArray mask = noArray() );

int recoverPose( InputArray E, InputArray points1, InputArray points2,
                 InputArray cameraMatrix, OutputArray R, OutputArray t, 
                 double distanceThresh, InputOutputArray mask = noArray(),
                 OutputArray triangulatedPoints = noArray());

E:已经求解出来的本质矩阵,它是3x3的矩阵;
points1:第一张图片中的点;
points2:第二张图片中的点;
cameraMatrix:相机内参矩阵,它是3x3的矩阵;
R:求解出来的两帧图片之间的旋转矩阵;
t:求解出来的两帧图片之间的平移向量;
focal:相机焦距;
pp:像素坐标的原点;
distanceThresh:点的距离阈值,用来滤出距离较远的点;
triangulatedPoints:通过三角化还原点;

4 参考博客

SLAM之本质矩阵分解得相对变换的R和t -- MathSword数值计算软件

https://note.youdao.com/ynoteshare/index.html?id=5e98f487c40ef22f90e1177f29271be5&type=note&_time=1666954937067

相关推荐
lihuayong5 小时前
计算机视觉:主流数据集整理
人工智能·计算机视觉·mnist数据集·coco数据集·图像数据集·cifar-10数据集·imagenet数据集
DCcsdnDC6 小时前
Airsim仿真双目相机时间戳不同步的解决办法
计算机视觉
机器视觉知识推荐、就业指导11 小时前
【数字图像处理二】图像增强与空域处理
图像处理·人工智能·经验分享·算法·计算机视觉
陈辛chenxin11 小时前
【论文带读系列(1)】《End-to-End Object Detection with Transformers》论文超详细带读 + 翻译
人工智能·目标检测·计算机视觉
深图智能14 小时前
OpenCV 4.10.0 图像处理基础入门教程
图像处理·opencv·计算机视觉
Fansv5871 天前
深度学习-6.用于计算机视觉的深度学习
人工智能·深度学习·计算机视觉
SKYDROID云卓小助手1 天前
无人设备遥控器之如何分享数传篇
网络·人工智能·算法·计算机视觉·电脑
萧鼎1 天前
利用 OpenCV 进行棋盘检测与透视变换
人工智能·opencv·计算机视觉
紫雾凌寒1 天前
计算机视觉基础|卷积神经网络:从数学原理到可视化实战
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·卷积神经网络
IT古董1 天前
【深度学习】计算机视觉(CV)-图像生成-风格迁移(Style Transfer)
人工智能·计算机视觉