算上站在我们Kinect面前的人数

时间:2012-09-06 14:34:19

标签: opencv kinect

我们正在使用Kinect进行交互式安装,我们需要知道有多少人在我们的安装前慢慢站立/行走。

如果我们不在乎,我们最多可以有5个人。

为此,我们采用Kinect检测到的blob总体积,除以1人的近似体积。

count = Vtotal / Vperson;

最后,为了使计数平滑,我们计算2秒的平均计数。

countAvg = Vtotalavg / Vperson;

这适用于2-3人,但是当有更多时,斑点重叠,总体积似乎不再相关。

有人知道我们如何解决这个问题,并且有一个可靠的计数...要么使用相同的blob音量方法,要么更智能!?

2 个答案:

答案 0 :(得分:6)

天花板安装kinect。将它直接指向地板。获取原始深度数据并过滤远离某个阈值的任何像素,这个阈值往往只能捕获头部和肩部。 (尝试高于4英尺的所有内容。)在这些像素中,检查每组连续像素并获得该组的总像素数。如果组像素数小于最小阈值,请忽略它。您现在可以将每个组统计为一个人,但进一步细化有助于捕捉非常接近的人:将组像素数除以每人平均像素数并舍入到最接近的值。

有效。

答案 1 :(得分:2)

但你为什么那样做? Kinect为被跟踪的每个骨架提供了一个Skeleton id。简单地制作一个数组(大小为5)并将跟踪的骨架放在那里。要计算它们,你只需获得数组中的元素数量