relativeCameraPose
(非推奨) カメラの姿勢間の相対的な回転と並進を計算
relativeCameraPose は推奨されません。代わりに関数 estrelpose を使用してください。詳細については、バージョン履歴を参照してください。
構文
説明
[ は、前の姿勢を基準としてキャリブレーションされたカメラの向きと位置を返します。2 つの姿勢は relativeOrientation,relativeLocation] = relativeCameraPose(M,cameraParams,inlierPoints1,inlierPoints2)M によって関連付けられます。これは基礎行列、基本行列、affine2d 行列、または projective2d 行列でなければなりません。関数はスケールに沿ったカメラの位置を計算して、relativeLocation を単位ベクトルとして返します。
[ は、最初のカメラに対する 2 番目のカメラの向きと位置を返します。relativeOrientation,relativeLocation] = relativeCameraPose(M,cameraParams1,cameraParams2,inlierPoints1,inlierPoints2)
[ はさらに、両方のカメラの前面を投影するインライア点の割合を返します。relativeOrientation,relativeLocation,validPointsFraction] = relativeCameraPose(M, ___)
入力引数
出力引数
ヒント
カメラの姿勢
relativeOrientationおよびrelativeLocationに対応するカメラの外部パラメーターrotationMatrixおよびtranslationVectorを計算できます。前のカメラの姿勢の方向は単位行列[rotationMatrix,translationVector] = cameraPoseToExtrinsics(relativeOrientation,relativeLocation)
eye(3)であり、その位置は[0,0,0]です。次に、
rotationMatrixおよびtranslationVectorを関数cameraMatrixへの入力として使用することができます。入力の基礎行列から方向と位置の 4 つの可能な組み合わせを計算できます。組み合わせのうち 3 つは物理的に実現可能ではありません。なぜなら、片方または両方のカメラの背後の 3 次元の点を投影しているためです。関数
relativeCameraPoseはinlierPoints1およびinlierPoints2を使用して、実現可能な組み合わせを決定します。