多指触控方法、装置、设备及计算机可读存储介质与流程

文档序号:17473357发布日期:2019-04-20 05:58阅读:165来源:国知局
多指触控方法、装置、设备及计算机可读存储介质与流程

本发明涉及触控交互技术领域,尤其涉及一种基于屏幕交互的多指触控方法、装置、设备及计算机可读存储介质。



背景技术:

当触摸物在触摸屏上运动时,在多点触控过程中,没法直接对触点进行一对一的精确关联,因此无法得到正确的触点轨迹,且识别效率和精度较低,导致触控屏不能精确的响应用户的触控操作。



技术实现要素:

有鉴于此,本发明实施例提供了一种多指触控方法、装置、设备及计算机可读存储介质。

第一方面,本发明实施例提供了一种多指触控方法,所述方法包括:

接收用户在第一触控屏上输入的每一帧手指触点的触控信息;

对所述每一帧中的手指触点进行聚类分组,获得多组手指触点;

跟踪每一组手指触点的运动;

当所述多组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,响应所述多组手指触点的触控执行相应的操作。

在一些实施例中,该多指触控方法,包括:

获取所述每一帧中手指触点的坐标信息,根据所述坐标信息,采用dbscan聚类算法、k值聚类算法、系统聚类算法或最小距离聚类算法中的任意一种对所述每一帧中的手指触点进行聚类分组,获得多组手指触点。

在一些实施例中,该多指触控方法,还包括:

对每一组手指触点进行编号,以使每一个手指触点被分配一个唯一的组号且每个手指触点拥有唯一的id编号;

计算每一组手指触点的聚类中心坐标;

对于第n帧,获得第n-1帧中每一组手指触点的聚类中心坐标在第n帧的每一组预测聚类中心坐标,比较第n帧中每一组手指触点的聚类中心坐标和所述预测聚类中心坐标之间的距离,将两者中距离最小的两组手指触点的组号跟踪为相同,其中,n为大于等于4的整数;对于第n帧,获取第n-1帧中的每一个手指触点在第n帧中的每一个手指预测触点,比较第n帧中的手指触点和所述手指预测触点,将两者中距离最小的手指触点的id编号跟踪为相同;

判断相邻帧中拥有相同组号的组中是否存在至少一个id编号相同的手指触点,若存在,则判断所述拥有相同组号的组为连续组;若不存在,则判断所述拥有相同组号的组为不连续组;

根据第n帧与第一帧中拥有相同组号的连续组的聚类中心坐标,获得第n帧中该连续组的聚类中心的移动方向、移动速度及与起始点的距离,当该移动方向、移动速度及与起始点的距离满足预设条件时,响应所述连续组的触控执行相应的操作。

在一些实施例中,所述的多指触控方法,包括:

对于第二帧,计算第一帧和第二帧中聚类中心坐标之间距离,将聚类中心坐标距离最小的两组手指触点的组号跟踪为相同;

对于第二帧,计算第一帧和第二帧中手指触点之间的距离,则将手指触点之间距离最小的两个手指触点的id编号跟踪为相同;

对于第三帧,根据前两帧中每一组手指触点的聚类中心坐标及帧间时间间隔,获得第二帧中每一组手指触点的聚类中心的速度,根据每一组手指触点的聚类中心的速度,获得第二帧中每一组手指触点的聚类中心坐标在第三帧中的每一组预测聚类中心坐标;

对于第三帧,根据前两帧中每一个手指触点的坐标信息及帧间时间间隔,获得第二帧中每一个手指触点的速度,根据每一个手指触点的速度,获得第二帧中每一个手指触点在第三帧中的每一个手指预测触点。

在一些实施例中,所述的多指触点的跟踪方法,包括:

对于第n帧,根据前n-1帧中每一组手指触点的聚类中心坐标及帧间时间间隔,获得第n-1帧中每一组手指触点的聚类中心的速度和加速度,根据每一组手指触点的聚类中心的速度和加速度,获得第n-1帧中每一组手指触点的聚类中心坐标在第n帧中的每一组预测聚类中心坐标;

对于第n帧,根据前n-1帧中每一个手指触点的坐标信息及帧间时间间隔,获得第n-1帧中每一个手指触点的速度和加速度,根据每一个手指触点的速度和加速度,获得第n-1帧中每一个手指触点在第n帧中的每一个手指预测触点。

在一些实施例中,该多指触点的跟踪方法,还包括:

当n>4时,对于第n帧,根据前n-1帧中每一组手指触点的聚类中心坐标及帧间时间间隔,获得第n-1帧中每一组手指触点的聚类中心的速度、加速度和加速度的一阶导数值,根据每一组手指触点的聚类中心的速度、加速度和加速度的一阶导数值,获得第n-1帧中每一组手指触点的聚类中心坐标在第n帧中的每一组预测聚类中心坐标;

