0

修正されたステレオ画像から抽出された、一致する 2D 特徴のペアがあります。OpenCV の cvPerspectiveTransform 関数を使用して、それらの機能を 3D で再構築しようとしました。結果は、現実世界の実際のオブジェクトの寸法と一致しません。Matlab キャリブレーション ツールボックスには、2D ステレオ機能を 3D ポイント クラウドに変換する機能があることに気付きました。それにもかかわらず、特徴は元の画像から持ち上げられています。

平行化された画像で作業したい場合、2D 特徴位置と視差情報に基づいて 3D 位置を再構築することは可能ですか?

4

1 に答える 1

3

焦点距離 (f) とベースライン幅 (b、両方のカメラの投影軸の距離)、および視差 (d)が平行化されたステレオ イメージ ペアでわかっている場合、次の式で距離 (Z) を計算できます。次の式:

Z = f*(b/d);

これは、次の式から得られます。

x_l = f*(X/Z);  // projecting a 3D point onto the left image
x_r = f*((X+b)/Z);  // projecting the same 3D point onto the right image
d = x_r - x_l = f * (b/Z); // calculating the disparity

の最後の方程式を解くと、Z上記の式が得られます。

于 2012-11-21T08:11:02.007 に答える