发明内容
本发明的实施例提供一种非接触式输入信息的方法及终端,能够减少用户在进行体感输入的过程中出现的误操作,提高非接触式的操作的准确度和用户的体验度。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种非接触式输入信息的方法,用于一种终端,包括:
检测目标对象的加速度方向和数值,所述目标对象靠近但不接触所述终端;
判断所述目标对象的加速度的数值是否超过预定门限;
若所述目标对象的加速度的数值超过预定门限,则产生与所述加速度的方向一致的第一滑动信号;
若所述目标对象的加速度的数值未超过预定门限,则根据所述目标对象的位移情况生成第一位移信号。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:
判断第二方向是否与第一方向一致;其中,所述第一方向为所述第一滑动信号的方向,在产生第一滑动信号之后的预设时间内,所述目标对象的加速度的方向为第二方向;
若所述第二方向与所述第一方向不一致,则根据所述目标对象的位移情况生成第二位移信号;
若所述第二方向与所述第一方向一致,则在满足所述目标对象的加速度的数值超过预定门限的条件下,生成与所述第二方向一致的第二滑动信号。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
判断第三方向是否与所述第一方向一致;其中,所述第三方向为在生成所述第二位移信号之后的预设时间内、所述目标对象的加速度的方向;
若所述第三方向与所述第一方向一致,则判断所述目标对象的加速度的数值是否超过所述预设门限;
若所述目标对象的加速度的数值超过所述预设门限,则生成与所述第三方向一致的第三滑动信号;
若所述第三方向与所述第一方向不一致,或上述目标对象的加速度的数值为超过预设门限,则根据所述目标对象的位移情况产生第三位移信号。
结合第一方面或第一方面的上述任意一种可能的实现方式,在第三种可能的实现方式中,所述目标对象具体包括:用户手掌,用户的手指尖,或用户持握的物体。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述滑动信号包括:在光标所处位置按下,并沿着已确定的方向拖动,并在拖动之后释放的操作信号。
本发明的第二方面,提供一种终端,包括:
检测器件,用于检测目标对象的加速度方向和数值,所述目标对象靠近但不接触;
所述处理器,用于根据所述目标对象的加速度方向和数值,判断所述目标对象的加速度的数值是否超过预定门限;若所述目标对象的加速度的数值超过预定门限,则产生与所述加速度的方向一致的第一滑动信号;若所述目标对象的加速度的数值未超过预定门限,则根据所述目标对象的位移情况生成第一位移信号。
结合本发明的第二方面,在第一种可能的实现方式中,所述处理器还用于:
判断第二方向是否与第一方向一致;其中,所述第一方向为第一滑动信号的方向,在产生第一滑动信号之后的预设时间内,所述目标对象的加速度的方向为第二方向;
若所述第二方向与所述第一方向不一致,则根据所述目标对象的位移情况生成第二位移信号;
若所述第二方向与所述第一方向一致,则在满足所述目标对象的加速度的数值超过预定门限的条件下,生成与所述第二方向一致的第二滑动信号。
结合本发明的第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器还用于:
判断第三方向是否与所述第一方向一致;其中,所述第三方向为在生成所述第二位移信号之后的预设时间内、所述目标对象的加速度的方向;
若所述第三方向与所述第一方向一致,则判断所述目标对象的加速度的数值是否超过所述预设门限;
若所述目标对象的加速度的数值超过所述预设门限,则生成与所述第三方向一致的第三滑动信号;
若所述第三方向与所述第一方向不一致,或上述目标对象的加速度的数值为超过预设门限,则根据所述目标对象的位移情况产生第三位移信号。
结合本发明的第二方面或第二方面的上述任意一种可能的实现方式,在第三种可能的实现方式中,所述目标对象具体包括:用户手掌,用户的手指尖,或用户持握的物体。
结合本发明的第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述滑动信号包括:在光标所处位置按下,并沿着已确定的方向拖动,并在拖动之后释放的操作信号。
本发明实施例提供的非接触式输入信息的方法及终端,可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,当加速度较大时产生同一方向的滑动信号。相对于现有技术,本发明实施例可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,使得用户只需改变手掌的晃动速度即可进行非接触式的操作,减少了现有技术中为了进行操作而频繁地进行手势变换,导致终端进行动态捕捉的帧数会跟不上用户手势切换的频率;或者因为不同用户手掌大小不一等问题导致的终端错误识别用户输入的信息的问题,从而减少了用户在进行体感输入的过程中出现的误操作,提高了非接触式的操作的准确度,也提高了用户的体验度。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以用于一种终端,并且,在这种终端中包括了用于捕捉人体的检测器件,比如:具有摄像头的体感终端,摄像头用于采集用户的手势变化轨迹、四肢动作等人体动作,并可以通过终端中的处理器对摄像头所捕捉到的人体动作进行处理,从而确定用户动作所表示的信息;再比如:交互式投影终端可以通过红外传感器按照预设的频率通过红外线扫描目标对象,比如45Hz、60Hz等,在每一帧中获取呈现为目标对象身体轮廓的灰度图,从而利用灰度图捕捉目标对象的位移情况。
本发明一实施例提供一种非接触式输入信息的方法,如图1所示,包括:
101,检测目标对象的加速度方向和数值,所述目标对象靠近但不接触所述终端。
其中,目标对象靠近终端是指:目标对象与终端的距离在摄像头或红外传感器等检测器件的有效检测范围内。目标对象可以是用户手掌,或用户的手指尖,或用户持握的物体等。或者,也可以是任何一种能够被终端捕捉到位移情况的生物或非生物对象。
例如:终端可以通过检测器件锁定目标对象,并确定目标对象的加速度,再利用目标对象的加速度作为生成输入信号的依据,从而使得用户通过手指或指尖就可以通过终端完成非接触式的输入操作。
具体的,检测目标对象的加速度方向和数值具体为:跟踪目标对象的位移情况,并根据所述目标对象的位移情况,计算所述目标对象的加速度。举个例子,终端可以通过检测器件确定目标对象的位置变化情况,并进一步的确定目标对象的加速度,例如:终端中的检测器件可以将目标对象的位置变化情况发送至终端的具有计算功能的处理器,并由处理器根据目标对象的位置变化情况,确定如图1a所示的在一段时间内目标对象的速度变化曲线,再根据速度变化曲线的坡度确定在一段时间内目标对象的加速度的变化情况。在实际应用中,诸如摄像头,红外传感器等检测器件会以预设的频率逐帧捕捉目标对象的位置变化情况,因此检测器件的运行频率越高,终端确定目标对象的加速度的精度越高。
在本实施例中,终端上电后可以连续地跟踪目标对象的位移情况,并根据目标对象的位移情况在屏幕上相应的移动光标。
102,判断所述目标对象的加速度的数值是否超过预定门限。
其中,当目标对象加速度达到预定门限时产生滑动信号,否则根据目标物体的移动相应的移动光标,具体参考以下步骤103和104。
103,若所述目标对象的加速度的数值超过预定门限,则产生与所述加速度的方向一致的第一滑动信号。
其中,所述第一滑动信号包括:在光标所处位置按下,并沿着所述加速度的方向拖动,并在拖动之后释放的操作信号。拖动的距离可以根据目标物体的移动距离确定,也可以预先设定一个额定距离,本发明实施例对此不做限定。
104,若所述目标对象的加速度的数值未超过预定门限,则根据所述目标对象的位移情况生成第一位移信号。
例如:如图1a所示,在t2和t3时间段,终端可以根据目标对象的速度曲线的坡度继续分析,得出在直角坐标系中目标对象的加速度的方向为竖直向上,且确定了目标对象的加速度的绝对值大于等于预设门限,终端可以产生用于模拟鼠标点击的DOWN事件。若目标对象的加速度小于所述预设门限,则终端可以继续跟踪目标对象的空间坐标的变化情况,并根据目标对象的空间坐标的变化情况在屏幕上移动光标,但是不触发其他用于模拟鼠标操作的事件。
可选的,如图2所示,101的具体实施方式可以包括:
1011,捕捉预设时间内目标对象的图像。
例如:目标对象在终端的侦测范围内连续移动,终端以每秒20帧的动态捕捉频率,在3s内总共捕捉到了60个目标对象的图像数据,并且可以根据其中至少二个连续的图像数据确定目标对象在3s内的一个时刻的速度。终端可以根据这60个目标对象的图像数据确定目标对象在3s内的至少二个时刻的速度,并得到目标对象在3s内的速度变化曲线,并可以根据速度变化曲线确定目标对象的加速度。
1012,根据所述预设时间内所述目标对象的图像,确定所述预设时间内所述目标对象的位移情况。
1013,根据述预设时间内所述目标对象的位移情况,计算所述预设时间内目标对象每个时刻的加速度方向和数值。
本发明实施例提供的非接触式输入信息的方法,可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,比如可以建立加速度的数值和方向与输入信号的对应关系,并根据目标对象加速度的数值和方向生成相应的输入信号。相对于现有技术,本发明实施例可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,使得用户只需改变手掌的晃动速度即可进行非接触式的操作,减少了现有技术中为了进行操作而频繁地进行手势变换,导致终端进行动态捕捉的帧数会跟不上用户手势切换的频率;或者因为不同用户手掌大小不一等问题导致的终端错误识别用户输入的信息的问题,从而减少了用户在进行体感输入的过程中出现的误操作,提高了非接触式的操作的准确度,也提高了用户的体验度。
可选的,在图1所示的方案的基础上,如图3所示,本发明实施例的方法还可以包括:
301,检测目标对象的加速度方向和数值,所述目标对象靠近但不接触所述终端。
302,判断所述目标对象的加速度的数值是否超过预定门限。若所述目标对象的加速度的数值超过预定门限,则执行步骤303;若所述目标对象的加速度的数值未超过预定门限,则执行步骤304。
303,产生与所述加速度的方向一致的第一滑动信号,并继续执行步骤305。
其中,第一滑动信号的方向为第一方向,第一方向可以是目标对象的当前运动的方向,可以是目标对象当前的加速度方向。目标对象当前的加速度的方向与第一方向相同,则说明目标对象在当前运动的方向上的做加速运动;目标对象当前的加速度的方向与第一方向不相同,则说明目标对象在当前运动的方向上的做减速运动。
其中,第一滑动信号用于表示目标对象进行了滑动操作,并且滑动操作的方向与第一方向相同。所述滑动信号包括:在光标所处位置按下,并沿着已确定的方向拖动,并在拖动之后释放的操作信号。例如:
目标对象为用户的手掌,用户的手掌向左边快速挥动,终端检测到手掌左边移动,并且手掌的加速度大于了预设门限,则可以判定用户做出了向左边翻页的动作,并生成第一拖动输入信号。具体的第一拖动输入信号在终端中可以实现为用于模拟鼠标点击的DOWN事件和用于模拟鼠标移动的MOVE事件的信息。
304,根据所述目标对象的位移情况生成第一位移信号,并继续执行步骤301及后续步骤。
其中,若所述目标对象的加速度的数值不超过所述预设门限,则终端可以继续跟踪目标对象的位移情况并在与终端相连接的显示终端上相应的移动光标,且不触发其他用于模拟鼠标操作的事件。
305,继续检测目标对象的加速度方向和数值,判断第二方向是否与第一方向一致。若第二方向与第一方向一致,则执行步骤306,否则执行步骤307。
其中,在生成第一滑动信号之后的预设时间内,目标对象的加速度的方向为第二方向。例如:
用户的手掌向左边快速挥动,终端通过302判定用户做出了向左边翻页的动作,并生成第一滑动信号。并且在0.5s之后,用户的手掌再向右边快速挥动,则第二方向为向右。
306,生成与第二方向一致的第二滑动信号,并继续执行步骤305。
其中,若所述第二方向与所述第一方向一致,且所述目标对象的加速度的数值超过预定门限,则终端可以继续在与终端相连接的显示终端上相应显示出光标在第一方向上的滑动操作,直至目标对象超出终端的侦测范围。
307,根据所述目标对象的位移情况生成第二位移信号。
其中,位移信号用于触发与终端相连的显示终端,在显示屏上与目标对象同步的位移光标,可以随着目标对象的运动轨迹移动光标。目标对象的位移情况可以为包括目标对象的移动距离大小和方向,例如可以为运动轨迹。可以实现为:第二方向与第一方向不一致,则终端不触发任何模拟鼠标点击或释放等操作的事件,只是捕捉目标对象的位移,并在屏幕上相应地移动光标。
例如:用户的手掌向左边快速挥动,终端通过302判定用户做出了向左边翻页的动作,并生成第一滑动信号。并且在0.5s之后,用户的手掌再向右边快速挥动,第二方向为向右,由于第二方向与第一方向不一致,则终端只在屏幕上相应的移动光标,而不做出拖动操作,从而可以减少用户在翻页的过程中发生乒乓效应,从而减少出现误操作。
更进一步的,在图3所示的实施方式的基础上,如图4所示,还可以包括:
308,继续检测目标对象的加速度方向和数值,判断第三方向是否与第一方向一致。若所述第三方向与所述第一方向一致,则执行步骤309;否则执行步骤310。
其中,在生成第二位移信号之后的预设时间内,目标对象的加速度的方向为第三方向。例如:
用户的手掌来回挥动,初始时向左边快速挥动,终端通过304判定用户做出了向左边翻页的动作,并生成第一拖动输入信号。并且在0.5s之后,用户的手掌再向右边快速挥动,则第二方向为向右。再在0.5s之后,用户的手掌再向左挥动,则第三方向为向左;或者再在0.5s之后,用户的手掌向上挥动,则第三方向为向上。
若第三方向与所述第一方向不一致,则终端可以继续跟踪目标对象的位移情况并在与终端相连接的显示终端上相应的移动光标,且不触发其他用于模拟鼠标操作的事件。
在本实施例中,检测目标对象之后的位移方向是否与初始的方向一致,可以具体实现为:
判定是否与所述第一方向相同。例如:在直角坐标系中,目标对象的第一方向为竖直向下,第二方向为水平向左,第三方向为竖直向下,则第三方向与第一方向一致。
或者是判定与所述第一方向的最小夹角是否在预设范围内。例如:在直角坐标系中,目标对象的第一方向为竖直向上,第二方向为水平向由,第三方向为与竖直线的最小夹角呈5°向右上或呈5°向左上,预设范围为[-10°,10°]则第三方向与第一方向一致。
309,判断所述目标对象的加速度的数值是否超过所述预设门限;若目标对象的加速度的数值超过所述预设门限,则执行步骤311;若目标对象的加速度的数值未超过所述预设门限,则执行步骤310。
310,根据所述目标对象的位移情况产生第三位移信号。
可以理解的是,在本实施例中,在产生第三位移信号后,可以循环执行类似步骤308-311的流程,以实现多次滑动操作,例如第四滑动信号、第五滑动信号或第四位移信号或第五位移信号等等,以此类推,本实施例这里不再重复介绍。或者,在预设时间内没有再检测到达到预设门限的加速度,则返回重新执行步骤301。
311,生成与所述第三方向一致的第三滑动信号。
其中,第三滑动信号用于表示目标对象进行了滑动操作,并且滑动操作的方向与第三方向相同。例如:
用户的手掌来回挥动,初始时向左边快速挥动,终端通过304判定用户做出了向左边翻页的动作,并生成第一拖动输入信号。并且在1s之后,用户的手掌再向右边快速挥动,则第二方向为向右。再在1s之后,用户的手掌再向左挥动,则生成第三滑动信号。
再例如:用户的手掌来回挥动,初始时向左边快速挥动,终端通过304判定用户做出了向左边翻页的动作,并生成第一拖动输入信号。并且在0.1s之后,用户的手掌再向右边快速挥动,则第二方向为向右。再在0.1s之后,用户的手掌再向左上挥动或向左下挥动,具体挥动方向与第一方向的最小夹角呈15°,且预设范围[-20°,20°],则生成第三滑动信号。
使得用户在来回反复翻页的过程中,只有与手掌的挥动方向与初始的挥动方向一致,才判定进行拖动操作。手掌的挥动方向与初始的挥动方向不一致,则终端只在屏幕上相应的移动光标,而不做出拖动操作,从而可以减少用户在翻页的过程中发生乒乓效应,实现用户可以连续快速地翻页。例如:如图6所示的目标对象的轨迹曲线,在t2时段,目标对象突然向上移动,终端检测到此时目标对象在向上的方向上的加速度的数值超过了预设门限,则可以判定进行了向上拖动的操作,并生成向上的拖动输入信号。在t3时段,目标对象改变方向向下移动,则终端可以跟踪目标对象相应的移动光标,但是不生成向下的拖动输入信号,即显示出向下的拖动操作。在t4时段,目标对象再次向上移动,并且向上的加速度的数值超过了预设门限,则终端可以再次生成向上的拖动输入信号。从而实现目标对象在t2-t4的往复运动中,只在运动方向与初始方向一致的时段,生成拖动输入信号,从而减少了来回翻页时出现的乒乓效应。
本发明实施例提供的非接触式输入信息的方法,可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,比如可以建立加速度的数值和方向与输入信号的对应关系,并根据目标对象加速度的数值和方向生成相应的输入信号。相对于现有技术,本发明实施例可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,使得用户只需改变手掌的晃动速度即可进行非接触式的操作,减少了现有技术中为了进行操作而频繁地进行手势变换,导致终端进行动态捕捉的帧数会跟不上用户手势切换的频率;或者因为不同用户手掌大小不一等问题导致的终端错误识别用户输入的信息的问题,从而减少了用户在进行体感输入的过程中出现的误操作,提高了非接触式的操作的准确度,也提高了用户的体验度。
本发明的又一实施例还提供一种终端40,如图5所示,包括:
检测器件41,用于检测目标对象的加速度方向和数值,并将所述目标对象的加速度方向和数值发送给处理器42;所述目标对象靠近但不接触;
所述处理器42,用于根据所述目标对象的加速度方向和数值,判断所述目标对象的加速度的数值是否超过预定门限;若所述目标对象的加速度的数值超过预定门限,则产生与所述加速度的方向一致的第一滑动信号;若所述目标对象的加速度的数值未超过预定门限,则根据所述目标对象的位移情况生成第一位移信号。
进一步的,所述处理器42还用于:
判断第二方向是否与第一方向一致;其中,所述第一方向为第一滑动信号的方向,在产生第一滑动信号之后的预设时间内,所述目标对象的加速度的方向为第二方向;
若所述第二方向与所述第一方向不一致,则根据所述目标对象的位移情况生成第二位移信号;
若所述第二方向与所述第一方向一致,则在满足所述目标对象的加速度的数值超过预定门限的条件下,生成与所述第二方向一致的第二滑动信号。
进一步的,所述处理器42还用于:
判断第三方向是否与所述第一方向一致;其中,所述第三方向为在生成所述第二位移信号之后的预设时间内、所述目标对象的加速度的方向;
若所述第三方向与所述第一方向一致,则判断所述目标对象的加速度的数值是否超过所述预设门限;
若所述目标对象的加速度的数值超过所述预设门限,则生成与所述第三方向一致的第三滑动信号;
若所述第三方向与所述第一方向不一致,或上述目标对象的加速度的数值为超过预设门限,则根据所述目标对象的位移情况产生第三位移信号。
进一步可选的,所述目标对象具体包括:用户手掌,用户的手指尖,或用户持握的物体。
进一步可选的,所述滑动信号包括:在光标所处位置按下,并沿着已确定的方向拖动,并在拖动之后释放的操作信号。
本发明实施例提供的终端40,可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,比如可以建立加速度的数值和方向与输入信号的对应关系,并根据目标对象加速度的数值和方向生成相应的输入信号。相对于现有技术,本发明实施例可以将目标对象的加速度的数值和方向作为判定所要生成的输入信号的依据,使得用户只需改变手掌的晃动速度即可进行非接触式的操作,减少了现有技术中为了进行操作而频繁地进行手势变换,导致终端进行动态捕捉的帧数会跟不上用户手势切换的频率;或者因为不同用户手掌大小不一等问题导致的终端错误识别用户输入的信息的问题,从而减少了用户在进行体感输入的过程中出现的误操作,提高了非接触式的操作的准确度,也提高了用户的体验度。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。