主要内容

relativecamerapose.

计算相机姿势之间的相对旋转和转换

描述

relativeOrientationrelativeLocation] = RelativamAleapose(cameraParamsinlierPoints1inlierPoints2返回校准相机相对于先前的姿势的方向和位置。这两种姿势是相关的,这必须是基本的,必要的,affine2d,或projective2d矩阵。该函数按比例计算摄像机位置并返回relativeLocation作为单位向量。

relativeOrientationrelativeLocation] = RelativamAleapose(cameraParams1cameraParams2inlierPoints1inlierPoints2返回第二个摄像机相对于第一个摄像机的方向和位置。

relativeOrientationrelativeLocationvalidPointsFraction] = RelativamAleapose(___另外返回在两个摄像机前面投射的Inlier点的分数。

输入参数

全部折叠

基本,基本矩阵或同封矩阵,指定为3×3矩阵,Affine2D对象或aprojective2d包含同位矩阵的对象。您可以使用以下功能之一获取3×3矩阵:

数据类型:|

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

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

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

视图1中对应点的坐标,指定为一个- 2矩阵的数量(xy]坐标,或作为一个SIFTPointsSURFPointsMSERRegions,或角点对象。你可以使用estimateFundamentalMatrix功能或者estimateEssentialMatrix

视图2中相应点的坐标,指定为- 2矩阵的数量(xy]坐标,或作为一个SIFTPointsSURFPointsMSERRegions,或角点对象。你可以使用estimateFundamentalMatrix功能或者estimateEssentialMatrix

输出参数

全部折叠

相机的方向,返回为3 × 3矩阵。如果您只使用一个摄像机,矩阵描述了相对于第一个摄像机的第二个摄像机姿态的方向。如果你使用两个摄像机,这个矩阵描述了摄像机2相对于摄像机1的方向。

数据类型:|

相机的位置,返回为1 × 3的单位矢量。如果只使用一个摄像机,则该向量描述了第二个摄像机姿态相对于第一个摄像机姿态的位置。如果你使用两个摄像机,这个向量描述了摄像机2相对于摄像机1的位置。

数据类型:|

两个摄像机前的有效内嵌点的分数,返回为标量。如果validPointsFraction太小,如小于0.9,则表明基本矩阵不正确。

提示

  • 您可以计算相机外在内饰,rotationMatrixtranslationVector,对应于相机的姿态,从relativeOrientationrelativeLocation

    [rotationMatrix, translationVector] = cameraPoseToExtrinsics (relativeOrientation relativeLocation)
    前面的相机姿势的方向是标识矩阵,眼睛(3),它的位置是,(0, 0, 0)

  • 你可以使用rotationMatrixtranslationVector作为输入cameraMatrix函数。

  • 你可以从输入的基本矩阵中计算出四种可能的方向和位置组合。其中三种组合在物理上是无法实现的,因为它们在一个或两个相机后面投射出三维点。的relativecamerapose.功能使用inlierPoints1inlierPoints2确定可实现组合。

扩展功能

介绍了R2016b