多点触摸的手势识别方法、装置、触摸屏终端及存储介质与流程

文档序号:11250554阅读:643来源:国知局
多点触摸的手势识别方法、装置、触摸屏终端及存储介质与流程

本发明涉及触摸屏技术领域,尤其涉及多点触摸的手势识别方法、装置、触摸屏终端及存储介质。



背景技术:

安装有触摸屏的触摸屏终端在应用领域上已得到广泛的使用,如触屏手机、平板电脑、教学白板以及触屏电视等等。一般地,用户可以直接在触摸屏上进行触摸,触摸屏终端能够识别该触摸动作对应的手势信息,然后执行对应于该手势信息的操作指令,由此更直接了当的实现了人机交互。

随着触摸屏技术的发展以及用户触屏需求的不断增加,对触摸屏的多点触控已逐渐进入大众视野,目前,多点触控大致包括:双手指的移动、缩小、放大以及旋转等。一般情况下,触摸屏终端很容易识别双手指进行缩小或放大的手势信息并可以快速准确的响应手势信息对应的操作指令。此外,现有的手势识别中通常判定两根手指的触点连线在触摸过程中是否存在角度变化,并在判定存在角度变化时将手势信息确定为旋转操作。

然而,当触摸屏终端的屏幕尺寸较大时(可理解为大于7寸的屏幕)时,用户进行多点平移操作时也会夹杂着触点连线所形成角度的变化,此时,触摸屏终端很可能会错误的将该手势信息识别为旋转手势,并响应错误的操作指令,由此影响了触摸屏手势识别的准确度,从而降低触摸屏终端的用户体验。



技术实现要素:

本发明实施例提供了多点触摸的手势识别方法、装置、触摸屏终端及存储介质,能够有效解决大尺寸触摸屏终端不能准确高效识别多点触摸中手势信息的问题。

一方面,本发明实施例提供了一种多点触摸的手势识别方法,包括:

监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件;

确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量;

如果存在一个事件类型的缓存数量率先达到对应累计阈值,则根据该事件类型确定所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;否则,返回执行手势事件的缓存操作。

另一方面,本发明实施例提供了一种多点触摸的手势识别装置,包括:

事件缓存模块,用于监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件;

数量累计模块,用于确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量;

第一执行模块,用于当存在一个事件类型的缓存数量达到对应累计阈值时,根据该事件类型确定所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;

第二执行模块,用于当不存在一个事件类型的缓存数量达到对应累计阈值时,返回所述事件缓存模块重新执行。

又一方面,本发明实施例提供了一种触摸屏终端,包括:

触摸屏,用于人机交互时的信息输入;

一个或多个处理器;

存储装置,用于存储一个或多个程序;

所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的多点触摸的手势识别方法。

再一方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的多点触摸的手势识别方法。

在上述多点触摸的手势识别方法、装置、触摸屏终端及存储介质中,首先监听用户对触摸屏终端的多点触摸,并缓存该多点触摸当前形成的手势事件;然后确定该手势事件所属的事件类型,并累加所属事件类型对应的缓存数量。之后,如果存在一个事件类型的缓存数量率先达到对应累计阈值,则根据该事件类型确定该多点触摸的手势信息,并可执行该手势信息对应的操作指令;否则,可直接返回手势事件的缓存操作重复执行。上述多点触摸的手势识别方法、装置、触摸屏终端及存储介质,能够采用确定所缓存手势事件的事件类型以及根据事件类型的缓存数量率先达到对应累计阈值的方式,准确高效地实现了多点触摸的手势信息识别,有效的提高了大尺寸触摸屏终端多点触摸时手势识别的准确度,更好的提高了触摸屏终端在实际应用中的用户体验。

附图说明

图1为本发明实施例一提供的一种多点触摸的手势识别方法的流程示意图;

图2a为本发明实施例二提供的一种多点触摸的手势识别方法的流程示意图;

图2b为本发明实施例二中缓存手势事件的原因分析图;

