I'm developing a software to move the mouse based on certain coordinates which i get from a depth image from kinect. but I have 30 frames/second(images/second) and those coordinates changes with every frame so the mouse keeps moving. My question is,Is there a way to smooth the movement of the mouse ?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Yes you can start tracking with some parameters that allows you to make move smoother.
Below is an example code:
var parameters = new TransformSmoothParameters
{
Smoothing = 0.2f,
Correction = 0.0f,
Prediction = 0.0f,
JitterRadius = 1.0f,
MaxDeviationRadius = 0.5f
};
this._sensor.SkeletonStream.Enable(parameters);
You can change Smoothing
, Correction
, Prediction
, JitterRadius
, and MaxDeviationRadius
to whatever numbers you want.
回答2:
Since you wanted to know about "mapping depth coordinates to skeleton points", you can use the DepthImageFrame
's MapToSkeletonPoint()
which takes the X and Y values of the depth data and then create a SkeletonPoint
. Example:
SkeletonPoint point = depthFrame.MapToSkeletonPoint(x, y);
Hope this helps!