Меня смущает API Kinect v2 CoordinateMapper . Я хочу получить значения RGB для каждой 3D-точки, также известной как CameraSpacePoint а> в Kinect v2.
Пожалуйста, смотрите ниже фрагмент кода:
var depthFrame = multiSourceFrame.DepthFrameReference.AcquireFrame();
var colorFrame = multiSourceFrame.ColorFrameReference.AcquireFrame();
var depthWidth = depthFrame.FrameDescription.Width;
var depthHeight = depthFrame.FrameDescription.Height;
ushort[] depthData = new ushort[depthWidth * depthHeight];
CameraSpacePoint[] camerapoints = new CameraSpacePoint[depthData.Length];
ColorSpacePoint[] colorpoints = new ColorSpacePoint[depthData.Length];
depthFrame.CopyFrameDataToArray(depthData);
this.coordinateMapper.MapDepthFrameToCameraSpace(depthData, camerapoints);
this.coordinateMapper.MapDepthFrameToColorSpace(depthData, colorpoints);
Точки 3D хранятся в переменной camerapoints
. Я хочу, чтобы значения RGB каждого camerapoints
. Другими словами, см. ниже код песудо:
RGBPoint[] rgbpoints = new RGBPoint[depthData.Length];
RGBPoint rgbpoint = rgbpoints[0];
int red = rgbpoint.r
int green = rgbpoint.g
int blue = rgbpoint.b
Как всегда, большое спасибо. Я очень ценю ваш добрый ответ.