Kinect–How to Apply Smooths Frame Display Using TransformSmoothParameters






4.89/5 (2 votes)
How to Apply Smooths Frame Display Using TransformSmoothParameters
In my previous posts about Kinect, I 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 offer and now I’m going to talk about how to improve Kinect movement by applying TransformSmoothParameters
.
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.