图2c和图2d为本发明实施例二对手势事件进行事件类型判定的示例展示图;

图3为本发明实施例三提供的一种多点触摸的手势识别装置的结构框图;

图4为本发明实施例四提供的一种触摸屏终端的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种多点触摸的手势识别方法的流程示意图,该方法适用于对用户在触摸屏终端上的触摸手势进行识别的情况,该方法可以由多点触摸的手势识别装置执行,其中该装置可由软件和/或硬件实现,并一般集成在具有触摸屏终端上。

在本实施例中,所述触摸屏终端具体可以是手机、平板电脑、笔记本等具有触屏交互功能的电子设备。本实施例优选地设定所述触摸屏终端具备多点触摸功能。一般地,对于具有较大屏幕尺寸的触摸屏终端而言,基于现有针对多点触摸的手势识别方法进行触摸手势识别时,很难准确地在大尺寸触摸屏上识别出多点触摸对应的手势信息,尤其是多点的平移手势和旋转手势。然而,根据本实施例提供的多点触摸的手势识别方法,可以准确快速的在大尺寸屏幕中确定多点触摸对应的手势信息,有效提高了触摸屏终端对多点触摸的识别效率。

如图1所示,本发明实施例一提供的一种多点触摸的手势识别方法,包括如下操作:

s101、监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件。

在本实施例中,所述多点触摸具体可理解为触摸屏终端的触摸屏上至少存在两个触摸点被同时触摸,所述触摸点具体可指设置于触摸屏中的触摸感应点,可在用户对其进行触摸时出现触摸感应。

具体地,本实施可通过触摸屏中设置的感应器件来监测触摸屏终端上是否存在多个触摸点被同时触摸,由此实现对用户所进行多点触摸操作的监听。示例性地,如果用户采用两根手指同时触摸按压屏幕,则本步骤通过设置于触摸屏中的感应器件可监测到触摸屏上存在两个触摸点同时出现触摸感应,此时可确定其监听结果为用户正在对触摸屏终端进行多点触摸操作。

需要说明的是,本实施例中的一次多点触摸操作具体可指:从用户的多个手指按下触摸屏开始,到所有手指离开触摸屏结束的整个过程。同时,本实施例可以将用户手指在触摸屏上移动时所对应触摸点的一次改变称为在多点触摸中形成的一次手势事件,其中,该手势事件包含了由对应于手指的原触摸点到对应于该手指的新触摸点的整个改变过程。因此,本实施例可认为从手指触摸屏幕到手指离开屏幕的整个多点触摸过程中包含了多个手势事件。

在本实施例中,可以将用户手指当前移动后形成的手势事件看作所述多点触摸中当前形成的手势事件。一般地,现有手势识别方法会实时获取当前所形成的手势事件对应的手势信息(如放大手势、缩小手势、平移手势以及旋转手势等),并实时执行相应的操作指令。

上述的现有方法尽管保证了操作指令的实时执行,但无法保证操作指令对应的操作结果为用户期望的操作结果。因此,本步骤在监听到存在多点触摸后,首先缓存多点触摸时当前形成的手势事件,以用于后续更精准的确定整个多点触摸对应的手势信息。具体地,本实施例可以将当前形成的手势事件缓存在预先设定的事件缓存区中。

s102、确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量。

在本实施例中,本步骤首先判定手势事件所属的事件类型,之后累加统计所确定事件类型对应的缓存数量。具体地,本步骤首先分析该手势事件中的移动轨迹特征,然后根据该移动轨迹特征确定手势事件所属的事件类型,其中,所述事件类型具体可理解为该手势事件对应的手势信息的信息类型,本实施例中所述事件类型可以有缩放类型、放大类型、平移类型以及旋转类型等,同时,与所述事件类型相对的手势信息包括了:缩放手势、放大手势、平移手势以及旋转手势。

