1

私は燃えがらと kinect v2 アプリに取り組んでおり、現在、カラー ポイントを深度ポイントにマッピングすることに固執しています。カラーフレームで特定の色の特定のポイントを検索したので、カラーフレームポイントxとyがあります。

これから深度を取得したいのですが、もちろん、深度フレームは解像度と視点が異なるため、単にインデックスを作成することはできません。

カラーポイントから深度ポイント、さらにはカメラポイントまでのマッパーが見つかりませんでした。自分で測定する以外に、これを行う簡単な方法はありますか?

私の問題はこれに似ています: Kinect を使用して個別のオブジェクトから現実世界の座標 (x、y、z) を取得する方法ですが、実際の現実世界の座標は必要ありません。ただし、そこにある答えは、私が必要とすることを完全に説明していません。

4

2 に答える 2

2

You have to use the CoordinateMapperClass. For your case:
Use the function

 public void MapColorFrameToDepthSpace (
         Array<UInt16>[] depthFrameData,
         out Array<DepthSpacePoint>[] depthSpacePoints
)
于 2015-12-11T10:20:03.183 に答える
1

kinect センサーの CoordinateMapper を使用する必要があります。マッピングは MapColorFrameToDepthFrame またはスペースに関連しています。この機能は kinect v2 SDK で利用できます。

この手順の後、3 つの情報 (Xview、Yview、Zworld) Yworld と Xworld が得られます。これらの式を見つけることができます。

Yworld =  Zworld * Yview / focal_length 
Xworld = Zworld  * Xview / focal_length

これで、画像ポイントのワールド座標がわかりました

2点間の距離を簡単に測定できます。

Distance_of_p1_p2(mm) = Sqrt ( Square(p2.Xworld - p1.Xworld) +  Square(p2.Yworld - p1.Yworld) + Square(p2.Zworld - p1.Zworld)) 
于 2016-02-26T13:47:34.100 に答える