Kinect デプス マップの壁から (壁に押し付けられた) 指を離す方法はありますか? 問題を明確にするために、目標は壁に押し付けられた指をしきい値処理によって分離できる深度マップを取得することです。これは、Kinect が指と壁の深度の差を測定できる必要があることを意味します。壁。
使用されているツール:
- XBOX360用キネクト
- OpenCV 2.4
- Openni2
- マイクロソフト ビジュアル スタジオ 2010
あなたが提供するライブラリは、これを自動的に行いません。あなたが画像処理にどれほど精通しているかはわかりませんが、回答のために、あなたが精通していると仮定します。
単純にピクセルに「壁」または「指」のラベルを付けたいのか、それとも指が壁の距離しきい値内に入ったのかを知りたいのかどうかはわかりません。
Kinect が壁を見ているだけで指がないきれいなフレームがある場合は、そのフレームを使用して壁がどこにあるかを正確に見つけることができます。複数のフレームにわたって深度フレームを平均化することにより、シンプルな深度ベースの背景フレームを作成できます。その後のフレームで、有意な差 (たとえば、> 3 cm) がある場合は、指であると宣言できます。
もう少し高度な代替手段は、サーフェス法線を使用することです。各深度ピクセル (x,y,z) について、このピクセルと (x+1,y,z1)、およびこのピクセルと (x,y+1,z2) の間のベクトルの外積をとります。湾曲していない壁を見ている場合、サーフェスの法線は均一である必要があります。Kinect Fusion Videoでは、表面法線 (x、y、z) を (r、g、b) にマッピングし、その効果は非常に優れています。壁とは異なる表面法線を持つものはすべて、指として宣言できます。