然后,本步骤还可对该手势事件所属事件类型的缓存数量进行累加,以用于统计属于上述事件类型的手势事件在设定的事件缓存区中具有的缓存个数。可以理解的是,在对多点触摸过程中的手势事件进行缓存前,本实施例将各事件类型对应的缓存个数初始化为0,在之后的事件类型确定中,如果确定了手势事件所属的事件类型后,就将所属事件类型对应缓存个数累计加1。

s103、如果存在一个事件类型的缓存数量率先达到对应累计阈值,则根据该事件类型确定所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;否则,返回执行s101。

在本实施例中,所述对应累计阈值具体可理解为对应于各事件类型的累计阈值,所述各累计阈值具体可作为相应各事件类型的缓存个数的累计临界值,其中,本实施例可优先为各事件类型设置一个初始的累计阈值,之后,可根据每次多点触摸的手势识别结果,启发式的调整各事件类型对应的累计阈值。需要说明的是,本实施例中各事件类型的累计阈值可以相等,也可以不等。

具体地,本步骤可以在任一事件类型的缓存数量率先达到对应的累计临界值(对应累计阈值)时,将达到累计临界值的事件类型作为该多点触摸的事件类型,且可以将该事件类型对应的手势信息确定为该多点触摸的手势信息,并可相应执行该手势信息对应的操作指令,由此实现多点触摸的手势识别,同时实现对所识别手势信息的相应操作。需要说明的是,在确定所述多点触摸的手势信息后,如果多点触摸仍有新的手势事件形成,则不再判定新形成手势事件的事件类型(相当于直接忽略新形成手势事件的事件类型),而是根据已确定的手势信息继续执行相应的操作指令,由此在保证手势别准确度的前提下还更好地节省了手势识别的运算复杂度。

示例性地,假设平移类型(任一事件类型)的缓存数量率先达到了对应累计阈值,则可根据平移类型将多点触摸的手势信息识别确定为平移手势,并可执行该平移手势对应的操作指令。

此外,如果缓存于事件缓存区中各手势事件所属事件类型的缓存数量均没有达到对应累计阈值,则本步骤并不急于执行多点触摸可能对应的操作指令,而是返回s101,继续监听多点触摸,同时再次对当前新形成的手势事件进行缓存,并循环执行后续s102和s103,直至存在一个事件类型的缓存数量率先达到对应累计阈值。

本发明实施例一提供的一种多点触摸的手势识别方法,首先监听用户对触摸屏终端的多点触摸,并缓存该多点触摸当前形成的手势事件;然后确定该手势事件所属的事件类型,并累加所属事件类型对应的缓存数量。之后,如果存在一个事件类型的缓存数量率先达到对应累计阈值,则将该事件类型确定为该多点触摸的手势信息,并可执行该手势信息对应的操作指令;否则,可直接返回手势事件的缓存操作重复执行。利用该方法,能够首先缓存一部分手势事件,以及根据手势事件所属的事件类型更准确的判定多点触摸的手势信息,准确高效地实现了多点触摸的手势信息识别,有效的提高了大尺寸触摸屏终端多点触摸时手势识别的准确度,更好的提高了触摸屏终端在实际应用中的用户体验。

实施例二

图2a为本发明实施例二提供的一种多点触摸的手势识别方法的流程示意图。本发明实施例二以上述实施例为基础进行优化,在本实施例中,所述事件类型优化包括了:旋转类型和平移类型;相应的,本实施例将确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量具体优化为:根据预设的事件类型判定策略,确定所述手势事件所属的事件类型是旋转类型还是平移类型;如果所述手势事件属于旋转类型,则累加所述旋转类型对应的缓存数量;如果所述手势事件属于平移类型,则累加所述平移类型对应的缓存数量。

进一步地,本实施例还将如果存在一个事件类型的缓存数量率先达到对应累计阈值,则根据该事件类型确定所述多点触摸的手势信息,具体优化为:如果所述旋转类型的缓存数量达到旋转累计阈值且所述平移类型的缓存数量未达到平移累计阈值,则将所述旋转类型对应的旋转手势确定为所述多点触摸的手势信息;如果所述平移类型的缓存数量达到平移累计阈值且所述旋转类型的缓存数量未达到旋转累计阈值,则将所述平移类型对应的平移手势确定为所述多点触摸的手势信息。

