//修正值(Correction)属性,接受一个从0-1的浮点型。值越小,修正越多。
//抖动半径(JitterRadius)属性,设置修正的半径,如果关节点“抖动”超过了设置的这个半径,将会被纠正到这个半径之内。该属性为浮点型,单位为米。
//最大偏离半径(MaxDeviationRadius)属性,用来和抖动半径一起来设置抖动半径的最大边界。任何超过这一半径的点都不会认为是抖动产生的,而被认定为是一个新的点。该属性为浮点型,单位为米。
//预测帧大小(Prediction)属性,返回用来进行平滑需要的骨骼帧的数目。
//平滑值(Smoothing)属性,设置处理骨骼数据帧时的平滑量,接受一个0-1的浮点值,值越大,平滑的越多。0表示不进行平滑。
//抖动半径(JitterRadius)属性,设置修正的半径,如果关节点“抖动”超过了设置的这个半径,将会被纠正到这个半径之内。该属性为浮点型,单位为米。
//最大偏离半径(MaxDeviationRadius)属性,用来和抖动半径一起来设置抖动半径的最大边界。任何超过这一半径的点都不会认为是抖动产生的,而被认定为是一个新的点。该属性为浮点型,单位为米。
//预测帧大小(Prediction)属性,返回用来进行平滑需要的骨骼帧的数目。
//平滑值(Smoothing)属性,设置处理骨骼数据帧时的平滑量,接受一个0-1的浮点值,值越大,平滑的越多。0表示不进行平滑。
//对骨骼关节点进行平滑处理会产生性能开销。平滑处理的越多,性能消耗越大。设置平滑参数没有经验可以遵循。需要不断的测试和调试已达到最好的性能和效果。在程序运行的不同阶段,可能需要设置不同的平滑参数。
// smoothing parameters for the joints:
var jointPositionSmoothParameters = new TransformSmoothParameters
{
Smoothing = 0.25f,
Correction = 0.25f,
Prediction = 0.75f,
JitterRadius = 0.1f,
MaxDeviationRadius = 0.04f
};
// smoothing parameters for the bone orientations:
var boneOrientationSmoothparameters = new TransformSmoothParameters
{
Smoothing = 0.5f,
Correction = 0.8f,
Prediction = 0.75f,
JitterRadius = 0.1f,
MaxDeviationRadius = 0.1f
};// Some smoothing with little latency (defaults).
// Only filters out small jitters.
// Good for gesture recognition.
const NUI_TRANSFORM_SMOOTH_PARAMETERS DefaultParams =
{0.5f, 0.5f, 0.5f, 0.05f, 0.04f};
// Smoothed with some latency.
// Filters out medium jitters.
// Good for a menu system that needs to be smooth but
// doesn't need the reduced latency as much as gesture recognition does.
const NUI_TRANSFORM_SMOOTH_PARAMETERS SomewhatLatentParams =
{0.5f, 0.1f, 0.5f, 0.1f, 0.1f};
// Very smooth, but with a lot of latency.
// Filters out large jitters.
// Good for situations where smooth data is absolutely required
// and latency is not an issue.
const NUI_TRANSFORM_SMOOTH_PARAMETERS VerySmoothParams =
{0.7f, 0.3f, 1.0f, 1.0f, 1.0f};
本文探讨了使用Kinect进行骨骼关节点平滑处理时的性能与效果平衡问题。由于平滑处理会带来性能开销,因此需要通过不断测试和调试来寻找最佳平滑参数。在不同程序阶段,可能需要调整参数以实现理想的性能表现。
2937

被折叠的 条评论
为什么被折叠?