对于第n帧,根据前n-1帧中每一个手指触点的坐标信息及帧间时间间隔,获得第n-1帧中每一个手指触点的速度、加速度和加速度的一阶导数值,根据每一个手指触点的速度、加速度和加速度的一阶导数值,获得第n-1帧中每一个手指触点在第n帧中的每一个手指预测触点。

在一些实施例中,所述的多指触控方法,还包括:

当第n帧的所述连续组的聚类中心的移动方向在预设移动方向范围内、移动速度在预设移动速度范围内且与起始点的距离处于预设距离范围内时,判断所述连续组满足预设条件,响应所述连续组的触控执行相应的操作;或者当第n帧的所述连续组的聚类中心的移动方向在预设移动方向范围内、且与起始点的距离处于预设距离范围内时,判断所述连续组满足预设条件,响应所述连续组的触控执行相应的操作;或者当第n帧的所述连续组的聚类中心与起始点的距离处于预设距离范围内时,判断所述连续组满足预设条件,响应所述连续组的触控执行相应的操作。

在一些实施例中,所述第n帧为最后一帧。

在一些实施例中,所述多指触控方法,还包括:

判断所述拥有相同组号的组为不连续组时,删除所述不连续组。

在一些实施例中,该多指触控方法,还包括:

响应所述多组手指触点的触控,将所述第一触控屏上显示的图像内容或者预设的与第一触控屏上显示的图像内容的关联信息输出供第二触控屏显示,或者

响应所述多组手指触点的触控,将所述第一触控屏上显示的图像内容或者预设的与第一触控屏上显示的图像内容的关联信息输出供第一触控屏和第二触控屏同时显示。

在一些实施例中,所述的多指触控方法,也包括:

当仅有一组手指触点的聚类中心的移动方向、移动速度及与起始点的距离均满足预设条件时,响应该组手指触点的触控执行相应的操作;或者

当至少两组手指触点的聚类中心的移动方向、移动速度及与起始点的距离均满足预设条件时,按照每一组手指触点设定的优先级,响应所述多组手指触点的触控执行相应的操作。

在一些实施例中,所述的多指触控方法,还包括:

响应所述多组手指触点的触控,根据所述连续组的聚类中心的移动方向,将所述第一触控屏上显示的图像内容或者预设的与第一触控屏上显示的图像内容的关联信息输出供对应移动方向的第二触控屏显示。

第二方面,本发明实施例提供了一种多指触控装置,所述装置包括:

接收单元,用于接收用户在第一触控屏上输入的每一帧手指触点的触控信息;

分割单元,用于对所述每一帧手指触点进行聚类分组,获得多组手指触点;

跟踪单元,用于跟踪每一组手指触点的运动;

执行单元,用于当所述多组手指触点的移动方向、移动速度及与起始点的距离均满足预设条件时,响应所述多组手指触点的触控执行相应的操作。

第三方面,本发明实施例提供了一种用于多指触控的设备,所述设备包括存储器和处理器,其中,

所述存储器用于存储可执行程序代码;

所述处理器用于读取所述存储器中存储的可执行程序代码以执行第一方面所述的多指触控方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行第一方面所述的多指触控方法。

本发明实施例提供的多指触控方法、装置、设备及计算机可读存储介质,通过将每一帧中的手指触点分割为多组,然后跟踪每一组手指触点的运动,当多组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,响应多组手指触点的触控执行相应的操作。由此,本发明实施例提供的技术方案能够得到正确的多指触点轨迹,且提高了识别效率和精度,从而能够精确的响应用户的触控操作。

附图说明

图1是本发明一个实施例提供的多指触控方法的流程示意图。

图2是本发明一个实施例中对一帧中的手指触点进行分割的示意图。图3

是本发明另一个实施例提供的多指触控方法的流程示意图。

图4a至图4c是本发明另一个实施例提供的跟踪每一组手指触点运动的示意图。

图5示出了本发明又一实施例提供的屏幕交互系统的场景示意图。

图6是本发明又一个实施例提供的将第一触控屏上的图像内容或关联信息输出供第二触控屏显示的示意图。

图7是本发明又一实施例提供的多指触控装置的结构示意图。

图8是本发明的又一实施例提供的多指触控设备的示意性结构图。

具体实施方式

以下结合具体实施方式进一步详细说明本发明的技术方案。应当理解,此处描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

请参照图1,图1是本发明一个实施例提供的多指触控方法的流程示意图。该方法包括:

s11:接收每一帧手指触点触控信息。

本领域技术人员已知晓的是,当用户在触控屏幕上进行多指触控时,用户的手指触点的触控信息例如可以通过屏幕及屏幕所附带的传感器以各种方式来收集,如目前已知的电阻式触控屏,电容式触控屏,电磁感应式触控屏,红外边框式触控屏,表面声波式触控屏,光学触控屏等所展示的。随时间流逝,传感器可以继续对触控进行采集,采集的每一帧触控信息可以发送给处理器,处理器接收每一帧触控信息。

