首页 文章

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

提问于
浏览
1

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

使用的工具:

  • Kinect for XBOX360

  • OpenCV 2.4

  • Openni2

  • Microsoft Visual Studios 2010

1 回答

  • 1

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

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

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

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

相关问题