Skip to content

pigcage/gesturejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

gesturejs

最近在准备考研,诈尸commit一波..

这份代码不是本人原创,好多年前的代码,一下子懒得翻源地址..

这是一个简易的手势识别,只能识别上下左右之类的简单手势,但实现的方法很省性能,也比较有意思, 研究了一下之后作了详细的注释分享给大家

大体的思路是:通过摄像头获取图像,放到canvas里面去,对比两帧之间的信息变化来判断手势

下面是具体步骤: 1、从camera里获取图像,放入canvas,通过一次遍历提取出所有颜色接近皮肤颜色的像素 2、同样处理下一帧。得到两个不同的帧后,遍历对比像素色值 3、产生变化的像素,记录并累计其坐标值,处以变化的像素总量。这就将每个帧的内容变成了一个质点 4、对边前后两个质点,超过某阈值时认为产生了手势 5、记录手势质点起点、终点,对比坐标信息,依此判断手势方向 6、调用RevealJS,控制ppt运动

当然,摄像头一定会引入噪音,这个程序并不进行低性能而作用不大的遍历中值滤波处理,而是直接过滤 1、程序记录每次对比得到的像素变化总量down.d 2、这个数据可能是两种情况,一是手势+高斯噪音,二是纯高斯噪音,前者会非常显著,后者则在小范围内波动 3、通过算法给予最近几帧的变化量最高权重,当这个变化量的加权和超过某阈值时认为产生了手势 4、从而过滤掉无手势帧

代码里也做了详细的注释,供参考~

=======================11.18 割~ 项目组的盆友可能记得我写的那个全棉时代的大坑,那东西我是不会发出来的。但是我可以告诉你们的是 我又把坑挖大了一点,现在那个小游戏支持手势操作了

以及最近用threeJS撸了个3D场景来给这份js做测试demo,老实说识别准确率实在比较一般,也就是玩玩ppt的水准了。月底再传上来。

另外可能有一点需要说明一下,由于识别是以平均质点为依据的,如果穿短袖就意味着手臂的信息也会被算进去(......),然后我们可以得出这个识别算法冬天比夏天好用的结论(......),当然前提是穿一件非肤色的长袖。

老实说。上下左右这种东西。用鼠标键盘。不好吗。为什么非要用手势。测试了半天好TM累。

About

转发一个简易的手势识别程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published