【问题标题】:How to transfer depth pixel to camera space using kinect sdk v2如何使用 kinect sdk v2 将深度像素传输到相机空间
【发布时间】:2015-03-23 07:40:38
【问题描述】:

我正在使用 Kinect v2 和 Kinect SDK v2。

我有几个关于坐标映射的问题:

  1. 如何将相机空间点(3d坐标系中的点)转移到具有深度值的深度空间?

    当前的 MapCameraPointToDepthSpace 方法只能返回深度空间坐标。

    但是没有深度值,这种方法是没用的。

    有人知道如何获取深度值吗?

  2. 如何获得彩色相机的内在属性?

    只有一个 GetDepthCameraIntrinsics 方法来获取深度相机内在函数。

    但是彩色相机呢?

  3. 如何使用深度相机内在函数?

    似乎 Kinect 2 考虑了径向失真。

    但是如何使用这些内在函数来进行深度像素和 3d 点之间的转换呢?

    有没有示例代码可以做到这一点?

【问题讨论】:

    标签: kinect kinect-sdk


    【解决方案1】:

    关于 1:重新映射的世界坐标的深度值与原始世界坐标的 Z 值相同。阅读深度缓冲区和世界坐标空间的描述:两者中的这个值只是从点到 Kinect 平面的距离,以米为单位。现在,如果您想在重映射坐标后面的深度帧上看到对象的深度值,则必须读取该位置的深度图像缓冲区。

    关于 3:当您必须手动构建 CoordinateMapper 对象时(即当您没有可用的 Kinect 时),您使用相机的内在函数。当您获得与 Kinect 关联的 CoordinateMapper(使用 Kinect 对象的 CoordinateMapper 属性)时,它已经包含该 Kinect 的内在函数......这就是为什么您有一个 GetDepthCameraIntrinsics 方法返回该特定 Kinect 的内在函数(它们可能因设备而异) .

    【讨论】:

      【解决方案2】:

      关于 2: 现在有办法获得彩色相机的内在属性。您必须通过相机校准来评估它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-15
        • 1970-01-01
        • 1970-01-01
        • 2011-12-03
        • 1970-01-01
        • 1970-01-01
        • 2014-11-05
        相关资源
        最近更新 更多