Kinect–How to Apply Smooths Frame Display Using TransformSmoothParameters
In my previous posts about Kinect I’ve talked about getting started with Kinect SDK from Kinect .NET SDK–Getting Started , Kinect – Getting Started – Control Camera Angle and Kinect – Getting Started – Become The Incredible Hulk
Kinect SDK has a lot to over and now I’m going to talk about how to improve Kinect movement by applying TransformSmoothParameters.
Channel 9 Video
The Kinect Nui SDK allow you to apply TransformSmooth just by calling the SkeletonEngine and set it to true:
_kinectNui.SkeletonEngine.TransformSmooth = true;
But this is not enough because you need to define how smooth it’s doing to be, for that we going to use the TransformSmoothParameters
namespace Microsoft.Research.Kinect.Nui
{ [StructLayout(LayoutKind.Sequential, Pack = 8, Size = 24)] public struct TransformSmoothParameters { public float Smoothing { get; set; } public float Correction { get; set; } public float Prediction { get; set; } public float JitterRadius { get; set; } public float MaxDeviationRadius { get; set; } }
}
Here is an example:
var parameters = new TransformSmoothParameters
{ Smoothing = 1.0f, Correction = 0.1f, Prediction = 0.1f, JitterRadius = 0.05f, MaxDeviationRadius = 0.05f
};
_kinectNui.SkeletonEngine.SmoothParameters = parameters;
Applying TransformSmoothParameters parameters will improve Kinect movement, you will be able to see the pointer isn’t jumping from place to place.
CodeProject