在上述优化的基础上,本实施例还优化包括了:如果所述多点触摸的手势信息为平移手势且所述平移累计阈值及旋转累计阈值均满足对应的阈值范围,则基于第一调整规则更新所述平移累计阈值和旋转累计阈值;如果所述多点触摸的手势信息为旋转手势且所述平移累计阈值及旋转累计阈值均满足对应的阈值范围,则基于第二调整规则更新所述平移累计阈值和旋转累计阈值。

此外,本实施例在所述执行所述手势信息对应的操作指令之后,进一步优化包括了:将所述各事件类型对应的缓存数量清零。

如图2所示,本发明实施例二提供的一种多点触摸的手势识别方法,具体包括如下操作:

s201、监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件。

示例性地,可通过设置于触摸屏中的感应器件监听触摸屏终端上是否同时存在至少两个触摸点出现了触摸感应,并在所述至少两个点出现触摸感应式确定用户正在对触摸屏终端进行多点触摸;之后,如果当前监听到用户各手指所对应触摸点的发生了改变,则可确定多点触摸在当前形成了手势事件,且该手势事件为用户各手指从所对应原触摸点变化到所对应新触摸点的整个过程,本步骤需要缓存该手势事件。

图2b为本发明实施例二中缓存手势事件的原因分析图,在本实施例中,在多点触摸开始时进行手势事件缓存的其中一个原因在于:当触摸屏终端的屏幕尺寸过大时,用户在触摸屏上进行触摸时,以图2b中所示的基于两根手指的两点触摸为例,两根手指在屏幕上的移动轨迹为两条圆弧(每条圆弧可看作一根手指对应的移动轨迹),且由图2b可以看出,所形成的一条圆弧20短于另一条圆弧21,此种情况下,在两条圆弧的某些局部,必然存在触摸点连线平行的两条线段(如图2b中的线段22和线段23,线段22可看作一个手势事件中两个原触摸点的连线,线段23可看作该手势事件中两个新触摸点的连线),此时,根据现有的手势识别方法可确定该手势事件的事件类型为平移类型,且可认为该平移类型对应的手势信息为平移手势;而在另一些局部,又必然存在触摸点连线形成夹角的两条线段(如图2b中的线段24和线段25,线段24可看作另一个手势事件中两个原触摸点的连线,线段25可看作该手势事件中两个新触摸点的连线),此时,根据现有的手势识别方法可确定上述另一件手势事件的事件类型的旋转类型,且可认为该旋转类型对应的手势信息为旋转手势。

由此,根据现有的手势识别方法处理上述情况时,即使用户进行上述两点触摸的意图在于实现平移手势对应的操作,但现有的手势识别方法不仅实时识别出上述的平移类型以及执行平移手势的操作指令,还在识别出上述的旋转类型时,实时执行旋转手势的操作指令,由此偏离了用户的触摸意图。因此,本步骤首先进行手势事件的缓存,以根据所缓存的多个手势事件在确定存在旋转类型时,判断用户的触摸操作更倾向于哪一种手势信息。

s202、根据预设的事件类型判定策略,确定所述手势事件所属的事件类型是旋转类型还是平移类型。

在本实施例中,具体优选所述事件类型包括平移类型和旋转类型,由此,本步骤可以将设定的平移类型判定方法以及旋转类型判定方法相结合作为事件类型判定策略,以确定当前所缓存的手势事件具体为平移类型还是旋转类型。需要说明的是,如果本步骤判定该手势事件既不满足平移类型,又不满足旋转类型,则可忽略该手势事件具体所属的事件类型,同时可忽略所属事件类型的缓存数量累加。

