65.9K
CodeProject is changing. Read more.
Home

Kinect–How to Apply Smooths Frame Display Using TransformSmoothParameters

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.89/5 (2 votes)

Jul 23, 2011

Ms-PL
viewsIcon

17628

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.

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.