4
由kinect傳感器返回的深度值對應於距離xy平面的真實世界z距離(以mm爲單位)。到目前爲止,我無法在最新的sdk中找到任何返回類似於x和y座標的東西。這是在sdk中提供的嗎?如果沒有,那麼計算x和y的好方法是什麼?如何從kinect深度數據確定「真實世界」x,y座標?
由kinect傳感器返回的深度值對應於距離xy平面的真實世界z距離(以mm爲單位)。到目前爲止,我無法在最新的sdk中找到任何返回類似於x和y座標的東西。這是在sdk中提供的嗎?如果沒有,那麼計算x和y的好方法是什麼?如何從kinect深度數據確定「真實世界」x,y座標?
您可以使用返回SkeletonPoint的KinectSensor.MapDepthToSkeletonPoint方法。示例代碼可以是
using (DepthImageFrame depthimageFrame = e.OpenDepthImageFrame())
{
if (depthimageFrame == null)
{
return;
}
pixelData = new short[depthimageFrame.PixelDataLength];
depthimageFrame.CopyPixelDataTo(pixelData);
for (int x = 0; x < depthimageFrame.Width; x++)
{
for (int y = 0; y < depthimageFrame.Height; y++)
{
SkeletonPoint p = sensor.MapDepthToSkeletonPoint(DepthImageFormat.Resolution640x480Fps30, x, y, pixelData[x + depthimageFrame.Width * y]);
}
}
}