所述触控可以是直接接触的触控,也可以是离屏的触控,此时例如通过捕捉屏幕前的手势操作来捕获相应帧的触控。所述触控屏幕例如可以包括光学触控屏等。

所述触控屏幕例如还可以包括如下屏幕:该屏幕能直接显示图像(如lcd显示器),或不显示图像(如墙壁,布幕),通过投影设备来将信息投影到屏幕上显示,屏幕表面布置有红外光幕和红外摄像机。当在屏幕上进行触控时,触控点处的红外光幕的光分布将因触控行为而发生变化,例如触控点处的部分红外光被触控手指反射离开屏幕或因触控手指的作用透射穿过屏幕,红外摄像头拍摄触控点在内的红外图像,捕获用户的触控输入,也即采集触控信息,随时间流逝,红外摄像机可以采集多帧触控信息,每一帧触控信息可以发送给处理器,处理器接收每一帧触控信息。

所述触控屏幕例如还可以包括如下屏幕:该屏幕能直接显示图像(如lcd显示器)或不显示图像(如墙壁,布幕),通过投影设备来将信息投影到屏幕上显示,屏幕表面布置有红外光幕,在屏幕表面或附近布置有红外摄像机。当在屏幕上进行触控时,触控点处的红外光幕的光分布将因触控行为而发生变化,例如触控点处的部分红外光被触控手指反射离开屏幕或因触控手指的作用透射穿过屏幕,红外摄像头拍摄触控点在内的红外图像,捕获用户的触控输入,也即采集触控信息,随时间流逝,红外摄像机可以采集多帧触控信息,每一帧触控信息可以发送给处理器,处理器接收每一帧触控信息。

除了以上内容之外,现有技术还有各种屏幕触控技术和触控屏幕,鉴于这些技术广为本领域技术人员所知,此处没有一一展开说明。

s12:对每一帧中的手指触点进行聚类分组,获得多组手指触点。

在本步骤中,处理器接收每一帧手指触点的触控信息后对其分析,能够获得每一帧中每一个手指触点的坐标信息。之后输入每一个手指触点的坐标信息,可以采用dbscan聚类算法、k值聚类算法、系统聚类算法或最小距离聚类算法中的任意一种将每一帧中的手指触点进行聚类分组。聚类时可以适当设置一些条件,例如限定每一簇的最大点数小于五,以及类的个数等等,鉴于根据点的位置进行相应聚类,及进行系数调整,等已为本领域技术人员所熟知,故此处不对这些算法展开说明。

请参阅图2,图2是本发明一个实施例中对一帧中的手指触点进行聚类分组或分割的示意图。图2中示例性的示出了一帧中包含13个手指触点的情况,经过发明人的实验,采用dbscan聚类算法对手指触点进行分组时达到的分组效果最好,图2中为采用dbscan聚类算法将一帧中的13个手指触点分割为a、b、c、d共4个组。

可以理解的是,当有多个人的手指在触控屏上进行触控时,能够将多个人在触控屏上的手指触点聚类分为不同的组,从而能够同步跟踪每个人的手指触点,这样处理的好处在于,避免现有技术中根据相邻两帧手指触点之间的关系,对每一帧中的一堆点进行整体跟踪造成的识别错误和识别效率低的问题。

s13:跟踪每一组手指触点的运动。

在本步骤中,首先匹配每一组手指触点,接着再对匹配后的每一组中的每一个手指触点进行跟踪,从而能够跟踪每一组手指触点的运动。

s14:当所述多组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,响应所述多组手指触点的触控执行相应的操作。

在本步骤中,通过跟踪每一组手指触点的运动情况,当某组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,响应该组手指触点的触控执行相应的操作。

例如,如果当前帧中有一组手指触点的移动方向、移动速度及与起始点的距离均满足预设条件,则响应该组手指触点的触控执行相应的操作。此处,可以预先在触控屏设备里存储一些满足预设条件时对应的触控操作,以对触控屏中显示的图像内容进行不同的操作或控制,比如:所述对触控屏中显示的图像内容的操作或控制包括对图像进行左移、右移、放大、缩小、删除、标识、书写、翻页或调整图像在触控屏上的布局等,此处仅为举例说明。

又例如:当存在两组以上的手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,只允许响应其中一组手指触点的触控,以免造成多指触控的混乱。

又例如:当存在两组以上的手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,不响应任何一组手指触点的触控,以免造成多指触控的混乱。

又例如,当存在两组以上的手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,可以对两组以上的手指触点的响应设置优先级,根据不同组手指触点的优先级顺序依次响应对应的触控操作。

又例如,当存在两组以上的手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,可以对两组以上的手指触点的响应设置优先级,当高优先级组的手指触点的触控被响应时,其他组手指触点的触控只能被忽略,避免造成混乱。

利用本发明实施例提供的多指触控方法时,能够得到正确的多指触点轨迹,且提高了识别效率和精度,从而能够精确的响应用户的触控操作。

请参阅图3,图3是本发明另一个实施例提供的多指触控方法的流程示意图。该方法包括:

