如何通过传感器检测这种特定的运动手势?

时间:2013-09-15 11:20:54

标签: java android accelerometer android-sensors gesture-recognition

我正在开发一个Android项目。它的目标是检测设备的预定义移动手势。如果设备在轴(X,Y或Z)上旋转45度然后旋转回到第一个位置(第一个和第二个位置不准确,我的意思是它旋转了50度而不是45度,不是重要!!!)然后手势发生了,应用程序应该检测到它。

我尝试使用设备的Accelerometer和磁传感器来持续监控设备的方向并检测手势,但结果是不可接受的(explained here)。请问任何起点或想法?

1 个答案:

答案 0 :(得分:10)

似乎没有人会提供具体而有价值的答案。所以让我试着这样做。

首先,即使是一些原始而直接的方法也可以发现您不需要处理来自传感器的所有数据的事实。此外人类并不那么快,因此不需要每秒进行10000个值来识别任何特定的移动。

enter image description here

您实际需要的只是确定关键点并做出决定。听起来像是tanget吗?

enter image description here

我实际建议的是使用普通鼠标和可用的手势识别框架来测试您的解决方案。因为实际的想法几乎是一样的。所以请检查:

enter image description here

这样可以更容易地制定出适当的解决方案。

<强>更新

让我们想象一下,我拿着手机,我需要逆时针旋转90度,然后顺时针旋转180度。我希望你不要指望我在空中做一些复杂的3D形状(它会破坏可用性,坦率地说我不想丢失我的手机),所以有可能说我们可以追踪或者我们可以很容易模拟它。

enter image description here

请参阅我的other answer,以便查看类似问题的简单但有效的解决方案:

enter image description here