进一步地,本实施例将根据预设的事件类型判定策略,确定所述手势事件所属的事件类型是旋转类型还是平移类型,具体优化为:确定构成所述手势事件的起始触摸点以及当前触摸点;如果各起始触摸点移动到相应当前触摸点时具有的位移方向均相同,则确定所述手势事件属于平移类型;否则,当各起始触摸点所形成连线与各当前触摸点所形成连线对应存在角度时,确定所述手势事件属于旋转类型。

在本实施例中,可以将构成该手势事件的原触摸点确定为所述起始触摸点;同时可将该手势事件中的新触摸点确定为当前触摸点。其中,所述起始触摸点以及当前触摸点的个数对应相等,且等同于用户进行多点触摸时所使用手指的具有个数。

图2c和图2d为本发明实施例二对手势事件进行事件类型判定的示例展示图,其中,图2c以及图2d中的用户的多点触摸均属于两点触摸,即,基于两根手指进行触摸。如图2c所示,当手势事件中的各起始触摸点25移动到对应当前触摸点26时具有的水平位移δx以及垂直位移δy均为同方向时,此时可判定该手势事件为平移类型。此外,如果基于上述判断确定手势事件不为平移类型(各起始触摸点与对应当前触摸点的位移方向不同),且出现了如图2d所示的手势事件中各起始触摸点所形成连线27与各当前触摸点所形成连线28存在一定的旋转角度ɑ,此时可判定为该手势事件为旋转类型。

s203、如果所述手势事件属于旋转类型,则累加所述旋转类型对应的缓存数量。

示例性地,如果基于上述步骤确定当前所缓存的手势事件的事件类型为旋转类型时,则将事件类型为旋转类型时对应的缓存数量加1。

s204、如果所述手势事件属于平移类型,则累加所述平移类型对应的缓存数量。

同样,如果基于s202的操作,确定当前所缓存的手势事件的事件类型为平移类型时,则可将事件类型为平移类型时对应的缓存数量加1。

可以理解是,在监听到触摸屏存在多点触摸之前,可优选设定各事件类型所对应缓存数量的初始值均为0,之后监听到进入多点触摸操作后,无论所缓存的手势事件属于哪种事件类型,所属事件类型的缓存数量会在当前值的基础上累计加1。

s205、如果所述旋转类型的缓存数量达到旋转累计阈值且所述平移类型的缓存数量未达到平移累计阈值,则将所述旋转类型对应的旋转手势确定为所述多点触摸的手势信息,之后执行s208。

本实施例分别对各事件类型的缓存数量设定相应的累计临界值,具体地,本实施例可将所述旋转累计阈值确定为所述旋转类型的缓存数量对应的累计临界值;还可以将所述平移累计阈值确定为所述平移类型对应缓存数量的累计临界值。

需要说明的是,本实施例可优选的为所述旋转累计阈值以及平移累计阈值设定相应的初始值,其初始值可分别优选但不限定为5和6,同时也不限定旋转累计阈值以及平移累计阈值是否相等;之后可根据本实施例对多点触摸的手势识别结果动态调整各累计阈值。本步骤中所采用旋转累计阈值以及平移累计阈值的具体值可根据实际应用进行实际选择,示例性的,假设多点触摸操作中首次应用本实施例提供的手势识别方法,则可选择其具体值为预先设定的初始值;当历史的多点触摸操作中已采用本实施例提供的方法进行手势识别,其具体值可以是动态调整后的调整值。

基于本实施例提供的手势识别方法进行多点触摸的手势识别时,理论上应该只有一个事件类型的缓存数量率先达到对应累计阈值,本步骤可理解为旋转类型的缓存数量率先达到旋转累计阈值,此时,可将与旋转类型相对应的旋转手势确定为该次多点触摸操作的手势信息,之后可通过s208实现后续的操作。

s206、如果所述平移类型的缓存数量达到平移累计阈值且所述旋转类型的缓存数量未达到旋转累计阈值,则将所述平移类型对应的平移手势确定为所述多点触摸的手势信息,之后执行s208。

具体地,本步骤可理解为平移类型的缓存数量率先达到平移累计阈值,此时,可将与平移类型相对应的平移手势确定为该次多点触摸操作的手势信息,之后可通过s208实现后续的操作。

