手势控制鼠标进行操作的方法和源码

网上有不少用手势控制鼠标移动进行简单操作的视频

于是我也做了一个

实现方法简述:

1、肤色检测找到手势区域,(加上kalman滤波等会提高准确度,但也会影响实时性),

2、判断手势,只有两种,掌(只要有分叉就行),拳(没有分叉,所以把五指并拢就成)。

我识别这两种手势用的是很简单的策略:在手势区域取几条等间距的水平线,扫描之,如果黑白相间,则为掌,反之为拳。当然中间还有一些技巧的实施以提高鲁棒性。也可以用麻烦些的模板匹配,或凸性检测(见多指尖检测)等方法,但个人不提倡

3、确定鼠标在屏幕中的位置。这里有两种策略:第一种方法是直接把手势中心在图像上的位置按比例映射到屏幕,缺点是使得鼠标出现跳动,影响用户体验,加上滤波后会好很多。第一次写的时候用的就是这种方法,但效果不好,于是想了下面的方法。

如果把第一种方法叫做绝对位置确定法,第二种则是相对位置法。 大家知道,在某些笔记本的键盘中间有一个特殊的键,向不同的方向推得时候,鼠标会向相应方向移动。本程序本质上跟这个键是一样的。我定义了中心区域,在这里,鼠标静止,当手势出现在有效区域时,就会使鼠标移动,而且手势中心点距离图像中心越远,移动速度越快。当然,如果手离开了屏幕,鼠标也会静止。

 

 效果还不好,因为没加滤波。后期会进行滤波

视频演示:http://v.youku.com/v_show/id_XMjM0NzQ3OTg4.html  

代码下载:http://download.csdn.net/source/2957260

 

另有相关一文: 基于动态手势识别的酷狗音乐播放器控制

视频截图:

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值