Kinect深度从mm到像素的转换

时间:2016-03-02 16:07:00

标签: kinect pixel depth meter

有人知道从kinect for xbox360拍摄的图像中每毫米深度值对应多少像素? 我正在使用标准分辨率和设置...

谢谢!

1 个答案:

答案 0 :(得分:0)

1个像素对应于取决于该像素的深度值(即其灰度级)的毫秒数。

在深度图像中获取两个像素之间距离的最简单方法是在真实世界坐标中转换那些像素(在深度空间中表示)(即在骨架空间中) 1 。然后,您可以使用常见的euclidean distance公式计算这些点之间的距离。

所以如果你有两个像素P 1 和P 2 ,那么深度值 分别等于D 1 和D 2 ,您可以按如下方式进行:

DepthImagePoint dip1 = new DepthImagePoint();
dip1.X = P1.x;
dip1.Y = P1.y;
dip1.Depth = D1;
DepthImagePoint dip2 = new DepthImagePoint();
dip2.X = P2.x;
dip2.Y = P2.y;
dip2.Depth = D2;
SkeletonPoint sp1 = CoordinateMapper.MapDepthPointToSkeletonPoint(DepthImageFormat.Resolution640x480Fps30, dip1);
SkeletonPoint sp2 = CoordinateMapper.MapDepthPointToSkeletonPoint(DepthImageFormat.Resolution640x480Fps30, dip2);

double dist = euclideanDistance(sp1, sp2);

<小时/> 1 有关详细信息,请参阅Coordinate Spaces