我很高兴我有机会在一个基于手势的网站上工作。 我对此有一些启发:link
我访问了很多网站并用谷歌搜索过,维基百科和gitHub也没多大帮助。由于这些技术处于初期阶段,因此提供的信息不多。 我想我将不得不为这个项目使用一些js
我的问题是手势如何产生事件,我的JavaScript如何与我的网络摄像头互动?我是否必须使用某些API或算法?
我不是要求代码。我只是问机制,或者提供重要信息的一些链接。我认真地相信,如果能够提高这项技术的准确性,这项技术可以在不久的将来创造奇迹。
答案 0 :(得分:2)
要在网络应用中启用手势交互,您可以使用navigator.getUserMedia()从本地网络摄像头获取视频,定期放置视频帧数据into a canvas element,然后分析帧之间的更改。
有几个JavaScript手势库和演示可用(包括一个不错的slide controller)。对于面部/头部跟踪,您可以使用headtrackr.js等库:simpl.info/headtrackr处的示例。
答案 1 :(得分:2)
我现在正在玩那个,从我理解的那一刻起 最基本的技术是:
每一帧:
重复相同的操作,直到你有两个或更多的Deltas变量,并从控制点Delta(n-1)中减去控制点DeltaN,你将有一个向量
您现在可以测试矢量是正面还是负面,或测试值是否优于您选择的某个值
if positive on x and value > 5
并触发一个事件,然后听取它:
$(document).trigger('MyPlugin/MoveLeft', values)
$(document).on('MyPlugin/MoveLeft', doSomething)
通过缓存向量或添加向量可以大大提高精度,并且只有在向量值变为合理值时才触发事件。
您还可以在第一次减法时获得一个形状并尝试绘制“手”或“方框” 并听取形状坐标的变化,但请记住手势是3D,分析是2D,所以相同的形状可以在移动时改变。
这是a more precise explanation。希望我的解释有所帮助。