s21:接收用户在第一触控屏上输入的每一帧手指触点的触控信息。

s22:对所述每一帧中的手指触点进行聚类分组,获得多组手指触点。

s23:对每一组手指触点进行编号,以使每一个手指触点被分配一个唯一的组号且每个手指触点拥有唯一的id编号。

在本步骤中,当将每一帧中的手指触点分为多组时,标记每一组手指触点,使得在每一帧中,每一组手指触点拥有唯一的组号且每一个手指触点拥有唯一的id编号。在不同帧中,每一个手指触点的id编号不会发生变化,但是随着手指的运动,在分组时每一个手指触点被分配的组号可能会发生变化。

s24:计算每一组手指触点的聚类中心坐标。

在本步骤中,根据每一组中手指触点的坐标信息能够获得每一组手指触点的聚类中心坐标。例如:某一组中各手指触点的坐标分别为(x11、y11)、(x12、y12)、(x13、y13),则该组的聚类中心坐标为

s25:对于第n帧,获得第n-1帧中每一组手指触点的聚类中心坐标在第n帧中的每一组预测聚类中心坐标,比较第n帧中的每一组手指触点的聚类中心坐标和所述预测聚类中心坐标之间的距离,将两者中距离最小的两组手指触点的组号跟踪为相同,其中,n为大于等于4的整数。

对于第4帧及以后的帧来说,根据前面帧中每一组手指触点的聚类中心坐标及帧间的时间间隔,能够获得每一组手指触点聚类中心的移动速度和加速度,根据每一组手指触点聚类中心的移动速度和加速度能够获得每一组手指触点的聚类中心坐标在下一帧中每一组的预测聚类中心坐标,将第n帧中聚类心中坐标和预测聚类中心坐标之间的距离最小的组判断为相同组号。

进一步地,在一些实施例中,对于第三帧来说,根据前两帧中每一组手指触点的聚类中心坐标及帧间时间间隔,能够获得每一组手指触点的聚类中心的移动速度,根据每一组手指触点聚类中心的移动速度和帧间时间间隔,能够获得每一组聚类中心在第三帧中的每一组预测聚类中心坐标,将第三帧中每一组聚类中心与所述预测聚类中心进行比较,与所述预测聚类中心距离最小的一组认为组号相同。

进一步地,在一些实施例中,对于第二帧,可以计算与第一帧中聚类中心坐标之间的距离,则判断聚类中心坐标距离最小的两组手指触点的组号为相同。在一些实施例中,还可以判断所述两者中的最小距离是否在预设范围内,如果是的话,则判断聚类中心坐标距离最小的两组手指触点的组号为相同。

以下请参考附图来进一步说明。请参照图4a至图4c,图4a至图4c是本发明另一个实施例提供的跟踪每一组手指触点运动的示意图。以第二帧至第四帧中的每一组手指触点为例来进行说明,同时为了清晰,此处没有示出各组中的手指触点,仅以圆圈示意各组。其中,图4a中a(1)、b(1)、c(1)分别表示第二帧中第a组、第b组和第c组手指触点的位置示意图,在图4b中,虚线部分a(1)、b(1)、c(1)分别表示第二帧中第a组、第b组和第c组手指触点的位置,实线部分a(2)、b(2)、c(2)分别表示第三帧中第a组、第b组和第c组手指触点的位置,在图4c中,虚线部分a(2)、b(2)、c(2)分别表示第三帧中第a组、第b组和第c组手指触点的位置,实线部分a(3)、b(3)、c(3)分别表示第四帧中第a组、第b组和第c组手指触点的位置,点划线部分b0表示第b组手指触点在第四帧中的预测聚类中心坐标的位置。下面结合图4a至图4c来说明跟踪第b组手指触点的运动的情况。

在第二帧中根据与第一帧中每一组手指触点的聚类中心坐标之间的最小距离完成每一组手指触点的匹配,对于第三帧或第四帧来说,如果继续按照相邻帧中每一组手指触点的聚类中心坐标之间的最小距离来进行组与组之间的匹配,则会出现错误匹配的情况。例如,对于第四帧来说,请参照图4c,由于第三帧中第b组手指触点b(2)与第四帧中第c组手指触点c(3)的距离h最小,如果继续按照相邻帧中每一组手指触点的聚类中心坐标之间的最小距离来进行组与组之间的匹配,则会出现将第三帧中第b组手指触点b(2)错误地匹配为第四帧中第c组手指触点c(3)的情况。因此,为了提高组与组之间的跟踪精度,本发明对于第三帧和第三帧以后的手指触点,采用如下跟踪方法:

