Kinect for XBOX深度范围限制基于触摸的传感

时间:2013-11-02 19:26:20

标签: opencv kinect openni

有什么方法可以将手指(墙上的按压)从Kinect Depth Map中的墙上分开? 为了澄清这个问题,目标是获得一个深度图,允许我通过阈值分离按压在墙上的手指,这意味着Kinect需要能够测量手指和手指之间的深度差异。壁。

正在使用的工具:

  • Kinect for XBOX360
  • OpenCV 2.4
  • Openni2
  • Microsoft Visual Studios 2010

1 个答案:

答案 0 :(得分:1)

您提供的库不会自动执行此操作。我不确定你对图像处理有多精明,但为了答案,我会假设你是。

我不确定你是想简单地将像素标记为“墙”还是“手指”,或者如果你想知道手指何时进入墙壁的某个距离阈值。

如果你有一个干净的框架,Kinect只是看着墙壁而没有手指,那么你可以使用那个框架找到墙壁的确切位置。您可以通过在几帧上平均深度帧来创建简单的基于深度的背景帧。然后对于后续帧,如果存在任何显着差异(例如,> 3 cm),则可以声明该手指。

稍微更高级的替代方法是使用曲面法线。对于每个深度像素(x,y,z),取该像素与(x + 1,y,z1)之间的矢量与该像素和(x,y + 1,z2)的叉积。如果您正在观察非弯曲的墙壁,那么表面法线应该是均匀的。在Kinect Fusion Video中,它们将曲面法线(x,y,z)映射到(r,g,b),效果非常好。任何表面法线与墙壁不同的东西都可以声明为手指。