在Kinect中检测多个body



我正在使用ofxKinect插件在开放框架中使用kinect,这非常棒而且非常有趣!

无论如何,我正在寻找一些指针或方向时,处理屏幕上的多个机构。我正在考虑在每个检测到的身体周围做一个矩形,当矩形相交时可能会发生一些事情,一个效果或任何东西。

所以我正在寻找的是一些想法或一些东西,可以指出我在使用kinect时检测多个身体的正确方向。

现在,基于我从kinect获得的深度图像,我遍遍每个像素并创建一堆带有填充的较小矩形,如果它们与另一个矩形组分开,则将它们分组在一个较大的矩形边界中。这是不理想的,因为它只处理像素值,并不是真正分离彼此的身体,并没有给我我正在寻找的结果。

所以任何想法都将非常感激!

如果你想使用xkinect,一个快速的解决方案是设置深度阈值,并假设身体和其他物体不会在深度范围内。这样就可以很容易地使用OpenCV的轮廓查找器来隔离物体的轮廓并获得边界矩形。如果两个矩形相交(ofRectangle已经算过了),触发你需要的反应。另外,如果效果还没有显示,不要忘记这样做一次,否则你将在两个主体的边界矩形相交时每秒触发多次效果。

你可以尝试一些更硬核的东西,使用xcv(不仅仅是xopencv)来挖掘HoG功能。这本身很慢,对于深度图来说并不理想,但希望你可以每隔几秒钟就运行一次,只是为了检测一个人和深度,然后继续跟踪那个运动。

就我个人而言,如果你想用Kinect跟踪人,我建议使用ofxOpenNI,因为它已经提供了场景分割功能,即使你不跟踪骨骼,你仍然可以获得有用的信息,比如每个身体的像素和它们的质量中心。我猜微软的KinectSDK有类似的功能,应该有一个oF插件,但它只适用于windows。

ofxKinect/libfreenect不提供任何人员检测功能,因此您需要自己滚动。

相关内容

  • 没有找到相关文章

最新更新