需要说明的是,当本实施例出现至少两个事件类型的缓存数量同时达到对应累计阈值时,本实施例将返回s201对新形成的手势事件进行缓存、所属事件类型确定以及缓存数量判定操作,最终将上述至少两个事件类型中缓存数量较高的事件类型对应的手势信息确定多点触摸的手势信息。

s207、如果所述平移类型的缓存数量和旋转类型的缓存数量均未达到对应累计阈值,则返回执行s201。

本实施例在确定各事件类型的缓存数量均没有达到对应累计阈值时,需要返回s201重新执行后续操作。

s208、执行手势信息对应的操作指令,并将所述各事件类型对应的缓存数量清零。

本实施例为各手势信息设定了相应的操作指令,在确定多点触摸的手势信息后,就可以执行该手势信息对应的操作指令,以实现用户与触摸屏终端的信息交互。此外,本实施例在执行手势信息的操作指令后,对各事件类型当前对应的缓存数量进行清零操作,以避免当前缓存数量对后续手势识别的影响,进而保证后续手势识别的准确度。

s209、如果所述多点触摸的手势信息为平移手势且所述平移累计阈值及旋转累计阈值均满足对应的阈值范围,则基于第一调整规则更新所述平移累计阈值和旋转累计阈值。

本实施例在确定多点触摸的手势信息并执行相应的操作指令后,可以根据手势信息的确定结果,动态调整本实施例所需的平移累计阈值以及旋转累计阈值,以用于后续的手势识别操作。

其动态调整各累计阈值的原因在于:由于本实施例需要将多点触摸开始时的部分手势事件缓存起来,如果所缓存手势事件的数量过多,即,所设定的各累计阈值过大,则用户将明显感知到开始多点触摸时触摸屏终端没有动作执行,由此同样影响触摸屏终端的用户体验;如果所设定各累计阈值过小,则有存在所识别手势信息不准确的可能。由此,本实施例引入一种启发式方法,根据用户的使用习惯动态调整各事件类型对应的累计阈值。

此外,在进行累计阈值的动态调整前,本实施例首先为各累计阈值设置相应的阈值范围,即,为各累计阈值设定相应的上限累计阈值和下限累计阈值,以保证各累计阈值的动态调整处于该阈值范围内,由此可以防止用户大量使用某一事件类型对应的手势信息后,突然改用另一事件类型的手势信息时触摸屏终端存在响应过慢的情况。本实施例将平移类型以及旋转类型的阈值范围均优选设定为3~15,即,相当于上限累计阈值均为15,下限累计阈值均为3。

在本实施例中,所述基于第一调整规则更新所述平移累计阈值和旋转累计阈值,存在多种实现方式。示例性地,其中一种实现方式可表示为:在确定当前多点触摸的手势信息为平移手势后,可以只根据当前的手势信息将平移累计阈值由当前值减去第一设定值,获得新的平移累计阈值,同时,还可以将旋转累计阈值由当前值加上第二设定值,获得新的旋转累计阈值,其中,所述第一设定值以及第二设定值均可以是1,也均可以是实际设定的大于1的整数。

此外,另一种实现方式可表示为:在确定当前多点触摸的手势信息为平移手势,且也确定历史多点触摸的手势信息为平移手势的次数达到多次(可以是2次、3次或更多次)后,也基于上述实现方式中的调整方法调整平移累计阈值以及旋转累计阈值的当前值。

s210、如果所述多点触摸的手势信息为旋转手势且所述平移累计阈值及旋转累计阈值均满足对应的阈值范围,则基于第二调整规则更新所述平移累计阈值和旋转累计阈值。

在本实施例中,所述基于第二调整规则更新所述平移累计阈值和旋转累计阈值,同样存在多种实现方式。具体地,其中一种实现方式可表示为:在确定当前多点触摸的手势信息为旋转手势后,可以只根据当前的旋转手势将平移累计阈值由当前值加上第三设定值,获得新的平移累计阈值,同时,还可以将旋转累计阈值由当前值减去第四设定值,获得新的旋转累计阈值,其中,所述第三设定值以及第四设定值均可以是1,也均可以是实际设定的大于1的整数。

