0

Kinect 深度データの解釈に苦労しています。

Kinect から現実世界の距離を取得するために、次の式を使用しました。

  if(i<2047){
        depthToMeterTable[i] = i * -0.0030711016  + 3.3309495161; 
    }
    else{
        depthToMeterTable[i] = 0;
    }

この式は、距離推定器としてかなり優れたものを提供します。

ただし、90°の壁のコーナーの視覚化から奇妙な出力が得られます。

次の画像には、2 つの異なる情報があります。まず、紫色の線は私が見るべき壁を表しています。90°の角。赤い点は、キネクトから見た壁を表しています。ご覧のとおり、2 つの平面の角度が大きくなっています。

http://img843.imageshack.us/img843/4061/kinectbias.jpg

このバイアスをどこで修正できるか、またどのように修正できるか考えていますか?

読んでくれてありがとう、

Al_th

4

1 に答える 1

0

私はその変換式に精通していません (また、depthToMeterTable がどのように満たされるのか、そこでどの式が使用されているのかもわかりません)。

libfreenect にはそのための組み込み関数があります: freenect_camera_to_world

そのユーティリティ関数が追加される前に、Matt Fischer の変換関数(RawDepthToMeters と DepthToWorld) を使用しました。

HTH

于 2012-11-21T11:41:44.037 に答える