一种非接触式手势识别装置和识别方法与流程

文档序号:12461570阅读:来源:国知局

技术特征:

1.一种非接触式手势识别装置,其特征在于该装置由传感器单元、控制模块和被控单元组成,其中,所述传感器单元包含有复数个传感器,所述传感器为距离传感器,且所述距离传感器呈阵列式排列。

2.如权利要求1所述的非接触式手势识别装置,其特征在于所述传感器单元中复数排竖向排列的距离传感器,所述每排竖向排列的距离传感器之间的距离相等,相邻两排距离传感器之间距离为D,据此进行阀值的对比和判断。

3.如权利要求1所述的非接触式手势识别装置,其特征在于所述控制模块由微控制器和发送命令模块组成,微处理器激励距离传感器获取响应以后,读响应进行相关处理后得到手势命令,最后通过发送命令模块向外发送命令,由被控单元接收相应信标,做相应响应。

4.一种非接触式手势识别方法,其特征在于该方法包括:

101、设定一个触发阈值,该阈值是与距离大小有关的一个物理量;设定一个二级阈值,该阈值用于丢弃随机干扰;

102、微控制器对距离传感器的数据信号进行转换,并获取每个传感器的距离数值;

103、依次检测并将所有距离传感器距离信息,若获得信息满足触发阈值要求条件,则认为是正确触发信号,进入数字信号处理流程;

104、根据给定的触发阈值,使用阈值判断法初步筛选出有效数据,分别存放,记忆上一次该有效数据对应的数据值,将两次数据值相减然后与二级阈值进行对比,如果大于二次阀值,则认为本次数据无效,丢弃无效数据,等待新的一笔数据到来,直至确认满足二级阀值的有效数据;

105、得到有效数据后,将其存入队列长度为N的缓存器,然后分别求出队列数据的和,丢去一个或多个最大值和最小值求其平均再赋值给有效数据。这样就实现了原始数据的加工,此步可进一步屏蔽某些随机数据;

106、由用户设置一个距离阈值称为TH1,该阈值用于体现数据的位置特性;通过对阈值TH1的判断,并定义状态FLAG、GestureFlag、LeftCount、RightCount、GestureDetc,来对手的位置和方向进行精确的定位,以判断出左滑、右滑、左击和右击手势。

5.如权利要求4所述的非接触式手势识别方法,其特征在于所述步骤106中,以两个相邻传感器数据为X1和X2为例,且X1代表左边传感器数据,X2代表右边传感器数据;手势的判断步骤为:

1061、获取的新的数据组,分别存在X1和X2中;

1062、分别将X1和X2与阈值TH1进行比较,并将大于阈值TH1的X1或X2的值设置为新阈值TH1;

1063、重新将X1和X2与新阀值TH1进行对比,并据此检测FLAG标志位,判断手势。

6.如权利要求5所述的非接触式手势识别方法,其特征在于步骤1062中,比较X1和阈值TH1(阈值3)的大小,小于TH1则执行下一步,大于等于则将X1的值设置为TH1;

比较X2和阈值TH1的大小,小于阈值TH1则执行下一步,大于等于则将X2的阈值设置为TH1。

7.如权利要求6所述的非接触式手势识别方法,其特征在于该1063步骤中,判断是否X1小于阈值TH1的同时,X2也等于TH1;如果X1小于阈值TH1的同时X2等于TH1,那么再去检测是否FLAG标志位的值为RIGHT;如果FLAG的值为RIGHT,那么说明检测到了左滑手势,重置GestureFlag的值为LeftShift,并且设置GestureDetc为true,这说明正确检测到手势。并且在此处响应手势到来该做的动作,如发送控制命令,结束本次数据流刷新。

8.如权利要求7所述的非接触式手势识别方法,其特征在于该1063步骤中,重新判断是否X2小于阈值TH1的同时,X1也等于TH1;如果X2小于阈值TH1的同时X1等于TH1,则检测是否满足FLAG的值为LEFT,如果为真,则说明检测到右滑手势,执行相关命令,结束流程;如果FLAG的值为LEFT 则RightCount++,即对变量进行自加一次,否则将FLAG值置为RIGHT,结束本次数据流刷新。

9.如权利要求8所述的非接触式手势识别方法,其特征在于该1063步骤中,如果发现TH1大于X1并且TH1大于X2,如果为真则将LeftCount、RightCount的值清空,且把FLAG值设置为NONE,把GestureDetc值设置为FALSE;否则继续流程,判断GestureDetc是否为真,如果为true则将LeftCount、RightCount的值清空,且把FLAG值设置为NONE,把GestureDetc值设置为FALSE;否则继续判断是否满足LeftCount大于TH2,如果满足,则说明检测到左击手势,响应左击手势相关动作,然后结束本次数据刷新。

10.如权利要求9所述的非接触式手势识别方法,其特征在于继续判断是否满足RightCount大于TH2;如果为真则说明检测到右击手势,这里应该执行相关命令,然后结束本次刷新;将LeftCount、RightCount的值清空,且把FLAG值设置为NONE,把GestureDetc值设置为FALSE。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1