此外,另一种实现方式可表示为:在确定当前多点触摸的手势信息为旋转手势,且也确定历史多点触摸的手势信息为旋转手势的次数达到多次(可以是2次、3次或更多次)后,同样可以基于上述实现方式中的调整方法调整平移累计阈值以及旋转累计阈值的当前值。

在上述实施例的基础上,本实施例还给出了上述所提供多点触摸的手势识别方法在实际应用场景下的实现效果,首先,该应用场景可优选为具有55寸触摸屏的智能交互平板(触摸屏终端);该智能交互平板的图片浏览功能支持多点触摸的图片旋转和图片平移。具体地,在该智能交互平板没有使用本实施例的手势识别方法时,用户进行图片平移的多点触摸过程中,智能交互平板不仅识别到平移手势,还可能识别到旋转手势,并执行旋转手势的操作指令,从而改变了图像的浏览方向。然而,如果在智能交互平板中使用本实施上述的手势识别方法,在用户进行图片平移的多点触摸时,仅会将该多点触摸的手势信息识别位平移手势,同时仅会执行平移手势的操作指令。可以看出,相比于现有的手势识别方法,在用户的图片平移的多点触摸中,本实施例手势识别方法更好的解决了将平移手势识别为旋转手势的问题。

本发明实施例二提供的一种多点触摸的手势识别方法,具体化了手势事件所属事件类型的确定操作,还具体化了多点触摸手势信息的确定操作,同时,优化增加了各事件类型累计阈值的动态调整操作,还优化增加了各事件类型缓存数量的清零操作。利用该方法,能够能够根据用户的使用习惯启发式的动态调整事件类型的累计阈值,使得在用户感知不到终端执行迟缓的前提下,准确高效的实现大尺寸触摸屏终端上多点触摸操作的手势信息识别,有效的提高了大尺寸触摸屏终端多点触摸时手势识别的准确度,更好的提高了触摸屏终端在实际应用中的用户体验。

实施例三

图3为本发明实施例三提供的一种多点触摸的手势识别装置的结构框图。该装置适用于对用户在触摸屏终端上的触摸手势进行识别的情况,该装置可由软件和/或硬件实现,并一般集成在具有触摸屏终端上。如图3所示,该装置包括:事件缓存模块31、数量累计模块32、第一执行模块33以及第二执行模块34。

其中,事件缓存模块31,用于监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件;

数量累计模块32,用于确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量;

第一执行模块33,用于当存在一个事件类型的缓存数量达到对应累计阈值时,根据该事件类型确定所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;

第二执行模块34,用于当不存在一个事件类型的缓存数量达到对应累计阈值时,返回所述事件缓存模块重新执行。

在本实施例中,该装置首先通过事件缓存模块31监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件;然后通过数量累计模块32确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量;之后通过第一执行模块33当存在一个事件类型的缓存数量达到对应累计阈值时,根据该事件类型确定所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;最终通过第二执行模块34当不存在一个事件类型的缓存数量达到对应累计阈值时,返回所述事件缓存模块重新执行。

本发明实施例三提供的一种多点触摸的手势识别装置,能够采用确定所缓存手势事件的事件类型以及根据事件类型的缓存数量率先达到对应累计阈值的方式,准确高效地实现了多点触摸的手势信息识别,有效的提高了大尺寸触摸屏终端多点触摸时手势识别的准确度,更好的提高了触摸屏终端在实际应用中的用户体验。

进一步地,所述事件类型包括旋转类型和平移类型;

相应的,数量累计模块32,包括:

类型确定单元,用于根据预设的事件类型判定策略,确定所述手势事件所属的事件类型是旋转类型还是平移类型;

第一累加单元,用于当所述手势事件属于旋转类型时,累加所述旋转类型对应的缓存数量;

