主要内容

estimateEssentialMatrix

估计基本矩阵一对对应点的图像

描述

例子

E= estimateEssentialMatrix (matchedPoints1,matchedPoints2,cameraParams)返回3 x3的基本矩阵,E使用M-estimator样品一致(MSAC)算法。可以输入点2的矩阵的数量(x,y)坐标,或KAZEPoints,SIFTPoints,SURFPoints,MSERRegions,BRISKPoints,或cornerPoints对象。的cameraParams对象包含相机的参数用于图像。

E= estimateEssentialMatrix (matchedPoints1,matchedPoints2,cameraParams1,cameraParams2)返回两个由不同的摄像机拍摄的图像相关的基本矩阵。cameraParams1cameraParams2cameraParameters对象包含相机1和相机的参数分别为2。

(E,inliersIndex)= estimateEssentialMatrix (___)此外返回一个1逻辑向量,inliersIndex用于计算基本矩阵。函数向量的元素集真正的当相应的点被用来计算基本矩阵。元素集如果他们不习惯。

(E,inliersIndex,状态)= estimateEssentialMatrix (___)此外返回一个状态码来表示点的有效性。

(___)= estimateEssentialMatrix (___,名称,值)使用指定的一个或多个额外的选项名称,值对参数。

例子

全部折叠

加载预先计算的相机参数。

负载upToScaleReconstructionCameraParameters.mat

阅读和undistort两幅图像。

imageDir = fullfile (toolboxdir (“愿景”),“visiondata”,“upToScaleReconstructionImages”);图像= imageDatastore (imageDir);I1 = undistortImage (readimage(图片1),cameraParams);I2 = undistortImage (readimage(图片2),cameraParams);I1gray = im2gray (I1);I2gray = im2gray (I2);

每个图像检测特征点。

imagePoints1 = detectSURFFeatures (I1gray);imagePoints2 = detectSURFFeatures (I2gray);

从图像中提取特征描述符。

features1 = extractFeatures (I1gray imagePoints1,“正直”,真正的);features2 = extractFeatures (I2gray imagePoints2,“正直”,真正的);

在图像匹配特性。

indexPairs = matchFeatures (features1 features2);matchedPoints1 = imagePoints1 (indexPairs (: 1));matchedPoints2 = imagePoints2 (indexPairs (:, 2));图showMatchedFeatures (I1、I2 matchedPoints1 matchedPoints2);标题(“假定的比赛”)

图包含一个坐标轴对象。轴与标题的匹配对象包含4图像类型的对象,线。一个或多个行显示的值只使用标记

估计基本矩阵。

(E,内围层)= estimateEssentialMatrix (matchedPoints1 matchedPoints2,cameraParams);

显示窗匹配。

inlierPoints1 = matchedPoints1(窗);inlierPoints2 = matchedPoints2(窗);图showMatchedFeatures (I1、I2 inlierPoints1 inlierPoints2);标题(“窗匹配”)

图包含一个坐标轴对象。坐标轴对象与标题内围层匹配包含4图像类型的对象,线。一个或多个行显示的值只使用标记

输入参数

全部折叠

图片1中对应点的坐标,作为指定2的矩阵(x,y)坐标,或作为KAZEPoints,SIFTPoints,SURFPoints,BRISKPoints,MSERRegions,或cornerPoints对象。的matchedPoints1输入必须包含至少5分,推定地匹配使用等功能matchFeatures

图片1中对应点的坐标,作为指定2的矩阵(x,y)坐标,或作为KAZEPoints,SIFTPoints,SURFPoints,MSERRegions,BRISKPoints,或cornerPoints对象。的matchedPoints2输入必须包含至少5分,推定地匹配使用等功能matchFeatures

相机参数,指定为一个cameraParameterscameraIntrinsics对象。你可以返回cameraParameters对象使用estimateCameraParameters函数。的cameraParameters对象包含的内在、外在和摄像机镜头畸变参数。

相机参数相机1,指定为一个cameraParameterscameraIntrinsics对象。你可以返回cameraParameters对象使用estimateCameraParameters函数。的cameraParameters对象包含的内在、外在和摄像机镜头畸变参数。

相机参数相机2,指定为一个cameraParameterscameraIntrinsics对象。你可以返回cameraParameters对象使用estimateCameraParameters函数。的cameraParameters对象包含的内在、外在和摄像机镜头畸变参数。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“MaxNumTrials”,500年

最大数量的随机试验寻找异常值,指定为逗号分隔两人组成的MaxNumTrials”,一个正整数。试验的实际数量取决于matchedPoints1,matchedPoints2和的值信心参数。优化的速度和精度,选择随机试验的数量。

期望的信心寻找内围层的最大数量,指定为逗号分隔两人组成的“信心的标量值和百分比范围(0100)。增加这个值可以提高输出的鲁棒性,但增加的计算量。

桑普森距离阈值,指定为逗号分隔两人组成的“MaxDistance“和一个标量值。发现异常值返回的函数使用阈值像素的平方。平方的桑普森距离是一个一阶近似几何点和纵向线之间的距离。增加这个值,使算法收敛更快,但这还可以影响结果的准确性。

输出参数

全部折叠

基本矩阵,作为3 x3的返回矩阵的计算点的matchedPoints1matchedPoints2输入与已知相机intrinsic。

( P 2 1 ] * E 年代 年代 e n t 一个 l 一个 t r x * ( P 1 1 ] = 0

P1归一化图像坐标点在图像1,对应于,P2图2。

在计算机视觉中,基本是3×3矩阵矩阵关系对应点在立体图像的归一化图像坐标。当两个摄像机视图从两个不同的位置,一个三维场景三维点之间的几何关系及其投影二维图像使像点之间的约束。同一场景的两幅图像对极几何是相关的。

数据类型:

内围层指数,作为一个返回1逻辑索引向量。一个元素设置为真正的显示相应的索引匹配点matchedPoints1matchedPoints2被用来计算基本矩阵。一个元素设置为意味着索引点不用于计算。

数据类型:逻辑

返回状态码,如以下的其中一个可能的值:

状态 价值
0: 没有错误。
1: matchedPoints1matchedPoints2不包含足够的点。至少需要5分。
2: 没有足够的内围层发现。至少五个窗是必需的。

数据类型:int32

提示

使用estimateEssentialMatrix当你知道相机intrinsic。您可以获得intrinsic使用相机校准器应用。否则,您可以使用estimateFundamentalMatrix函数不需要相机intrinsic。来自世界共面不能估计基本矩阵点。

引用

[1]Kukelova, Z。,米。Bujnak, and T. Pajdla多项式特征值解决5-pt和6-pt相对带来问金宝搏官方网站题。英国利兹:BMVC, 2008。

[2]nist, D . .“一个有效的解决方案五点相对姿态的问题。”IEEE模式分析与机器智能。问题6卷26日,2004年6月。

[3]托,p·h·S。,和A. Zisserman. “MLESAC: A New Robust Estimator with Application to Estimating Image Geometry.”计算机视觉和图像理解。78年卷1,2000年4月,第138 - 156页。

扩展功能

版本历史

介绍了R2016b