//3次元位置取得 Microsoft.Kinect.CameraSpacePoint GetCenterPosition(OpenCvSharp.CPlusPlus.Point colorImagePoint, ushort[] depthBuffer, int imgW, int imgH) { Microsoft.Kinect.KinectSensor kinect = Microsoft.Kinect.KinectSensor.GetDefault(); Microsoft.Kinect.CameraSpacePoint[] bodyPosition = new Microsoft.Kinect.CameraSpacePoint[imgW * imgH]; kinect.CoordinateMapper.MapColorFrameToCameraSpace(depthBuffer, bodyPosition); Microsoft.Kinect.CameraSpacePoint centerPoint = bodyPosition[colorImagePoint.X + colorImagePoint.Y * imgW]; //Console.WriteLine(centerPoint.X.ToString()); return(centerPoint); }
public void MakeSaveData(_calibMode mode, Microsoft.Kinect.CameraSpacePoint data) { try { switch (mode) { case _calibMode.zero: this.saveData.zero = data; break; case _calibMode.x: this.saveData.x = data; break; case _calibMode.z: this.saveData.z = data; break; } } catch { Console.WriteLine("savedata"); } }
//3次元位置取得 Microsoft.Kinect.CameraSpacePoint GetCenterPosition(OpenCvSharp.CPlusPlus.Point colorImagePoint, ushort[] depthBuffer, int imgW,int imgH) { Microsoft.Kinect.KinectSensor kinect = Microsoft.Kinect.KinectSensor.GetDefault(); Microsoft.Kinect.CameraSpacePoint[] bodyPosition = new Microsoft.Kinect.CameraSpacePoint[imgW * imgH]; kinect.CoordinateMapper.MapColorFrameToCameraSpace(depthBuffer, bodyPosition); Microsoft.Kinect.CameraSpacePoint centerPoint = bodyPosition[colorImagePoint.X + colorImagePoint.Y * imgW]; //Console.WriteLine(centerPoint.X.ToString()); return centerPoint; }