CodeProject
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
.
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.
Shai Raiten is VS ALM MVP, currently working for Sela Group as a ALM senior consultant and trainer specializes in Microsoft technologies especially Team System and .NET technology. He is currently consulting in various enterprises in Israel, planning and analysis Load and performance problems using Team System, building Team System customizations and adjusts ALM processes for enterprises. Shai is known as one of the top Team System experts in Israel. He conducts lectures and workshops for developers\QA and enterprises who want to specialize in Team System.
My Blog: http://blogs.microsoft.co.il/blogs/shair/