Conversión de métodos Kinect de Beta 2 a la versión 1
Así que he convertido elgetDisplayPosition
de la versión beta del SDK de Kinect a la versión completa. Esto es lo que tengo ahora
<code> private Point getDisplayPosition(Joint joint) { float depthX, depthY; nui.SkeletonEngine.SkeletonToDepthImage(joint.Position, out depthX, out depthY); depthX = Math.Max(0, Math.Min(depthX * 320, 320)); //convert to 320, 240 space depthY = Math.Max(0, Math.Min(depthY * 240, 240)); //convert to 320, 240 space int colorX, colorY; ImageViewArea iv = new ImageViewArea(); // only ImageResolution.Resolution640x480 is supported at this point nui.NuiCamera.GetColorPixelCoordinatesFromDepthPixel(ImageResolution.Resolution640x480, iv, (int)depthX, (int)depthY, (short)0, out colorX, out colorY); // map back to skeleton.Width & skeleton.Height return new Point((int)(skeleton.Width * colorX / 640.0), (int)(skeleton.Height * colorY / 480)); } </code>
<code>private Point getDisplayPosition(Joint joint) { float depthX, depthY; KinectSensor sensor = kinectSensorChooser1.Kinect; DepthImageFormat depth = DepthImageFormat.Resolution320x240Fps30; depthX = 320; depthY = 240; sensor.MapSkeletonPointToDepth(joint.Position, depth); depthX = Math.Max(0, Math.Min(depthX * 320, 320)); depthY = Math.Max(0, Math.Min(depthY * 240, 240)); int colorX, colorY; colorX = 320; colorY = 240; return new Point((int)(skeleton.Width * colorX / 640.0), (int)(skeleton.Height * colorY / 480)); } </code>
Básicamente, quiero saber si mi versión hará lo mismo que la versión original y, de no ser así, cómo solucionarlo.