对于第三帧以后的帧,请参阅图4c,根据第一帧至第三帧中第b组手指触点的聚类中心坐标和采样间隔能够确定第b组手指触点的聚类中心的移动速度和加速度,根据所述移动速度和加速度进而能获得第b组手指触点在第四帧中的预测聚类中心坐标b0(如图4c中所示的点划线部分),计算第四帧中的每一组手指触点的聚类中心坐标与预测聚类中心坐标b0之间的距离,发现第四帧中第b组手指触点b(3)的聚类中心坐标距离预测聚类中心b0的距离最小,因此将第四帧中b(3)组手指触点匹配为第b组,从而能够避免错误匹配,提高了跟踪精度。

对于第三帧,根据前两帧中每一组手指触点的聚类中心坐标及帧间时间间隔,获得第二帧中每一组手指触点的聚类中心的速度,根据每一组手指触点的聚类中心的速度,获得第二帧中每一组手指触点的聚类中心坐标在第三帧中的每一组预测聚类中心坐标;之后比较第三帧中的每一组手指触点的聚类中心坐标和所述预测聚类中心坐标之间的距离,将两者中距离最小的两组手指触点的组号跟踪为相同。

s26:对于第n帧,获取第n-1帧中的每一个手指触点在第n帧中的每一个手指预测触点,比较第n帧中的手指触点和所述手指预测触点,将两者中距离最小的手指触点的id编号跟踪为相同。

在本步骤中,对每一组中每一个手指触点的跟踪方法与步骤s25中对每一组的跟踪方法相类似,可参照步骤s25进行理解,此处不再赘述。

在完成对每一帧中每一组手指触点的跟踪之后,对每一组中的手指触点进行跟踪,确定相同组号的组中是否至少存在一个id编号相同的手指触点,如果存在,则说明该组中一直有手指触控,从而判断该组是连续组,由此实现对触控的跟踪,如果不存在,则说明用户在触控的过程中可能出现了将手指完全抬起从而离开屏幕的情况,在下文中将详细描述。

s27:判断相邻帧中拥有相同组号的组中是否存在至少一个id编号相同的手指触点,若存在,则判断所述拥有相同组号的组为连续组,执行步骤s28;若不存在,则判读所述拥有相同组号的组为不连续组,执行步骤s29。

在本步骤中,由于用户在手指触控的过程中可能会出现手指抬起或者手离开触控屏的情况,因此,相邻两帧中,如果组号相同的组里面存在至少一个id编号相同的手指触点,判断该组为连续组;如果组号相同的组里面不存在id编号相同的手指触点,说明该组为移出的组或新增加的组,判断该组为不连续组。

为了便于理解,请再次参阅图2,假设第一帧中第a组中包含id为1、2、3的三个手指触点,如果第二帧中第a组中包含id为1、2、3中任意一个id、或任意两个id或三个id均包含时,判断第a组为有效组;如果第二帧中第a组中不包含id为1、2、3中任何一个id时,判断第a组为不连续组。

在一些实施例中,当n>4时,对于第n帧,根据前n-1帧中每一组手指触点的聚类中心坐标及帧间时间间隔,获得第n-1帧中每一组手指触点的聚类中心的速度、加速度和加速度的一阶导数值,根据每一组手指触点的聚类中心的速度、加速度和加速度的一阶导数值,获得第n-1帧中每一组手指触点的聚类中心坐标在第n帧中的每一组预测聚类中心坐标。

对于第n帧,根据前n-1帧中每一个手指触点的坐标信息及帧间时间间隔,获得第n-1帧中每一个手指触点的速度、加速度和加速度的一阶导数值,根据每一个手指触点的速度、加速度和加速度的一阶导数值,获得第n-1帧中每一个手指触点在第n帧中的每一个手指预测触点。

在获得预测聚类中心坐标和手指预测触点后,余下的处理如前所述,此处从略。此处,通过考虑加速度的一阶导数值,可以更准确地预计手指触点或聚类中心在下一帧中的预测聚类中心坐标和手指预测触点。

s28:根据第n帧与第一帧中拥有相同组号的连续组中手指触点的聚类中心坐标,获得第n帧的该连续组的聚类中心的移动方向、移动速度及与起始点的距离,当该连续组的聚类中心的移动方向在预设移动方向范围内、移动速度在预设移动速度范围内且与起始点的距离处于预设距离范围内时,判断所述连续组满足预设条件,响应所述连续组的触控执行相应的操作;或者当该连续组的聚类中心的移动方向在预设移动方向范围内、且与起始点的距离处于预设距离范围内时,判断所述连续组满足预设条件,响应所述连续组的触控执行相应的操作;或者当该连续组的聚类中心与起始点的距离处于预设距离范围内时,判断所述连续组满足预设条件,响应所述连续组的触控执行相应的操作。

