作为我项目的一部分,我必须使用kinect实现手部和手指跟踪。 从我到目前为止所读到的基本方法是:
这是对的吗? 如果可以,有人可以提供关于如何追踪轮廓的教程,因为我找不到任何好的。
或
还有其他方法可以追踪手和手指吗?
修改
经过一些工作后,我能够使用索贝尔边缘检测来检测图像中的手部边缘。但是减少了我的fps。有没有办法改善其性能? 然后我如何从检测到的边缘获取轮廓以执行手指检测?可以直接在边缘完成吗? 抱歉这么多问题,但我是所有这些新手答案 0 :(得分:0)
我在安装中成功实现的一种非常简单的方法是简单地查找与Kinect最近的像素,并假设这是指向手指。
我的算法是这样的: (1)将X和Y裁剪到特定的感兴趣区域,您不希望任何外来物体进入场景(家具,墙壁,地板等) (2)排除落在特定深度范围之外的所有像素(没有太近,没有任何超出您想要关注的跟踪区域,用户可以站在哪里) (3)选择深度图中当前最近(最亮)像素的任何一个,并将其设置为阈值。从该阈值向后(远离传感器)工作,直到某个距离范围(可能是几厘米)。 (4)检查生成的blob的大小。如果它太小,它可能只是噪音。如果它太大,它比手指或手大,所以它可能是整个身体(手不向传感器延伸),所以忽略它。 (5)假设blob通过了上述所有内容,请跟踪它。
答案 1 :(得分:0)
Candescent NUI是一个.NET / KinectSDK项目,可以进行手指跟踪“安静”。我不是.NET专家,但我可能会看一下因为我找不到C / C ++中的任何工作,如果你发现了什么,请告诉我。顺便说一下,还有一个(闭源)英特尔项目,它看起来不仅很有前途,但它仅适用于Creative摄像机,因为市场营销原因