あなたの助けを借りて、私はCvPositを使用してカメラのポーズを推定することができました(このリンクhttp://www.aforgenet.com/articles/posit/を使用)。私はMATLABコードを使用しています。
今、私は画像座標に3Dポイントを投影することによって、そのポーズを確認しようとしています。詳細は以下のとおりです。
キューブのイメージポイントとワールドポイントは次のとおりです。
World Points=[28 28 -28;-28 28 -28;28 -28 -28, 28 28 28] Image_Points=[-4 29;-180 86;-5 -102;76 137];
得られたポーズは次のとおりです。
Pose =[0.896 0.0101 0.4439 -13.9708;-0.3031 0.7127 0.6326 13.7039;-0.3100 -0.701 0.6416 164.5663;0 0 0 1];
私の例では、焦点距離として640を使用しました。このポーズから、3Dポイントを使用して投影し直して、2Dイメージポイントを取得します。理想的には、私は同じ点を取得する必要があります。しかし、私はそれを得ることができません。私はMATLABで次の方法を使用しています。
まあ言ってみれば
P = [28;28;28;28;1] % 4 X 1 matrix for a 3D point
P_Camera= Pose * P; Calibration Matrix (K)=[640 0 0 0;0 640 0 0;0 0 1 0;0 0 0 1]; Image Points= P_Camera*K;
取得
x = 15251
しy = 27447
ます。ここで何が間違っているのかわかりません。私を助けてください!!