我已經成功實現了地板夾平面來測量左腳到地面的距離,這是相當準確的。我遇到的問題是,當我離開相機時(即左腳Z軸增加),到地面的腳距改變(增加)。Kinect 2不一致的FloorClipPlane讀數
注意:地板本身沒有傾斜,也沒有Kinect的立場。
我用Kinect 1測試過,結果相同。當我離開或接近相機時,主體的頭部高度(Y軸)也會改變數值。相機傾斜或視線無關緊要。 FloorClipPlane方程中的D值在測試過程中顯示一個常數。
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;' 我忘了提及這個 – cicsosoft