Я успешно реализовал плоскость отсечения пола, чтобы измерить расстояние от левой ноги до пола, что довольно точно. У меня проблема в том, что по мере того, как я удаляюсь от камеры (т.е. ось Z левой ноги увеличивается), расстояние до пола меняется (увеличивается).
Примечание. Ни пол, ни подставка для Kinect не наклонены.
Я протестировал его с Kinect 1 и получил тот же результат. Высота головы объекта (ось Y) также изменяется по мере того, как я удаляюсь или приближаюсь к камере. Неважно, наклонена камера или находится в пределах прямой видимости. значение D в уравнении FloorClipPlane показывает постоянное число во время теста.
A = bodyFrame.FloorClipPlane.X;
B = bodyFrame.FloorClipPlane.Y;
C = bodyFrame.FloorClipPlane.Z;
D = bodyFrame.FloorClipPlane.W;
distanceLeftFoot = A * leftFootPosX + B * leftFootPosY + C * leftFootPosZ + D;
Просто чтобы вы знали, у меня есть сопоставление координат между глубиной и цветом. Не уверен, что это как-то связано с проблемой.
code double divisor = Math.Sqrt(leftFootPosX * leftFootPosX + leftFootPosY * leftFootPosY + leftFootPosZ * leftFootPosZ); float test=Convert.ToSingle(divisor); distanceLeftFoot = (A * leftFootPosX + B * leftFootPosY + C * leftFootPosZ + D)/ test;
Я тоже забыл упомянуть об этом - person cicsosoft   schedule 05.11.2015