私は自分のカメラを調整し、固有パラメータ (K) を見つけました。また、ファンダメンタル マトリックス (F) を計算しました。
今 E= K_T* F * K 。ここまでは順調ですね。
ここで、Essential Matrix(E) を SVD に渡し、分解値 (U、W、V) を使用して回転と平行移動を抽出します。
essentialMatrix = K.Transpose().Mul(fund).Mul(K);
CvInvoke.cvSVD(essentialMatrix, wMatrix, uMatrix, vMatrix, Emgu.CV.CvEnum.SVD_TYPE.CV_SVD_DEFAULT);
** 質問) この時点で、2 つの方法が提案されており、どちらが本当に正しい答えを出すのか、特に翻訳に関して混乱しています。
最初の方法では、ここにリンクの説明を入力します。著者は、R、T を次のように計算することを提案しています。
しかし、2 番目の方法 [ http://isit.u-clermont1.fr/~ab/Classes/DIKU-3DCV2/Handouts/Lecture16.pdf]では、著者は、以下に示すように +U 、 -U である T の別の式を提供しています。
openCv ライブラリを使用して C# .Net でこれを実装しています。どの変換式が正しいものか知っている人はいますか?