主要内容

relativeCameraPose

计算相机姿态之间的相对旋转和平移

描述

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

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

relativeOrientationrelativeLocationvalidPointsFraction) = relativeCameraPose (___另外,返回投影在两个摄像机前面的内嵌点的分数。

输入参数

全部折叠

基本矩阵,本质矩阵,或单应矩阵,指定为3 × 3矩阵,仿射二维物体,或projective2d包含单应矩阵的对象。你可以使用以下函数之一得到3 × 3矩阵:

数据类型:|

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

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

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

视图1中相应点的坐标,指定为an2的矩阵的数量(xy坐标,或作为SIFTPointsSURFPointsMSERRegions,或cornerPoints对象。你可以使用estimateFundamentalMatrix函数或estimateEssentialMatrix

视图2中相应点的坐标,指定为2的矩阵的数量(xy坐标,或作为SIFTPointsSURFPointsMSERRegions,或cornerPoints对象。你可以使用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