0

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

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

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

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

因此,任何想法将不胜感激!

4

1 回答 1

1

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

你可以尝试一些更硬核的东西,并使用ofxCv(不仅仅是 ofxOpenCV)来利用HoG功能。这本身很慢,并且对于深度图并不理想,但希望您可以每隔几秒钟运行一次以检测人员和深度,然后继续跟踪该运动。

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

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

于 2013-05-20T16:48:08.120 回答