0

我正在开发一个项目,以使用由 kinect 使用深度图像跟踪的指尖移动鼠标光标。我一直在进行跟踪,但问题在于以平滑的方式移动鼠标。在我的程序中,当我移动鼠标时,它不会以平滑的方式移动,而是会从一个像素跳到另一个像素。我的问题是,有没有办法使用骨骼跟踪的平滑参数之类的东西来平滑光标的移动?

4

2 回答 2

0

你可以使用一些东西。

您可以使用库 Coding4Fun.Kinect.Wpf 中包含的方法;称为scaleTo()

var scaledHandRight = ElgatoElegido.Joints[JointType.HandRight].ScaleTo(1366, 768, 0.5f, 0.4f); <

并帮助平滑参数骨架识别。

        var parameters = new TransformSmoothParameters
        {
            Smoothing = 0.3f,
            Correction = 0.0f,
            Prediction = 0.0f,
            JitterRadius = 1.0f,
            MaxDeviationRadius = 0.5f
        };
        newSensor.SkeletonStream.Enable(parameters);

<

于 2012-08-10T17:55:16.177 回答
0

我认为问题在于您仅在 kinect 深度事件触发时才移动鼠标(当您获得有关人手指的新信息时)。

Windows 中没有任何功能,但是,您可以创建一个。尝试使用被跟踪手指的 dy/dx 实现 P(简单)、PD(稍微难一点)或 PID(再难一点)控制器。这样,即使在 kinect 的深度事件之间,鼠标也会以一定的速度移动,并且应该看起来更平滑地移动。

于 2012-06-04T19:18:25.797 回答