在本步骤中,假设第n帧的某一连续组中手指触点的坐标分别为(x11、y11)、(x12、y12)、(x13、y13),则该连续组的聚类中心坐标为第一帧中与该连续组拥有相同组号的组中手指触点的坐标分别为(x01、y01)、(x02、y02)、(x03、y03),则第一帧中与该连续组拥有相同组号的组的聚类中心坐标为第n帧的该连续组的聚类中心到第一帧中与该连续组拥有相同组号的组的聚类中心的位置差为δx=x-x0,δy=y-y0,第n帧相对于第一帧来说,移动方向为l=δx/δy,与起始点的距离为移动速度为v=δy/t,其中,t为采集第一帧到采集第n帧的时间间隔。当某一连续组的聚类中心的移动方向l在预设移动方向范围内、与起始点的距离r在预设移动距离范围内且移动速度v在预设移动速度范围内时,判断某一连续组满足预设条件。

本实施例中采用第n帧中连续组的聚类中心到第一帧中该连续组的聚类中心的纵坐标的位置差计算速度,在另一些实施例中,也可以采用第n帧中该连续组的聚类中心到第一帧中该连续组的聚类中心的横坐标的位置差来计算速度,或者采用第n帧中该连续组的聚类中心到第一帧中该连续组的聚类中心之间的距离来计算速度。

在本发明另一些实施例中,所述第n帧为最后一帧,即当用户的触控操作结束时,判断最后一帧中的连续组是否满足预设条件,如果满足则响应连续组中的手指触控执行相应的操作。

在本实施例中,响应连续组中的手指触控执行相应的操作,一种可能的实施方式是响应所述连续组的触控将在所述第一触控屏上显示的图像内容输出供第二触控屏显示,或者将预设的与所述第一触控屏上的显示内容关联的信息输出供第二触控屏显示,其中,所述关联的信息可以为文字、图片、表格、视频、网页链接等内容。具体地,处理器可以将第一触控屏上显示的图像内容或者调取预先存储的关联信息发送至多屏拼接处理器,由多屏拼接处理器将图像信号内容或关联信息发送至第二触控屏,仅由第二触控屏显示图像内容或关联信息;或者由多屏拼接处理器将图像信号内容或关联信息发送至第一触控屏和第二触控屏,由第一触控屏和第二触控屏同时显示图像内容或关联信息。

在以上各实施例的描述中,为便于大家理解,引入多屏拼接处理器来说明:由多屏拼接处理器将第一触控屏上的图像内容或关联信息发送至第二触控屏或者第一触控屏和第二触控屏。但本领域技术人员可以理解的是,所述多屏拼接处理器的功能也可以集成到处理器内,由处理器来实现多屏拼接处理器的相关功能。

在本发明另一些实施例中,还可以根据连续组的聚类中心的移动方向来执行对应的操作,此处可以预先在处理器内存储连续组的聚类中心的移动方向对应的控制信息。例如:假设触控屏的左上角为坐标原点,取向右方向为x轴的正方向,向左方向为x轴的负方向,向上方向为y轴的正方向,向下方向为y轴的负方向,连续组的聚类中心的移动方向相对于x轴的斜率为k,则当0°<k≤45°时,表示手指向上滑动,将第一触控屏中的图像内容或关联信息显示到位于第一触控屏上方的第二触控屏中;当45°<k<135°时,表示手指向左滑动,将第一触控屏中的图像内容或关联信息显示到位于第一触控屏左边的第二触控屏中;当135°≤k<225°时,表示手指向下滑动,将第一触控屏中的图像内容或关联信息显示到位于第一触控屏下方的第二触控屏中;当225°≤k<315°时,表示手指向右滑动,将第一触控屏中的图像内容或关联信息显示到位于第一触控屏右边的第二触控屏中。

需要说明的是,上述描述仅是示例性的说明了根据所述连续组的聚类中心的移动方向,触发第一触控屏上的图像内容或关联信息显示在对应移动方向的第二触控屏上。在实际应用中,可自定义设置第一触控屏中的图像内容或关联信息显示在哪个方向的第二触控屏上。

在本发明另一些实施例中,还可以根据第n帧中连续组的聚类中心的横坐标相对于第一帧对应组的聚类中心的横坐标的移动方向δx,或者根据第n帧中连续组的聚类中心的纵坐标相对于第一帧对应组的聚类中心的纵坐标的移动方向δy来决定将第一触控屏的图像内容或关联信息显示在哪个方向的第二触控屏上。例如:当δx>0时,表示手指向右滑动,将第一触控屏上的图像内容或关联信息显示在第一触控屏右边的第二触控屏上;当δx<0时,表示手指向左滑动,将第一触控屏上的图像内容或关联信息显示在第一触控屏左边的第二触控屏上;当δy>0时,表示手指向上滑动,将第一触控屏上的图像内容或关联信息显示在第一触控屏上方的第二触控屏上;当δy<0时,表示手指向下滑动,将第一触控屏上的图像内容或关联信息显示在第一触控屏下边的第二触控屏上。

s29:删除不连续组。

在本步骤中,由于用户在触控过程中可能会将手全部脱离第一触控屏,在这种情况下判断手指触点所在的组为不连续组,将该不连续组删除。

在本发明另一些实施例中,当判断某一组为不连续组时,也可以不对该不连续组进行处理。

