Kinect V2深度框架像素大小

时间:2017-07-19 07:30:14

标签: pixel depth-buffer kinect-v2

kinect v2提供深度帧,其分辨率为512 x 424像素,fov为70.6 x 60 degrees,导致每度平均约7 x 7像素。 [ionic build Android | error: No installed build tools found. Please install the Android build tools]。

但是我无法找到有关深度帧像素大小的任何信息,或者是否有任何一种方法可以根据给定的信息计算像素大小?

1 个答案:

答案 0 :(得分:3)

您是否在询问如何在深度数据中映射像素大小?

depth coordinate system与它在KINECT传感器上的原点和方向正交。 基本trigonometry告诉我们,直角三角形中相对边和相邻边之间的关系为Tan A = a/b,因此横向我们有tan(FOV/2) = (FrameWidth/2)/depth,因此FrameWidth = 2*depth*tan(35.3),所以{{{} 1}},类似于width of 1px = depth*2*tan(35.3)/512

KINECT field of view geometry

height of 1px = depth*2*tan(30)/414

对于每个深度像素,您可以通过简单的缩放来计算其宽度和高度:

const int FRAME_WIDTH = 512;
const int FRAME_HEIGHT = 424;
const float FOV_HORIZONTAL = 70.6 * PI / 180.0; // convert to radians
const float FOV_VERTICAL = 60.0 * PI / 180.0;   // convert to radians
const float HORIZONTAL_SCALING = 2 * std::tan(FOV_HORIZONTAL / 2.0) / (float)FRAME_WIDTH;
const float VERTICAL_SCALING = 2 * std::tan(FOV_VERTICAL / 2.0) / (float)FRAME_HEIGHT;