如何手动将坐标从kinect 2.0相机空间转换为kinect色彩空间? 如果我使用ICoordinateMapper :: MapCameraPointToColorSpace()都可以。
但我需要手工制作。我试试这段代码:
XMMATRIX mProj = XMMatrixPerspectiveFovLH(float(43. * MATH_PI / 180。),1920.f / 1080.f,1,1000。); XMVECTOR ColorSpace = XMVector3Transform(v,mProj);
float x = 0.5f *(XMVectorGetX(ColorSpace)+ 1)* 1920.f;
float y = 0.5f *( - XMVectorGetY(ColorSpace)+ 1)* 1080.f;
x和y与结果MapCameraPointToColorSpace()
不同更新: 如果投影坐标0,0,1和0,0,4坐标,我们得到不同的x值。而且,它不会与屏幕的中心重合。 对我来说唯一的解释是 - 中心坐标CameraSpace,与ColorCamera不一致。它可能与DepthCamera一致。我将x 3厘米添加到原始坐标,向红外摄像机的中心移动。结果更好,但仍然没有完全匹配。
相机kinekt 2.0之间的距离是多少?