利用本发明实施例提供的多指触控方法时,能够得到正确的多指触点轨迹,且提高了识别效率和精度,从而能够精确的响应用户的触控操作。

本发明实施例提供的技术方案,一种可能的应用场景是应用于多屏联动技术中。多屏联动技术是指两台以上的高清触摸显示系统为硬件平台,以互动应用为基础的多屏联动展示系统,在多台的高清触摸显示系统当中可选择一台为主控制屏幕,通过触控主控制屏幕联动控制其它屏幕,为使用者展现更为丰富的展示方式。显示内容分多个对象,如文字、图片、视频等,为用户带来了全新的互动展现形式。然而,现有的多屏联动技术只能通过触控主控制屏幕联动控制其他屏幕,无法实现其他屏幕之间的互动。因此,实现其他屏幕之间的互动,使得画面显示方式更加丰富是一个亟待解决的问题。

下面结合图5来具体说明将本发明实施例提供的多指触控方法应用于多屏联动系统时的应用场景。

请参照图5,图5示出了本发明又一实施例提供的屏幕交互系统的场景示意图。该屏幕交互系统包括:第一触控屏m1和第二触控屏m2、红外激光器g1和g2、红外摄像头b1和b2、处理器s及多屏拼接处理器。其中,第一触控屏m1和第二触控屏m2用于显示图像,可以通过多屏拼接处理器拼接在一起,但可以在空间上分开安置;红外激光器g1和g2用于形成平行于第一触控屏m1和第二触控屏m2的光幕,红外激光器的数目可以与触控屏的数目相同为2个,2个红外激光器g1和g2分别设置于第一触控屏m1和第二触控屏m2的上方;红外摄像头b1和b2用于采集用户在第一触控屏m1上的手指触点的每一帧图像,第一触控屏m1和第二触控屏m2位于红外摄像头b1和b2的视角范围内,可以将红外摄像头的数目设置为与触控屏的数目相同,为2个。红外激光器g1和g2开启时,形成平行于第一触控屏m1和第二触控屏m2的表面并且厚度均匀的激光面。当用户在第一触控屏m1上进行触摸时,实际上是在第一触控屏m1上形成了手指触点的光信号,然后,红外摄像头b1拍摄第一触控屏m1上的手指触点的每一帧图像,之后红外摄像头b1将拍摄的每一帧图像发送至处理器s。处理器s将每一帧图像中的手指触点分割为多组,分别跟踪每一组手指触点的运动情况,当某一组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,则处理器s响应该组手指触点的触控执行相应的操作,由多屏拼接处理器将第一触控屏m1上的图像内容或预设的与第一触控屏m1上的图像内容的关联信息输出供第二触控屏m2显示,或者供第一触控屏m1和第二触控屏m2同时显示。

请参阅图6,图6是本发明又一个实施例提供的将第一触控屏上的图像内容或关联信息输出供第二触控屏显示的示意图。用户在第一触控屏m1上进行多指触控,当多组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,将第一触控屏m1上的图像内容(或预设的与第一触控屏m1上的图像内容的关联信息)显示在第二触控屏m2上。

利用本发明实施例提供的多指触控方法时,能够得到正确的多指触点轨迹,且提高了识别效率和精度,从而能够精确的响应用户的触控操作。同时能够实现多屏联动技术中多屏幕之间的互动,使得图像显示方式更加丰富。

为了更好的理解本发明一个实施例提供的多指触控方法,本发明又一实施例还提供了多指触控装置。其中,名词的含义与上述多指触控的方法相同,具体实现细节可以参考方法实施例中的说明。

请参阅图7,图7是本发明又一实施例提供的多指触控装置的结构示意图。所述装置包括采集单元31、分割单元32、跟踪单元33和执行单元34。

其中,采集单元31用于接收用户在第一触控屏上输入的每一帧手指触点的触控信息;分割单元32用于对所述每一帧手指触点进行聚类分组,获得多组手指触点;跟踪单元33用于跟踪每一组手指触点的运动;执行单元34用于当所述多组手指触点的移动方向、移动速度及与起始点的距离均满足预设条件或其中的某一个或某两个的组合满足预设条件时,响应所述多组手指触点的触控执行相应的操作。

一种可能的实施方式中,分割单元32用于获取所述每一帧中手指触点的坐标信息,根据所述坐标信息,采用dbscan聚类算法、k值聚类算法、系统聚类算法或最小距离聚类算法中的任意一种对所述每一帧中的手指触点进行聚类分组,获得多组手指触点。

