[go: up one dir, main page]

CN104156058A - 生成控制指令的方法和系统 - Google Patents

生成控制指令的方法和系统 Download PDF

Info

Publication number
CN104156058A
CN104156058A CN201310177878.8A CN201310177878A CN104156058A CN 104156058 A CN104156058 A CN 104156058A CN 201310177878 A CN201310177878 A CN 201310177878A CN 104156058 A CN104156058 A CN 104156058A
Authority
CN
China
Prior art keywords
steering order
frame
predetermined amplitude
identification
generates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310177878.8A
Other languages
English (en)
Other versions
CN104156058B (zh
Inventor
陈志列
张宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Evoc Intelligent Technology Co ltd
Yanxiang Smart Iot Technology Co ltd
Original Assignee
BEIJING EVOC INTELLIGENT TECHNOLOGY Co Ltd
EVOC Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING EVOC INTELLIGENT TECHNOLOGY Co Ltd, EVOC Intelligent Technology Co Ltd filed Critical BEIJING EVOC INTELLIGENT TECHNOLOGY Co Ltd
Priority to CN201310177878.8A priority Critical patent/CN104156058B/zh
Publication of CN104156058A publication Critical patent/CN104156058A/zh
Application granted granted Critical
Publication of CN104156058B publication Critical patent/CN104156058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及一种生成控制指令的方法和系统。所述方法包括:采集用户的体态数据帧;过滤所述采集的体态数据帧;识别过滤后的体态数据帧,生成相应的控制指令。上述生成控制指令的方法和系统,通过采集用户的体态数据帧,并识别过滤后的体态数据帧,生成相应的控制指令,不需用户频繁更换硬件设备,降低了成本,且实现了相应的控制。

Description

生成控制指令的方法和系统
技术领域
本发明涉及人机交互技术领域,特别是涉及一种生成控制指令的方法和系统。
背景技术
人机交互系统通常由交互设备和被控装置组成,通过交互设备生成控制指令,再通过有线或无线的方式将控制指令发送到被控装置。传统的交互设备,如鼠标、触摸屏或键盘等,在交互界面上用户通过这些交互设备执行点击或移动目标对象或移动光标等操作。以鼠标为例,当鼠标被按下按键则产生相应的控制指令,然后将相应的控制指令发送到被控装置。
然而,在使用传统的交互设备进行交互时,需要接触交互设备,如鼠标,需要经常按下鼠标上的机械按钮,因频繁按压,鼠标的使用寿命缩短,需要较为频繁的更换鼠标,增加了成本。
发明内容
基于此,有必要针对现有的交互设备需频繁更换硬件设备而造成成本增加的问题,提供一种能降低成本的生成控制指令的方法。
一种生成控制指令的方法,包括:
采集用户的体态数据帧;
过滤所述采集的体态数据帧;
识别过滤后的体态数据帧,生成相应的控制指令。
在其中一个实施例中,所述过滤所述采集的体态数据帧的步骤包括:
获取当前显示器的水平分辨率和垂直分辨率,根据所述水平分辨率和垂直分辨率得出宽高比;
计算用户的臂展长度;
根据所述宽高比和用户的臂展长度计算有效区域的长和宽,根据所述长和宽以用户中心点为原点确定有效区域;
过滤位于所述有效区域外的体态数据帧。
在其中一个实施例中,所述识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
获取相邻体态数据帧之间的时间差和位移,得到两体态数据帧之间的位移速度;
当所述位移速度大于第一速度阈值时,第一速度阈值为实际调试过程中的经验值,生成所述两个体态数据帧之间光标按照投影比例快速移动的控制指令;
当连续预定组位移速度小于等于第二速度阈值时,第二速度阈值为实际调试过程中的经验值,预生成光标的位移控制进入微动移动状态的控制指令,获取预设时间内所有相邻两个体态数据帧的位移速度,计算所有位移速度中除去最大位移速度和最小位置速度后的剩余位移速度的平均值,当所述平均值小于等于第二速度阈值时,生成对光标进行微动移动的控制指令,所述微动移动的控制指令中包含移动方向和预设时间内移动的像素点数。
在其中一个实施例中,所述识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令;
或者,以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴负方向移动第一预定幅值,生成表示按下鼠标左键的控制指令,识别出手向z轴正方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令。
在其中一个实施例中,所述识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令,包括:
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值大于零,斜率阈值大于零;
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率小于负的斜率阈值,生成表示一次单击鼠标左键的控制指令;
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于负的斜率阈值,且Hzn小于负的第二预定幅值,生成表示一次单击鼠标右键的控制指令。
一种生成控制指令的系统,包括:
采集模块,用于采集用户的体态数据帧;
过滤模块,用于过滤所述采集的体态数据帧;
识别模块,用于识别过滤后的体态数据帧,生成相应的控制指令。
在其中一个实施例中,所述过滤模块包括:
获取单元,用于获取当前显示器的水平分辨率和垂直分辨率,根据所述水平分辨率和垂直分辨率得出宽高比;
计算单元,用于计算用户的臂展长度;
区域确定单元,用于根据所述宽高比和用户的臂展长度计算有效区域的长和宽,根据所述长和宽以用户中心点为原点确定有效区域;
过滤单元,用于过滤位于所述有效区域外的体态数据帧。
在其中一个实施例中,所述识别模块还用于获取相邻体态数据帧之间的时间差和位移,得到两体态数据帧之间的位移速度;
以及当所述位移速度大于第一速度阈值时,生成所述两个体态数据帧之间光标按照投影比例快速移动的控制指令;
以及当连续预定组位移速度小于等于第二速度阈值时,预生成光标的位移控制进入微动移动状态的控制指令,获取预设时间内所有相邻两个体态数据帧的位移速度,计算所有位移速度中除去最大位移速度和最小位置速度后的剩余位移速度的平均值,当所述平均值小于等于第二速度阈值时,生成对光标进行微动移动的控制指令,所述微动移动的控制指令中包含移动方向和预设时间内移动的像素点数。
在其中一个实施例中,所述识别模块还用于以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令;
或者,以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴负方向移动第一预定幅值,生成表示按下鼠标左键的控制指令,识别出手向z轴正方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令。
在其中一个实施例中,所述识别模块还用于以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令,
以及识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值大于零,斜率阈值大于零;
以及识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率小于负的斜率阈值,生成表示一次单击鼠标左键的控制指令;
以及识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于负的斜率阈值,且Hzn小于负的第二预定幅值,生成表示一次单击鼠标右键的控制指令。
上述生成控制指令的方法和系统,通过采集用户的体态数据帧,并识别过滤后的体态数据帧,生成相应的控制指令,不需用户频繁更换硬件设备,降低了成本,且实现了相应的控制。
附图说明
图1为一个实施例中生成控制指令的方法流程图;
图2为体感设备与计算机构成的系统结构示意图;
图3为过滤采集的体态数据帧的流程图;
图4为以用户中心点为原点建立的三维坐标系xyz,用户位于坐标系中的示意图;
图5为一个实施例中该识别过滤后的体态数据帧,生成相应的控制指令的流程图;
图6为模拟鼠标左右键的体态数据帧的z轴幅值与时间的关系示意图;
图7为一个实施例中生成控制指令的系统的结构框图;
图8为图7中过滤模块的内部结构框图。
具体实施方式
下面结合具体的实施例及附图对生成控制指令的方法和系统的技术方案进行详细的描述,以使其更加清楚。
如图1所示,为一个实施例中生成控制指令的方法的流程图。该生成控制指令的方法被应用于体感设备和计算机构成的系统中。该生成控制指令的方法,包括:
步骤S102,采集用户的体态数据帧。
具体的,体感设备的采集装置,如摄像头,形成一定的采集区域,当用户进入采集区域时,采集装置采集用户的体态数据帧。如图2所示,为体感设备与计算机构成的系统结构示意图,图2中体感设备的采集装置22与计算机24相连,采集装置22形成的采集区域S,用户20进入采集区域S内时,采集装置22采集用户的体态数据帧,并将采集的体态数据帧发送给计算机24。
该体态数据帧包括三维坐标(坐标x、坐标y、坐标z)、帧序号n,时间轴标签t等。
步骤S104,过滤该采集的体态数据帧。
步骤S106,识别过滤后的体态数据帧,生成相应的控制指令。
上述生成控制指令的方法,通过采集用户的体态数据帧,并识别过滤后的体态数据帧,生成相应的控制指令,不需用户频繁更换硬件设备,降低了成本,且实现了相应的控制,且操作简便。
进一步的,在一个实施例中,如图3所示,为过滤采集的体态数据帧的流程图。本实施例中,以采集手掌的体态数据为例进行说明,该过滤采集的体态数据帧,包括:
步骤S302,获取当前显示器的水平分辨率和垂直分辨率,根据该水平分辨率和垂直分辨率得出宽高比。
具体的,当前显示器的水平分辨率为Wwidth,垂直分辨率为Hhigh,宽高比a=Wwidth/Hhigh。
步骤S304,计算用户的臂展长度。
如图4所示,为以用户中心点为原点建立的三维坐标系xyz,用户位于坐标系中,该用户由多个点组成,用户中心点为C点。以右手臂为例,臂展长度h的计算公式如下:
h = B B ′ + B ′ H = ( B x - B ′ x ) 2 + ( B y - B ′ y ) 2 + ( B ′ x - H x ) 2 + ( B ′ y - H y ) 2
其中,手臂由三个点B、B'和H组成,B为臂肩、H为手掌、B'为肘点,且该三点在xy平面内。B的坐标为(Bx,By),B'的坐标为(B'x,B'y),H的坐标为(Hx,Hy)。同样可求取左手臂的臂展长度。
步骤S306,根据该宽高比和用户的臂展长度计算有效区域的长和宽,根据该长和宽以用户中心点为原点确定有效区域。
具体的,手掌H的有效区域CC1C2C3。有效区域的长CC3,宽CC1的计算公式如下:
C C 3 = h * a 1 1 + a 2 , C C 1 = C C 3 / a ,
其中,h为臂展长度,a为当前显示器的宽高比。
步骤S308,过滤位于该有效区域外的体态数据帧。
具体的,对采集的体态数据帧从帧序号0到n查找,若手掌Hxy在有效区域CC1C2C3中,则该数据有效,否则表示该手掌代表的鼠标移出了屏幕界面。
通过确定有效区域对体态数据帧进行过滤,过滤掉表示移出屏幕界面的数据,减少了后续识别的计算量。
进一步的,在一个实施例中,如图5所示,该识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
步骤S502,获取相邻体态数据帧之间的时间差和位移,得到两体态数据帧之间的位移速度。
具体的,相邻体态数据帧之间的时间差Δt=H(n+1)t-Hnt,位移为:
Δs = ( H nx - H ( n + 1 ) x ) 2 + ( H ny - H ( n + 1 ) y ) 2
该相邻两体态数据帧之间的位移速度Δv=Δs/Δt。
步骤S504,当该位移速度大于第一速度阈值时,生成该两个体态数据帧之间光标按照投影比例快速移动的控制指令。
具体的,投影比例是指将有效区域CC1C2C3的长度与显示器的宽度的比值。例如当从n帧到n+1帧时,手掌H的位移为S则实际屏幕上的位移的像素为S/b。
其中,b=CC3/Wwidth。移动方向可根据欧式定量计算相邻两体态数据帧得到的向量确定。
步骤S506,当连续预定组位移速度小于等于第二速度阈值时,预生成光标的位移控制进入微动移动状态的控制指令,获取预设时间内所有相邻两个体态数据帧的位移速度,计算所有位移速度中除去最大位移速度和最小位置速度后的剩余位移速度的平均值,当该平均值小于等于第二速度阈值时,生成对光标进行微动移动的控制指令,该微动移动的控制指令中包含移动方向和预设时间内移动的像素点数。
具体的,连续预定组可为3组或5组等,根据需要设定。如此进行预处理,让对光标的位移控制进入微动移动状态。然后,进一步确定是否微动移动。即获取预设时间T1内所有相邻两个体态数据帧的位移速度,建立集合HV={Δv1,Δv2,…,Δvn}。在集合HV中去掉最大值与最小值,求取剩余位移速度的平均值AverageΔv。若AverageΔv小于等于第二速度阈值,则认为微动移动有效,并在T1时间内移动m个像素点。m即为预设时间内移动的像素点数。微动移动方向可由体态数据帧集合HxyT={HxyT1,HxyT2,…,HxyTn}中的确定。当AverageΔv大于第二速度阈值时,则认为微动移动无效,对光标移动不做任何处理。
进一步的,在一个实施例中,识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令,具体包括:
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值α,且Hzn大于等于第一预定幅值Z1,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值Z1大于零,斜率阈值α大于零。直到体态数据帧的z轴坐标对应的斜率为负且Hz(n+k+1)小于第一预定幅值Z1时生成松开左键的控制指令。其中,Hz(n+k+1)表示以Hzn对应的体态数据帧之后的k加1帧的z轴坐标值。
识别出相邻两个体态数据帧的z轴正方向坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值Z1,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率小于负的斜率阈值,生成表示一次单击鼠标左键的控制指令。
识别出相邻两个体态数据帧的z轴负方向的坐标HznHz(n-1)对应的斜率小于负的斜率阈值(即-α),且Hzn小于负的第二预定幅值Z2,生成表示一次单击鼠标右键的控制指令。
如图6所示,为模拟鼠标左右键的体态数据帧的z轴幅值与时间的关系示意图。图6中F1区间段,表示长按左键,F2区间段表示用户在按下鼠标左键后立即松开鼠标左键完成一次单击动作,B3和B4区间段为用户按下鼠标右键后立即松开鼠标右键完成一次单击动作。
进一步的,在另一个实施例中,识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向Z轴负方向移动第一预定幅值,生成表示按下鼠标左键的控制指令,识别出手向Z轴正方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令,具体包括:
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于负的斜率阈值(-α),且Hzn小于负的第一预定幅值Z1,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标小于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值Z1大于零,斜率阈值α大于零。直到体态数据帧的z轴坐标对应的斜率为正且Hz(n+k+1)大于等于负的第一预定幅值Z1时生成松开左键的控制指令。其中,Hz(n+k+1)表示以Hzn对应的体态数据帧之后的k加1帧的z轴坐标值。
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于等于负的斜率阈值,且Hzn小于负的第一预定幅值Z1,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标小于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率大于斜率阈值,生成表示一次单击鼠标左键的控制指令。
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值(即-α),且Hzn大于第二预定幅值Z2,生成表示一次单击鼠标右键的控制指令。
上述生成控制指令的方法生成模拟鼠标左键的一次点击或长按,模拟鼠标右键的一次点击的功能,采用幅值与斜率两重条件限定判断,模拟鼠标左右键更加准确,减少误操作。
如图7所示,为一个实施例中生成控制指令的系统的结构框图。该生成控制指令的系统,包括采集模块720、过滤模块740和识别模块760。其中:
采集模块720用于采集用户的体态数据帧。具体的,采集模块720可为摄像头等采集装置。该体态数据帧包括三维坐标(坐标x、坐标y、坐标z)、帧序号n,时间轴标签t等。
过滤模块740用于过滤该采集的体态数据帧。
识别模块760用于识别过滤后的体态数据帧,生成相应的控制指令。
上述生成控制指令的系统,通过采集用户的体态数据帧,并识别过滤后的体态数据帧,生成相应的控制指令,不需用户频繁更换硬件设备,降低了成本,且实现了相应的控制。
进一步的,如图8所示,在一个实施例中,过滤模块740包括获取单元742、计算单元744、区域确定单元746和过滤单元748。其中:
获取单元742用于获取当前显示器的水平分辨率和垂直分辨率,根据所述水平分辨率和垂直分辨率得出宽高比。
具体的,当前显示器的水平分辨率为Wwidth,垂直分辨率为Hhigh,宽高比a=Wwidth/Hhigh。
计算单元744用于计算用户的臂展长度。
如图4所示,为以用户中心点为原点建立的三维坐标系xyz,用户位于坐标系中,该用户由多个点组成,用户中心点为C点。以右手臂为例,臂展长度h的计算公式如下:
h = B B ′ + B ′ H = ( B x - B ′ x ) 2 + ( B y - B ′ y ) 2 + ( B ′ x - H x ) 2 + ( B ′ y - H y ) 2
其中,手臂由三个点B、B'和H组成,B为臂肩、H为手掌、B'为肘点,且该三点在xy平面内。B的坐标为(Bx,By),B'的坐标为(B'x,B'y),H的坐标为(Hx,Hy)。同样可求取左手臂的臂展长度。
区域确定单元746用于根据该宽高比和用户的臂展长度计算有效区域的长和宽,根据该长和宽以用户中心点为原点确定有效区域。
具体的,手掌H的有效区域CC1C2C3。有效区域的长CC3,宽CC1的计算公式如下:
C C 3 = h * a 1 1 + a 2 , C C 1 = C C 3 / a ,
其中,h为臂展长度,a为当前显示器的宽高比。
过滤单元748用于过滤位于该有效区域外的体态数据帧。
具体的,对采集的体态数据帧从帧序号0到n查找,若手掌Hxy在有效区域CC1C2C3中,则该数据有效,否则表示该手掌代表的鼠标移出了屏幕界面。
通过确定有效区域对体态数据帧进行过滤,过滤掉表示移出屏幕界面的数据,减少了后续识别的计算量。
进一步的,在一个实施例中,识别模块还用于获取相邻体态数据帧之间的时间差和位移,得到两点的位移速度。
具体的,相邻体态数据帧之间的时间差Δt=H(n+1)t-Hnt,位移为:
Δs = ( H nx - H ( n + 1 ) x ) 2 + ( H ny - H ( n + 1 ) y ) 2
该相邻两体态数据帧之间的位移速度Δv=Δs/Δt。
识别模块760还用于当所述位移速度大于速度第一速度阈值时,生成所述两个体态数据帧之间光标按照投影比例快速移动的控制指令。
具体的,投影比例是指将有效区域CC1C2C3的长度与显示器的宽度的比值。例如当从n帧到n+1帧时,手掌H的位移为S则实际屏幕上的位移的像素为S/b。
其中,b=CC3/Wwidth。移动方向可根据欧式定量计算相邻两体态数据帧得到的向量确定。
识别模块760还用于当连续预定组位移速度小于等于第二速度阈值时,预生成光标的位移控制进入微动移动状态的控制指令,获取预设时间内所有相邻两个体态数据帧的位移速度,计算所有位移速度中除去最大位移速度和最小位置速度后的剩余位移速度的平均值,当所述平均值小于等于第二速度阈值时,生成对光标进行微动移动的控制指令,所述微动移动的控制指令中包含移动方向和预设时间内移动的像素点数。
具体的,连续预定组可为3组或5组等,根据需要设定。如此进行预处理,让对光标的位移控制进入微动移动状态。然后,进一步确定是否微动移动。即获取预设时间T1内所有相邻两个体态数据帧的位移速度,建立集合HV={Δv1,Δv2,…,Δvn}。在集合HV中去掉最大值与最小值,求取剩余位移速度的平均值AverageΔv。若AverageΔv小于等于第二速度阈值,则认为微动移动有效,并在T1时间内移动m个像素点。m即为预设时间内移动的像素点数。微动移动方向可由体态数据帧集合HxyT={HxyT1,HxyT2,…,HxyTn}中的确定。当AverageΔv大于第二速度阈值时,则认为微动移动无效,对光标移动不做任何处理。
进一步的,在一个实施例中,识别模块760还用于以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令。
具体的,识别模块760还用于识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值α,且Hzn大于等于第一预定幅值Z1,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值Z1大于零,斜率阈值α大于零。直到体态数据帧的z轴坐标对应的斜率为负且Hz(n+k+1)小于第一预定幅值Z1时生成松开左键的控制指令。其中,Hz(n+k+1)表示以Hzn对应的体态数据帧之后的k加1帧的z轴坐标值。
进一步的,识别模块760还用于识别出相邻两个体态数据帧的z轴正方向坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值Z1,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率小于负的斜率阈值,生成表示一次单击鼠标左键的控制指令。
进一步的,识别模块760还用于识别出相邻两个体态数据帧的z轴负方向的坐标HznHz(n-1)对应的斜率小于负的斜率阈值(即-α),且Hzn小于负的第二预定幅值Z2,生成表示一次单击鼠标右键的控制指令。
如图6所示,为模拟鼠标左右键的体态数据帧的z轴幅值与时间的关系示意图。图6中F1区间段,表示长按左键,F2区间段表示用户在按下鼠标左键后立即松开鼠标左键完成一次单击动作,B3和B4区间段为用户按下鼠标右键后立即松开鼠标右键完成一次单击动作。
在另一个实施例中,识别模块760还用于以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴负方向移动第一预定幅值,生成表示按下鼠标左键的控制指令,识别出手向z轴正方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令。
具体的,识别模块760还用于识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于负的斜率阈值(-α),且Hzn小于负的第一预定幅值Z1,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标小于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值Z1大于零,斜率阈值α大于零。直到体态数据帧的z轴坐标对应的斜率为正且Hz(n+k+1)大于等于负的第一预定幅值Z1时生成松开左键的控制指令。其中,Hz(n+k+1)表示以Hzn对应的体态数据帧之后的k加1帧的z轴坐标值。
进一步的,识别模块760还用于识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于等于负的斜率阈值,且Hzn小于负的第一预定幅值Z1,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标小于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率大于斜率阈值,生成表示一次单击鼠标左键的控制指令。
进一步的,识别模块760还用于识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值(即-α),且Hzn大于第二预定幅值Z2,生成表示一次单击鼠标右键的控制指令。
上述生成控制指令的系统生成模拟鼠标左键的一次点击或长按,模拟鼠标右键的一次点击的功能,采用幅值与斜率两重条件限定判断,模拟鼠标左右键更加准确,减少误操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种生成控制指令的方法,包括:
采集用户的体态数据帧;
过滤所述采集的体态数据帧;
识别过滤后的体态数据帧,生成相应的控制指令。
2.根据权利要求1所述的生成控制指令的方法,其特征在于,所述过滤所述采集的体态数据帧的步骤包括:
获取当前显示器的水平分辨率和垂直分辨率,根据所述水平分辨率和垂直分辨率得出宽高比;
计算用户的臂展长度;
根据所述宽高比和用户的臂展长度计算有效区域的长和宽,根据所述长和宽以用户中心点为原点确定有效区域;
过滤位于所述有效区域外的体态数据帧。
3.根据权利要求1或2所述的生成控制指令的方法,其特征在于,所述识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
获取相邻体态数据帧之间的时间差和位移,得到两体态数据帧之间的位移速度;
当所述位移速度大于第一速度阈值时,生成所述两个体态数据帧之间光标按照投影比例快速移动的控制指令;
当连续预定组位移速度小于等于第二速度阈值时,预生成光标的位移控制进入微动移动状态的控制指令,获取预设时间内所有相邻两个体态数据帧的位移速度,计算所有位移速度中除去最大位移速度和最小位置速度后的剩余位移速度的平均值,当所述平均值小于等于第二速度阈值时,生成对光标进行微动移动的控制指令,所述微动移动的控制指令中包含移动方向和预设时间内移动的像素点数。
4.根据权利要求2所述的生成控制指令的方法,其特征在于,所述识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令;
或者,以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴负方向移动第一预定幅值,生成表示按下鼠标左键的控制指令,识别出手向z轴正方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令。
5.根据权利要求2所述的生成控制指令的方法,其特征在于,所述识别过滤后的体态数据帧,生成相应的控制指令的步骤包括:
以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令,包括:
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值大于零,斜率阈值大于零;
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率小于负的斜率阈值,生成表示一次单击鼠标左键的控制指令;
识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于负的斜率阈值,且Hzn小于负的第二预定幅值,生成表示一次单击鼠标右键的控制指令。
6.一种生成控制指令的系统,其特征在于,包括:
采集模块,用于采集用户的体态数据帧;
过滤模块,用于过滤所述采集的体态数据帧;
识别模块,用于识别过滤后的体态数据帧,生成相应的控制指令。
7.根据权利要求6所述的生成控制指令的系统,其特征在于,所述过滤模块包括:
获取单元,用于获取当前显示器的水平分辨率和垂直分辨率,根据所述水平分辨率和垂直分辨率得出宽高比;
计算单元,用于计算用户的臂展长度;
区域确定单元,用于根据所述宽高比和用户的臂展长度计算有效区域的长和宽,根据所述长和宽以用户中心点为原点确定有效区域;
过滤单元,用于过滤位于所述有效区域外的体态数据帧。
8.根据权利要求6或7所述的生成控制指令的系统,其特征在于,所述识别模块还用于获取相邻体态数据帧之间的时间差和位移,得到两体态数据帧之间的位移速度;
以及当所述位移速度大于第一速度阈值时,生成所述两个体态数据帧之间光标按照投影比例快速移动的控制指令;
以及当连续预定组位移速度小于等于第二速度阈值时,预生成光标的位移控制进入微动移动状态的控制指令,获取预设时间内所有相邻两个体态数据帧的位移速度,计算所有位移速度中除去最大位移速度和最小位置速度后的剩余位移速度的平均值,当所述平均值小于等于第二速度阈值时,生成对光标进行微动移动的控制指令,所述微动移动的控制指令中包含移动方向和预设时间内移动的像素点数。
9.根据权利要求7所述的生成控制指令的系统,其特征在于,所述识别模块还用于以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令;
或者,以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴负方向移动第一预定幅值,生成表示按下鼠标左键的控制指令,识别出手向z轴正方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令。
10.根据权利要求7所述的生成控制指令的系统,其特征在于,所述识别模块还用于以用户中心点为坐标原点,建立三维坐标系xyz,识别出手在有效区域内且手向z轴正方向移动第一预定幅值时,生成表示按下鼠标左键的控制指令,识别出手向z轴负方向移动第二预定幅值时,生成表示按下鼠标右键的控制指令;
以及识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数大于预设帧数k,生成表示长按鼠标左键的控制指令,其中,第一预定幅值大于零,斜率阈值大于零;
以及识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率大于斜率阈值,且Hzn大于等于第一预定幅值,且以Hzn对应的体态数据帧为起点,体态数据帧的z轴坐标大于第一预定幅值的连续帧数小于预设帧数k,且以Hzn对应的体态数据帧之后的k加1帧对应的斜率小于负的斜率阈值,生成表示一次单击鼠标左键的控制指令;
以及识别出相邻两个体态数据帧的z轴坐标HznHz(n-1)对应的斜率小于负的斜率阈值,且Hzn小于负的第二预定幅值,生成表示一次单击鼠标右键的控制指令。
CN201310177878.8A 2013-05-14 2013-05-14 生成控制指令的方法和系统 Active CN104156058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310177878.8A CN104156058B (zh) 2013-05-14 2013-05-14 生成控制指令的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310177878.8A CN104156058B (zh) 2013-05-14 2013-05-14 生成控制指令的方法和系统

Publications (2)

Publication Number Publication Date
CN104156058A true CN104156058A (zh) 2014-11-19
CN104156058B CN104156058B (zh) 2018-08-07

Family

ID=51881579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310177878.8A Active CN104156058B (zh) 2013-05-14 2013-05-14 生成控制指令的方法和系统

Country Status (1)

Country Link
CN (1) CN104156058B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648090A (zh) * 2016-12-16 2017-05-10 广东小天才科技有限公司 一种虚拟现实设备的输入方法及装置
CN117170982A (zh) * 2023-11-02 2023-12-05 建信金融科技有限责任公司 人机检测方法、装置、电子设备和计算机可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138798A1 (en) * 2003-03-25 2010-06-03 Wilson Andrew D System and method for executing a game process
US20100199231A1 (en) * 2009-01-30 2010-08-05 Microsoft Corporation Predictive determination
US20100302357A1 (en) * 2009-05-26 2010-12-02 Che-Hao Hsu Gesture-based remote control system
CN102640085A (zh) * 2009-09-29 2012-08-15 莫韦公司 用于识别手势的系统和方法
CN102750519A (zh) * 2012-05-30 2012-10-24 北京城市网邻信息技术有限公司 一种图像的识别及过滤方法和装置
CN102929394A (zh) * 2012-11-30 2013-02-13 南京点明软件科技有限公司 一种基于手势识别的盲文输入法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138798A1 (en) * 2003-03-25 2010-06-03 Wilson Andrew D System and method for executing a game process
US20100199231A1 (en) * 2009-01-30 2010-08-05 Microsoft Corporation Predictive determination
US20100302357A1 (en) * 2009-05-26 2010-12-02 Che-Hao Hsu Gesture-based remote control system
CN102640085A (zh) * 2009-09-29 2012-08-15 莫韦公司 用于识别手势的系统和方法
CN102750519A (zh) * 2012-05-30 2012-10-24 北京城市网邻信息技术有限公司 一种图像的识别及过滤方法和装置
CN102929394A (zh) * 2012-11-30 2013-02-13 南京点明软件科技有限公司 一种基于手势识别的盲文输入法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648090A (zh) * 2016-12-16 2017-05-10 广东小天才科技有限公司 一种虚拟现实设备的输入方法及装置
CN117170982A (zh) * 2023-11-02 2023-12-05 建信金融科技有限责任公司 人机检测方法、装置、电子设备和计算机可读介质
CN117170982B (zh) * 2023-11-02 2024-02-13 建信金融科技有限责任公司 人机检测方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
CN104156058B (zh) 2018-08-07

Similar Documents

Publication Publication Date Title
CN104007819B (zh) 手势识别方法、装置及Leap Motion体感控制系统
CN108073334B (zh) 一种基于矢量运算的悬浮触控方法及装置
CN102937850B (zh) 实时手写笔迹的美化方法及美化装置
CN103282858B (zh) 用于检测姿势输入的方法和装置
CN102902407B (zh) 一种触摸屏输出显示触摸笔迹的方法及设备
CN110727496B (zh) 图形用户界面的布局方法、装置、电子设备及存储介质
CN104071097A (zh) 输入装置、输入方法及输入程序
CN102890576A (zh) 触控屏触摸轨迹检测方法及检测装置
CN102937849A (zh) 实时手写笔迹的美化方法及电子设备
CN104731307A (zh) 一种体感动作识别方法及人机交互装置
CN103985137A (zh) 应用于人机交互的运动物体跟踪方法及系统
JP5434736B2 (ja) 位置検知プログラム、位置検知装置および位置検知方法
CN101887344A (zh) 信息处理设备和信息处理方法
CN107340964A (zh) 一种视图的动画效果实现方法及装置
CN103885685A (zh) 页面处理方法和装置
CN103488356A (zh) 一种基于红外摄像头三维成像的触摸识别方法
CN118470793B (zh) 一种动态手势识别方法、装置及存储介质
CN101320291B (zh) 一种基于可见光检测的虚拟文字识别方法
CN104239844A (zh) 图像识别系统及图像识别方法
CN104156058A (zh) 生成控制指令的方法和系统
CN105468200A (zh) 一种指纹触控的方法、装置及指纹设备
CN105138269B (zh) 一种触摸屏缩放方法及系统
Rupanagudi et al. A novel and secure methodology for keyless ignition and controlling an automobile using air gestures
KR101370830B1 (ko) 사용자 인터페이스 구현 시스템 및 구현 방법
CN103885597B (zh) 空间输入识别方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230710

Address after: 518000 1701, Yanxiang Science and Technology Building, No. 31, High-tech Middle 4th Road, Maling Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province

Patentee after: Yanxiang smart IOT Technology Co.,Ltd.

Patentee after: BEIJING EVOC INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31

Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd.

Patentee before: BEIJING EVOC INTELLIGENT TECHNOLOGY Co.,Ltd.