我正在使用ofxKinect插件在开源框架中使用kinect,这很棒,也很有趣!
无论如何,当我在屏幕上处理多个物体时,我正在寻找一些指针或方向。我在考虑在每个探测到的身体周围做一个矩形,当矩形相交时,可能会发生一些事情,一个效果或任何东西。
因此,我正在寻找的是一些想法或东西,它们可以在使用kinect时为我指明检测多个物体的正确方向。
现在,基于我从kinect获得的深度图像,我遍历每个像素,创建一组带有填充的小矩形,如果它们与另一个矩形组分开,则将它们分组到一个较大的矩形边界中。这并不理想,因为它只处理像素值,并没有真正将主体与其他主体分开,也没有给出我想要的结果。
因此,任何想法都将非常感谢!
发布于 2013-05-21 00:48:08
如果你想使用ofxKinect,一个快速的解决方案是在深度上设置阈值,并假设bodies和其他对象都不在深度范围内。这将使得使用OpenCV的轮廓搜索器分离身体的轮廓并获得边界矩形变得容易。如果矩形相交(并且ofRectangle已经对您执行了相应的运算),则触发所需的反应。如果效果还没有显示,也不要忘了做一次,否则当两个物体的边界矩形相交时,你会每秒触发多次效果。
您可以尝试一些更核心的功能,并使用ofxCv(不仅仅是ofxOpenCV)来利用HoG功能。这本身就很慢,对于深度图来说也不是很理想,但希望你能每隔几秒钟就跑一次,只是为了检测一个人和深度,然后继续跟踪那个运动。
就我个人而言,如果你想用Kinect跟踪人,我建议使用ofxOpenNI,因为它已经提供了场景分割功能,即使你不跟踪骨骼,你仍然可以获得有用的信息,比如每个身体的像素,它们是重心。我猜微软的KinectSDK也有类似的功能,应该有一个oF插件,但它只适用于windows。
ofxKinect/libfreenect没有提供任何人检测功能,所以你需要推出自己的功能。
https://stackoverflow.com/questions/16645774
复制相似问题