使用DTW算法跟踪鼠标移动

时间:2015-05-21 20:12:26

标签: c# algorithm time-series

我尝试实现鼠标移动跟踪。

跟踪鼠标是否以圆圈方式移动使用DTW(动态时间扭曲)算法,我使用鼠标位置X,Y来跟踪移动。

如何使用DTW算法检测此运动是否为圆圈。

查找鼠标位置的代码 -

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern long SetCursorPos(int x, int y);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;

我如何才能做到这一点,任何人都可以帮我提供链接或代码

1 个答案:

答案 0 :(得分:1)

我建议使用一个可以使用的组件,它也可以作为NuGet包使用:

https://github.com/gmamaladze/globalmousekeyhook

此库允许您点击键盘和鼠标,即使应用程序处于非活动状态并在后台运行,也可以检测并记录其活动。

在页面上,您还可以找到代码示例。如果您有任何问题或困难,请发布Stackowerfow问题并使用mousekeyhook

标记

这将跟踪您的动作。并记录一个形状。

现在您需要检测您的形状是否为圆形:

为此,您可以使用此库:

http://www.aforgenet.com/aforge/articles/shape_checker/

P.S。我是该组件的作者。