一种可能的实施方式中,跟踪单元33用于对分割单元32获得的每一组手指触点进行编号,以使每一个手指触点被分配一个唯一的组号且每个手指触点拥有唯一的id编号;计算每一组手指触点的聚类中心坐标,对于第n帧,获得第n-1帧中每一组手指触点的聚类中心坐标在第n帧中的每一组预测聚类中心坐标,比较第n帧中的每一组手指触点的聚类中心坐标和所述预测聚类中心坐标之间的距离,将两者中距离最小的两组手指触点的组号跟踪为相同,其中,n为大于等于4的整数;对于第n帧,获取第n-1帧中的每一个手指触点在第n帧中的每一个手指预测触点,比较第n帧中的手指触点和所述手指预测触点,将两者中距离最小的手指触点的id编号跟踪为相同,判断相邻帧中拥有相同组号的组中是否存在至少一个id编号相同的手指触点,若存在,则判断所述拥有相同组号的组为连续组;若不存在,则判断所述拥有相同组号的组为不连续组。判断该连续组的聚类中心的移动方向、速度及距离是否满足预设条件,如果满足,则响应该连续组的触控执行相应的操作。

在另一些实施例中,执行单元34用于响应所述多组手指触点的触控将在所述第一触控屏上显示的图像内容或与第一触控屏的显示内容的关联信息输出供第二触控屏显示。

具体地,当仅有一组的聚类中心的移动方向、移动速度及与起始点的距离均满足预设条件时,执行单元34响应该组手指触点的触控执行相应的操作;或者,当至少两组手指触点的移动方向、移动速度及与起始点的距离均满足预设条件时,执行单元34按照每一组手指触点设定的优先级,响应所述多组手指触点的触控执行相应的操作;或者,当至少两组的聚类中心的移动方向、移动速度及与起始点的距离均满足预设条件时,执行单元34不进行任何响应,以免造成触控混乱。

本发明实施例所提供的多指触控装置,与上文所述的多指触控方法属于同一构思,在多指触控装置上可以运行多指触控方法实施例中提供的任一种方法,其具体实现过程详见多指触控方法的实施例,此处不再赘述。

对本发明实施例提供的多指触控装置而言,其各功能单元可以集成在一个处理芯片中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件的功能模块的形式实现。所述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储的介质譬如为只读存储器,磁盘或光盘等。

利用本发明实施例提供的多指触控装置时,能够得到正确的多指触点轨迹,且提高了识别效率和精度,从而能够精确的响应用户的触控操作。

请参照图8,图8是本发明的又一实施例提供的多指触控设备的示意性结构图。结合上述多指触控方法的至少一部分可以由用于多指触控设备400实现,该设备400包括处理器41、存储器42和总线43。

在一些实例中,该多指触控设备400还可以包括输入设备401、输入端口402、输出端口403、以及输出设备404。其中,输入端口402、处理器41、存储器42、以及输出端口403通过总线43相互连接,输入设备401和输出设备404分别通过输入端口402和输出端口403与总线43连接,进而与设备400的其他组件连接。需要说明的是,这里的输出接口和输入接口也可以用i/o接口表示。具体地,输入设备401接收来自外部的输入信息,并通过输入端口402将输入信息传送到处理器41;处理器41基于存储器42中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器42中,然后通过输出端口403将输出信息传送到输出设备404;输出设备403将输出信息输出到设备的外部。

上述存储器42包括用于数据或指令的大容量存储器。举例来说而非限制,存储器42可包括hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器42可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器42可在设备的内部或外部。在特定实施例中,存储器42是非易失性固态存储器。在特定实施例中,存储器42包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

总线43包括硬件、软件或两者,将设备400的部件彼此耦接在一起。举例来说而非限制,总线43可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线43可包括一个或多个总线43。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

当通过图8所示的设备400实现结合图1描述的多指触控方法时,输入设备401接收用户在第一触控屏上的输入的每一帧手指触点的触控信息,在特定实施例中,与输出设备相连的i/o接口可以包括硬件、软件或两者,提供设备400与一个或多个i/o设备之间的通信的一个或多个接口。一个或多个这些i/o设备可允许人和设备400之间的通信。举例来说而非限制,i/o设备可包括摄像机。在合适的情况下,i/o接口可包括一个或多个装置或能够允许处理器41驱动一个或多个这些i/o设备的软件驱动器。该处理器41基于存储器42中存储的计算机可执行指令,分割所述每一帧中的手指触点,获得多组手指触点,跟踪每一组手指触点的运动,当所述多组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,响应所述多组手指触点的触控执行相应的操作。

根据一些实施例,提供了一种计算机可读存储介质,可以包括指令,当其在计算机上运行时,可以使得计算机执行上述的多指触控方法。

因此,该计算机可读存储介质,通过接收用户在第一触控屏上输入的每一帧手指触点的触控信息,对所述每一帧中的手指触点进行聚类分组,获得多组手指触点,跟踪每一组手指触点的运动,当所述多组手指触点的移动方向、移动速度及与起始点的距离满足预设条件时,响应所述多组手指触点的触控执行相应的操作。能够得到正确的多指触点轨迹,且提高了识别效率和精度,从而能够精确的响应用户的触控操作能够得到正确的多指触点轨迹,且提高了识别效率和精度,从而能够精确的响应用户的触控操作。

在一些示例中,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的多指触控方法。

在一些示例中,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述的多指触控方法。

在上述示例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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