第二累加单元,用于当所述手势事件属于平移类型时,累加所述平移类型对应的缓存数量。

进一步地,所述类型确定单元,具体用于:

确定构成所述手势事件的起始触摸点以及当前触摸点;如果各起始触摸点移动到相应当前触摸点时具有的位移方向均相同,则确定所述手势事件属于平移类型;否则,当各起始触摸点所形成连线与各当前触摸点所形成连线对应存在角度时,确定所述手势事件属于旋转类型。

在上述优化的基础上,第一执行模块33,具体用于:

如果所述旋转类型的缓存数量达到旋转累计阈值且所述平移类型的缓存数量未达到平移累计阈值,则将所述旋转类型对应的旋转手势确定为所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;如果所述平移类型的缓存数量达到平移累计阈值且所述旋转类型的缓存数量未达到旋转累计阈值,则将所述平移类型对应的平移手势确定为所述多点触摸的手势信息,并执行所述手势信息对应的操作指令。

进一步地,该装置还优化包括了:

第一调整模块35,用于当所述多点触摸的手势信息为平移类型且所述平移累计阈值及旋转累计阈值均满足对应的阈值范围时,基于第一调整规则更新所述平移累计阈值和旋转累计阈值;

第二调整模块36,用于当所述多点触摸的手势信息为旋转类型且所述平移累计阈值及旋转累计阈值均满足对应的阈值范围时,基于第二调整规则更新所述平移累计阈值和旋转累计阈值。

此外,该装置还优化增加了:

数量清零模块37,用于在执行所述手势信息对应的操作指令之后,将所述各事件类型对应的缓存数量清零。

实施例四

图4为本发明实施例四提供的一种触摸屏终端的硬件结构示意图,如图4所示,本发明实施例四提供的触摸屏终端,包括:触摸屏41,处理器42和存储装置43,其中,触摸屏41用于人机交互时的信息输入。该触摸屏终端中的处理器可以是一个或多个,图4中以一个处理器42为例,所述触摸屏终端中的触摸屏41可以通过总线或其他方式分别与处理器42和存储装置43连接,且处理器42和存储装置43也通过总线或其他方式连接,图4中以通过总线连接为例。

可以理解的是,触摸屏终端可以通过触摸屏的响应实现与用户的信息交互。在本实施例中,触摸屏终端中的处理器42可以监听用户在触摸屏41上的多点触摸,处理器42还可以根据多点触摸所形成的手势事件准确识别所对应的手势信息,此外,多点触摸时所形成的手势事件还可以缓存至存储装置43,以实现手势事件的缓存。

该触摸屏终端中的存储装置43作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中多点触摸的手势识别方法对应的程序指令/模块(例如,附图3所示的多点触摸的手势识别装置中的模块,包括:事件缓存模块31、数量累计模块32、第一执行模块33以及第二执行模块34)。处理器42通过运行存储在存储装置43中的软件程序、指令以及模块,从而执行触摸屏终端的各种功能应用以及数据处理,即实现上述方法实施例中多点触摸的手势识别方法。

存储装置43可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等(如上述实施例中多点触摸所形成的手势事件等)。此外,存储装置43可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置43可进一步包括相对于处理器42远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述触摸屏终端所包括一个或者多个程序被所述一个或者多个处理器42执行时,程序进行如下操作:

监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件;确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量;如果存在一个事件类型的缓存数量率先达到对应累计阈值,则根据该事件类型确定所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;否则,返回执行手势事件的缓存操作。

此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被控制装置执行时实现本发明实施例一或实施例二提供的多点触摸的手势识别方法,该方法包括:监听用户对触摸屏终端的多点触摸,缓存所述多点触摸当前形成的手势事件;确定所述手势事件所属的事件类型,并累加所述事件类型对应的缓存数量;如果存在一个事件类型的缓存数量率先达到对应累计阈值,则根据该事件类型确定所述多点触摸的手势信息,并执行所述手势信息对应的操作指令;否则,返回执行手势事件的缓存操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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