作者:姜漂亮真可爱w0 | 来源:互联网 | 2023-07-11 15:34
网上有不少用手势控制鼠标移动进行简单操作的视频于是我也做了一个实现方法简述:1、肤色检测找到手势区域,(加上kalman滤波等会提高准确度,但也会影响实时性),2、判断手势,只有两种,掌(只要有分叉就
网上有不少用手势控制鼠标移动进行简单操作的视频
于是我也做了一个
实现方法简述:
1、肤色检测找到手势区域,(加上kalman滤波等会提高准确度,但也会影响实时性),
2、判断手势,只有两种,掌(只要有分叉就行),拳(没有分叉,所以把五指并拢就成)。
我识别这两种手势用的是很简单的策略:在手势区域取几条等间距的水平线,扫描之,如果黑白相间,则为掌,反之为拳。当然中间还有一些技巧的实施以提高鲁棒性。也可以用麻烦些的模板匹配,或凸性检测(见多指尖检测)等方法,但个人不提倡
3、确定鼠标在屏幕中的位置。这里有两种策略:第一种方法是直接把手势中心在图像上的位置按比例映射到屏幕,缺点是使得鼠标出现跳动,影响用户体验,加上滤波后会好很多。第一次写的时候用的就是这种方法,但效果不好,于是想了下面的方法。
如果把第一种方法叫做绝对位置确定法,第二种则是相对位置法。 大家知道,在某些笔记本的键盘中间有一个特殊的键,向不同的方向推得时候,鼠标会向相应方向移动。本程序本质上跟这个键是一样的。我定义了中心区域,在这里,鼠标静止,当手势出现在有效区域时,就会使鼠标移动,而且手势中心点距离图像中心越远,移动速度越快。当然,如果手离开了屏幕,鼠标也会静止。
效果还不好,因为没加滤波。后期会进行滤波
视频演示:http://v.youku.com/v_show/id_XMjM0NzQ3OTg4.html
代码下载:http://download.csdn.net/source/2957260
另有相关一文: 基于动态手势识别的酷狗音乐播放器控制
视频截图: