【问题标题】:Kinect depth conversion from mm to pixels从毫米到像素的 Kinect 深度转换
【发布时间】:2016-03-08 16:54:20
【问题描述】:

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

谢谢!

【问题讨论】:

  • 对我来说听起来像同一个问题:stackoverflow.com/questions/11784888/…
  • 你使用的是kinect v1还是kinect v2?
  • 我猜它是 v1... 适用于 xbox 360...
  • 不完全相同...我会让它更容易...在 X 轴分辨率为 1920 像素的 380 毫米宽屏幕中,每毫米 5.05 像素...在 kinect(或一般一台相机)我该怎么做?我猜它类似于(视野)/(分辨率),并且与相机的距离有关......但我不确定,我无法在任何地方找到它......

标签: kinect pixel depth meter


【解决方案1】:

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

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

所以如果你有两个像素 P1 和 P2,具有深度值 分别等于D1和D2,可以进行如下操作:

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 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    相关资源
    最近更新 更多