基于轨迹的终端控制方法、装置、终端及可读存储介质
技术领域
本申请属于数据处理技术领域,尤其涉及一种基于轨迹的终端控制方法、装置、终端及可读存储介质。
背景技术
随着科学技术的不断发展,各种终端如雨后春笋般出现,其强大的功能给人类的生活及工作带来了极大的便利。
目前,用户在控制终端时,通常是用手指在终端的显示屏幕上进行移动,然后终端获取对应的移动信息,确定移动信息对应的指令以及根据获取到的指令运行对应的服务,然而,在目前的终端控制方法中,终端根据移动信息所确定出的指令的准确性较低,导致终端不能准确地实现服务的运行。
发明内容
本申请实施例提供了基于轨迹的终端控制方法及装置,可以解决以下问题:目前终端根据移动信息所确定出的指令的准确性较低,导致终端不能准确地实现服务的运行。
第一方面,本申请实施例提供了一种基于轨迹的终端控制方法,包括:
获取指定物在终端的显示屏幕上的移动信息;
确定移动信息对应的轨迹;
从预存的轨迹集合中选择一条未被选择过的轨迹;
确定第一矩形,第一矩形为:能够完全容纳移动信息对应的轨迹的最小矩形;
根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放,缩放后的第一矩形与第二矩形完全相同,其中,第二矩形为:能够完全容纳当前选择出的轨迹的最小矩形;
将缩放后的第一矩形分割成N个子矩形,N为大于或者等于二的正整数,N等于第二矩形中的子矩形的数量,缩放后的第一矩形中的子矩形和第二矩形中的子矩形的形状和大小完全相同;
在缩放后的第一矩形中,将缩放后的移动信息对应的轨迹所经过的子矩形的标识确定为第一标识,以及将缩放后的移动信息对应的轨迹未经过的子矩形的标识确定为第二标识;
将缩放后的第一矩形中的各个子矩形的标识分别与对应的第二矩形中的各个子矩形的标识进行比对,得到第一比对结果的数量,第一比对结果用于指示进行比对的两个子矩形的标识相同;
根据第一比对结果的数量和N计算当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度;
若当前选择出的轨迹与移动信息对应的轨迹的相似度等于或者大于预设相似度阈值,则将当前选择出的轨迹确定为与移动信息对应的轨迹相匹配的目标轨迹,并确定目标轨迹对应的指令;
若当前选择出的轨迹与移动信息对应的轨迹的相似度小于预设相似度阈值,且预存的轨迹集合中存在至少一条未被选择过的轨迹,则返回执行从预存的轨迹集合中选择一条未被选择过的轨迹及后续步骤,直至预存的轨迹集合中不存在未被选择过的轨迹;
运行指令对应的服务。
第二方面,本申请实施例提供了一种基于轨迹的终端控制装置,包括:
信息获取单元,用于获取指定物在终端的显示屏幕上的移动信息;
轨迹确定单元,用于确定移动信息对应的轨迹;
指令确定单元,用于从预存的轨迹集合中选择一条未被选择过的轨迹;确定第一矩形,第一矩形为:能够完全容纳移动信息对应的轨迹的最小矩形;根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放,缩放后的第一矩形与第二矩形完全相同,其中,第二矩形为:能够完全容纳当前选择出的轨迹的最小矩形;将缩放后的第一矩形分割成N个子矩形,N为大于或者等于二的正整数,N等于第二矩形中的子矩形的数量,缩放后的第一矩形中的子矩形和第二矩形中的子矩形的形状和大小完全相同;在缩放后的第一矩形中,将缩放后的移动信息对应的轨迹所经过的子矩形的标识确定为第一标识,以及将缩放后的移动信息对应的轨迹未经过的子矩形的标识确定为第二标识;将缩放后的第一矩形中的各个子矩形的标识分别与对应的第二矩形中的各个子矩形的标识进行比对,得到第一比对结果的数量,第一比对结果用于指示进行比对的两个子矩形的标识相同;根据第一比对结果的数量和N计算当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度;若当前选择出的轨迹与移动信息对应的轨迹的相似度等于或者大于预设相似度阈值,则将当前选择出的轨迹确定为与移动信息对应的轨迹相匹配的目标轨迹,并确定目标轨迹对应的指令;若当前选择出的轨迹与移动信息对应的轨迹的相似度小于预设相似度阈值,且预存的轨迹集合中存在至少一条未被选择过的轨迹,则返回执行从预存的轨迹集合中选择一条未被选择过的轨迹及后续步骤,直至预存的轨迹集合中不存在未被选择过的轨迹;
服务运行单元,用于运行指令对应的服务。
第三方面,本申请实施例提供了一种终端,包括:存储器、处理器以及存储在该存储器中并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如该基于轨迹的终端控制方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,包括:该可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如该基于轨迹的终端控制方法的步骤。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:相同形状的不同移动信息对应的轨迹的大小可能不同,即移动信息对应的轨迹的大小通常具有较大的不确定性。例如,假设指令“开启应用”对应的轨迹为一个圆形,用户为了指示终端开启应用,便在不考虑待画出的圆形的大小的情况下,使用手指在显示屏幕上画了一个圆形,用户所画出的圆形的大小具有较大的随意性,即移动信息对应的轨迹的大小具有较大的不确定性。为了能够使得大小具有较大的不确定性的移动信息对应的轨迹与预存的轨迹集合中轨迹具备可比性,因此,终端确定第一矩形,该第一矩形为:能够完全容纳移动信息对应的轨迹的最小矩形,然后根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放,缩放后的第一矩形与第二矩形完全相同,该第二矩形为:能够完全容纳当前选择出的轨迹的最小矩形,缩放后的第一矩形为:能够完全容纳缩放后的移动信息对应的轨迹的最小矩形,从而能够缩小移动信息对应的轨迹的大小与当前选择出的轨迹的大小之间的差距,以有效地避免:移动信息对应的轨迹的大小与当前选择出的轨迹的大小之间的差距降低后续计算出的当前选择出的轨迹的形状与移动信息对应的轨迹的形状的相似度的准确度,进而提高后续确定出的指令的准确性,从而能够准确地实现服务的运行。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于轨迹的终端控制方法的流程示意图;
图2是本申请实施例提供的第一矩形的示意图;
图3是本申请实施例提供的目标点的示意图;
图4是本申请实施例提供的缩放前的第一矩形、缩放前的移动信息对应的轨迹、缩放后的第一矩形以及缩放后的移动信息对应的轨迹的示意图,其中,图4中的(a)为缩放前的第一矩形和缩放前的移动信息对应的轨迹的示意图,图4中的(b)缩放后的第一矩形和缩放后的移动信息对应的轨迹的示意图;
图5是本申请实施例提供的一种基于轨迹的终端控制装置的结构示意图;
图6是本申请实施例提供的终端的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
实施例一:
图1示出了本申请实施例提供的第一种基于轨迹的终端控制方法的流程示意图,该基于轨迹的终端控制方法应用于配置有显示屏幕的终端,详述如下:
步骤S101、获取指定物在终端的显示屏幕上的移动信息。
其中,该移动信息包括指定物在终端的显示屏幕上移动时所经过的显示屏幕上的点(像素)的坐标,指定物在显示屏幕上移动时所经过的显示屏幕上的点的数量为大于或者等于二的正整数。
作为示例而非限定的是,该指定物可为以下任一种:手指、指定鼠标对应的鼠标指针,该指定鼠标为:能与该终端进行有线通讯或者无线通讯的鼠标。
作为示例而非限定的是,若指定物为手指,则对应地,步骤S101包括:若检测到手指在终端的显示屏幕上移动,则当该手指停止移动,且从停止移动的时间点到当前时间点之间的时长等于预设时间长度时,获取手指在终端的显示屏幕上的移动信息。
例如,假设指定物为手指,预设时间长度为1秒,对应地,步骤S101可具体包括:若检测到手指在终端的显示屏幕上移动2秒后停止移动,则当停止移动的时间点到当前时间点之间的时长等于1秒时,获取手指在终端的显示屏幕上移动2秒时所经过的显示屏幕上的点的坐标。
作为示例而非限定的是,若指定物为指定鼠标对应的鼠标指针,则对应地,步骤S101包括:若检测到指定鼠标的按键被按下并移动,则当移动后的指定鼠标的按键被松开时,获取指定鼠标对应的鼠标指针在显示屏幕上的移动信息。
例如,假设指定物为指定鼠标对应的鼠标指针,对应地,步骤S101可具体包括:若检测到指定鼠标的左键被按下并移动2秒,则当移动后的指定鼠标的左键被松开时,获取指定鼠标对应的鼠标指针在终端的显示屏幕上移动2秒时所经过的显示屏幕上的点的坐标。
步骤S102、确定移动信息对应的轨迹。
具体地,根据指定物在显示屏幕上移动时经过显示屏幕上的点的时间,确定移动信息对应的轨迹。
作为示例而非限定的是,假设指定物在显示屏幕上移动时所经过的显示屏幕上的点的数量为4,分别为点a、点b、点c以及点d,指定物在显示屏幕上移动时经过点a、点b、点c、点d的时间分别为10点01分01秒、10点01分02秒、10点01分03秒、10点01分04秒,确定指定物在显示屏幕上移动时经过点a、点b、点c以及点d的时间对应的时间先后顺序,确定出的时间先后顺序从早到晚排列依次为:10点01分01秒、10点01分02秒、10点01分03秒、10点01分04秒,根据确定出的时间先后顺序依次对指定物在显示屏幕上移动时所经过的显示屏幕上的点进行连接,根据连接结果确定移动信息对应的轨迹,具体可为:根据确定出的时间先后顺序,将点a与点b进行连接,将点b与点c进行连接,将点c与点d进行连接,将连接结果(连接结果经过点a、点b、点c以及点d)确定为移动信息对应的轨迹。
步骤S103、从预存的轨迹集合中选择一条未被选择过的轨迹。
其中,未被选择过的轨迹指:在执行该步骤S102之后未被选择过的轨迹。
步骤S104、确定第一矩形,第一矩形为:能够完全容纳移动信息对应的轨迹的最小矩形。
作为示例而非限定的是,如图2所示,假设移动信息对应的轨迹为轨迹A,对应地,确定第一矩形(能够完全容纳轨迹A的最小矩形)可为矩形1。
在一些实施例中,显示屏幕为矩形,显示屏幕的4条边分别为第一边、第二边、第三边、第四边,对应地,在步骤S104之前,确定目标点,目标点包括:移动信息对应的轨迹中离第一边最近的点、移动信息对应的轨迹中离第二边最近的点、移动信息对应的轨迹中离第三边最近的点以及移动信息对应的轨迹中离第四边最近的点。
对应地,步骤S104包括:根据目标点的坐标确定第一矩形。
其中,根据目标点的坐标确定第一矩形具体包括:根据目标点的坐标确定出第一直线、第二直线、第三直线、第四直线,第一直线经过移动信息对应的轨迹中离第一边最近的点且与第一边平行,第二直线经过移动信息对应的轨迹中离第二边最近的点且与第二边平行,第三直线经过移动信息对应的轨迹中离第三边最近的点且与第三边平行,第四直线经过移动信息对应的轨迹中离第四边最近的点且与第四边平行,将第一直线、第二直线、第三直线以及第四直线包围起来的矩形确定为第一矩形。
作为示例而非限定的是,如图3所示,假设目标点包括:点a、点b、点c以及点d,其中,点a为移动信息对应的轨迹中离第一边最近的点、点b为移动信息对应的轨迹中离第二边最近的点,点c为移动信息对应的轨迹中离第三边最近的点,点d为移动信息对应的轨迹中离第四边最近的点,根据点a的纵坐标Ya确定第一直线,第一直线经过点a且与第一边平行,即第一直线可表示为直线y=Ya;根据点b的纵坐标Yb确定第二直线,第二直线经过点b且与第二边平行,即第二直线可表示为直线y=Yb;根据点c的横坐标Xc确定第三直线,第三直线经过点c且与第三边平行,即第三直线可表示为直线x=Xc;根据点d的横坐标Xd确定第四直线,第四直线经过点d且与第四边平行,即第四直线可表示为直线x=Xd,将直线y=Ya、直线y=Yb、直线x=Xc以及直线x=Xd包围起来的矩形确定为第一矩形。
步骤S105、根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放,缩放后的第一矩形与第二矩形完全相同,其中,第二矩形为:能够完全容纳当前选择出的轨迹的最小矩形。
在本实施例中,该第一矩形的长为第一矩形在水平方向上的边长,该第一矩形的宽为第一矩形在垂直方向上的边长,同理,第二矩形的长为第二矩形在水平方向上的边长,该第二矩形的宽为第二矩形在垂直方向上的边长。
具体地,根据第一矩形的长与第二矩形的长之间的比例,将移动信息对应的轨迹和第一矩形在水平方向上进行同步缩放,以及,根据第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形在垂直方向上进行同步缩放,缩放后的第一矩形和第二矩形完全相同,缩放后的第一矩形为:能够完全容纳缩放后的移动信息对应的轨迹的最小矩形。
作为示例而非限定的是,缩放前的移动信息对应的轨迹、缩放前的第一矩形、缩放后的第一矩形以及缩放后的移动信息对应的轨迹可如图4所示,其中,图4的(a)中的矩形为缩放前的第一矩形,(a)中的圆形为缩放前的移动信息对应的轨迹,图4的(b)中的矩形为缩放后的第一矩形,(b)中的圆形为缩放后的移动信息对应的轨迹。
步骤S106、将缩放后的第一矩形分割成N个子矩形,N为大于或者等于二的正整数,N等于第二矩形中的子矩形的数量,缩放后的第一矩形中的子矩形和第二矩形中的子矩形的形状和大小完全相同。
具体地,根据第二矩形中的子矩形的长和第二矩形中的子矩形的宽将缩放后的第一矩形分割成N个子矩形,缩放后的第一矩形中的子矩形的长和第二矩形中的子矩形的长相同,缩放后的第一矩形中的子矩形的宽和第二矩形中的子矩形的宽相同,即缩放后的第一矩形中的子矩形和第二矩形中的子矩形的形状和大小完全相同。
步骤S107、在缩放后的第一矩形中,将缩放后的移动信息对应的轨迹所经过的子矩形的标识确定为第一标识,以及将缩放后的移动信息对应的轨迹未经过的子矩形的标识确定为第二标识。
其中,第一标识为:在第二矩形中,当前选择出的轨迹所经过的子矩形的标识;第二标识为:在第二矩形中,当前选择出的轨迹未经过的子矩形的标识,第一标识、第二标识可分别为两个不同的自然数,例如,第一标识、第二标识可分别为1、0。
步骤S108、将缩放后的第一矩形中的各个子矩形的标识分别与对应的第二矩形中的各个子矩形的标识进行比对,得到第一比对结果的数量,第一比对结果用于指示进行比对的两个子矩形的标识相同。
步骤S109、根据第一比对结果的数量和N计算当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度。
具体地,将第一比对结果的数量除以N,得到第一商,将第一商确定为当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度,其中,该第一商为第一比对结果的数量除以N所得的商。
举以下例子说明步骤S106至步骤S109,假设第二矩形中的子矩形的数量为4,第二矩形中的子矩形的长和宽分别为1、1,第一标识为1,第二标识为0,对应地,将缩放后的第一矩形分割成4个子矩形,缩放后的第一矩形中的子矩形的长和宽分别为1、1,即缩放后的第一矩形中的子矩形和第二矩形中的子矩形的形状和大小完全相同,在缩放后的第一矩形中,将缩放后的移动信息对应的轨迹所经过的子矩形的标识确定为1,以及将缩放后的移动信息对应的轨迹未经过的子矩形的标识确定为0,将缩放后的第一矩形中的各个子矩形的标识分别与对应的第二矩形中的各个子矩形的标识进行比对(即将缩放后的第一矩形中的第一行第一列的子矩形的标识、缩放后的第一矩形中的第一行第二列的子矩形的标识、缩放后的第一矩形中的第二行第一列的子矩形的标识、缩放后的第一矩形中的第二行第二列的子矩形的标识分别与第二矩形中的第一行第一列的子矩形的标识、第二矩形中的第一行第二列的子矩形的标识、第二矩形中的第二行第一列的子矩形的标识、第二矩形中的第二行第二列的子矩形的标识进行比对),假设缩放后的第一矩形中的第一行第一列的子矩形的标识、缩放后的第一矩形中的第一行第二列的子矩形的标识、缩放后的第一矩形中的第二行第一列的子矩形的标识分别与第二矩形中的第一行第一列的子矩形的标识、第二矩形中的第一行第二列的子矩形的标识、第二矩形中的第二行第一列的子矩形的标识相同,对应地,得到第一比对结果的数量为3,将3除以4,得到第一商0.75,可将其表示为百分比形式,即第一商为75%,将75%确定为当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度。
步骤S1010、若当前选择出的轨迹与移动信息对应的轨迹的相似度等于或者大于预设相似度阈值,则将当前选择出的轨迹确定为与移动信息对应的轨迹相匹配的目标轨迹,并确定目标轨迹对应的指令;若当前选择出的轨迹与移动信息对应的轨迹的相似度小于预设相似度阈值,且预存的轨迹集合中存在至少一条未被选择过的轨迹,则返回执行步骤S103及后续步骤,直至预存的轨迹集合中不存在未被选择过的轨迹。
其中,目标轨迹为:与移动信息对应的轨迹相匹配的轨迹,意味着,目标轨迹的形状与移动信息对应的轨迹的形状的相似度大于或者等于预设相似度阈值;另外,相似度的表示形式可为百分比形式。
作为示例而非限定的是,目标轨迹对应的指令包括但不限于以下任一种:关闭终端、黑屏、开启指定应用、指示显示屏幕显示桌面、关闭应用,预存的轨迹集合可包括至少两条轨迹。
步骤S1011、运行指令对应的服务。
作为示例而非限定的是,假设指令对应的服务为开启指定应用,对应地,步骤S1011包括:开启指定应用。
可选地,终端为了能够针对显示屏幕上所显示的图标运行服务,因此,在步骤S1011之前,包括:确定移动信息对应的图标;对应地,步骤S1011包括:对确定出的图标运行指令对应的服务。
其中,确定移动信息对应的图标包括:将指定物在显示屏幕上移动时所经过的图标确定为移动信息对应的图标。
在一些实施例中,若确定出的图标的数量为大于一的正整数,则对应地,对确定出的图标运行指令对应的服务包括:分别对确定出的各个图标运行指令对应的服务,即能对确定出的所有图标运行指令对应的服务。
本实施例中,终端对确定出的所有图标运行指令对应的服务,即指定物在显示屏幕上的单次移动能使得终端对图标进行批量操作,由于指定物一般都是由用户操控的,因此,这能大大提高用户对终端的操作效率。
作为示例而非限定的是,假设确定出的图标的数量为2,确定出的图标包括:应用1的图标和应用2的图标,指令对应的服务为关闭图标对应的应用,对应地,分别对应用1的图标、应用2的图标运行指令对应的服务,即关闭应用1、关闭应用2。
在一些实施例中,用户在使用终端的过程中,容易对图标进行误操作。例如,假设图标1对应的图标显示区域与图标2对应的图标显示区域邻近,用户为了能够指示终端仅对图标1运行指令对应的服务,用户的手指在图标1对应的图标显示区域上移动,用户的手指在图标1对应的图标显示区域上移动时所经过的显示屏幕上的点较多,之后,用户的手指不小心移动到图标2对应的图标显示区域中,用户的手指在图标2对应的图标显示区域上移动时所经过的显示屏幕上的点极少,即用户对图标2进行了误操作。终端为了能够提高容错性,以降低用户对图标进行误操作所导致的负面影响,若确定出的图标的数量为大于一的正整数,则对应地,对确定出的图标运行指令对应的服务包括:对确定出的多个图标中的目标图标运行指令对应的服务,其中,该目标图标指:包含数量等于或者大于预设数量的移动信息对应的点的图标显示区域对应的图标,即该目标图标在显示屏幕上的图标显示区域所包含的移动信息对应的点的数量等于或者大于预设数量,即,该目标图标在显示屏幕上的图标显示区域包含数量等于或者大于预设数量的“指定物在显示屏幕上移动时所经过的显示屏幕上的点”。
作为示例而非限定的是,假设确定出的图标的数量为2,确定出的图标包括:应用1的图标和应用2的图标,预设数量为2,对应地,目标图标为包含数量等于或者大于2的移动信息对应的点的图标显示区域对应的图标,假设指定物在显示屏幕上移动时所经过的显示屏幕上的点包括:点a、点b、点c以及点d,即移动信息对应的点包括:点a、点b、点c以及点d,其中,点a、点b、点c在应用1的图标对应的图标显示区域中,点d在应用2的图标对应的图标显示区域中,由于应用1的图标对应的图标显示区域所包含的移动信息对应的点为3,其大于预设数量2,应用2的图标对应的图标显示区域所包含的移动信息对应的点为1,其小于预设数量1,因此,可将应用1的图标确定为目标图标,对应地,对应用1的图标运行指令对应的服务。
本申请实施例中,相同形状的不同移动信息对应的轨迹的大小可能不同,即移动信息对应的轨迹的大小通常具有较大的不确定性。例如,假设指令“开启应用”对应的轨迹为一个圆形,用户为了指示终端开启应用,便在不考虑待画出的圆形的大小的情况下,使用手指在显示屏幕上画了一个圆形,用户所画出的圆形的大小具有较大的随意性,即移动信息对应的轨迹的大小具有较大的不确定性。为了能够使得大小具有较大的不确定性的移动信息对应的轨迹与预存的轨迹集合中轨迹具备可比性,因此,终端确定第一矩形,该第一矩形为:能够完全容纳移动信息对应的轨迹的最小矩形,然后根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放,缩放后的第一矩形与第二矩形完全相同,该第二矩形为:能够完全容纳当前选择出的轨迹的最小矩形,缩放后的第一矩形为:能够完全容纳缩放后的移动信息对应的轨迹的最小矩形,从而能够缩小移动信息对应的轨迹的大小与当前选择出的轨迹的大小之间的差距,以有效地避免:移动信息对应的轨迹的大小与当前选择出的轨迹的大小之间的差距降低后续计算出的当前选择出的轨迹的形状与移动信息对应的轨迹的形状的相似度的准确度,进而提高后续确定出的指令的准确性,从而能够准确地实现服务的运行。
实施例二:
与上述实施例一对应,图5示出了本申请实施例提供的一种基于轨迹的终端控制装置的结构示意图,该基于轨迹的终端控制装置应用于配置有显示屏幕的终端,基于轨迹的终端控制装置包括:信息获取单元501、轨迹确定单元502、指令确定单元503以及服务运行单元504。其中:
信息获取单元501,用于获取指定物在终端的显示屏幕上的移动信息。
其中,该移动信息包括指定物在终端的显示屏幕上移动时所经过的显示屏幕上的点(像素)的坐标,指定物在显示屏幕上移动时所经过的显示屏幕上的点的数量为大于或者等于二的正整数。
作为示例而非限定的是,该指定物可为以下任一种:手指、指定鼠标对应的鼠标指针,该指定鼠标为:能与该终端进行有线通讯或者无线通讯的鼠标。
作为示例而非限定的是,若指定物为手指,则对应地,信息获取单元501在获取指定物在终端的显示屏幕上的移动信息时,具体用于:若检测到手指在终端的显示屏幕上移动,则当该手指停止移动,且从停止移动的时间点到当前时间点之间的时长等于预设时间长度时,获取手指在终端的显示屏幕上的移动信息。
作为示例而非限定的是,若指定物为指定鼠标对应的鼠标指针,则对应地,信息获取单元501在获取指定物在终端的显示屏幕上的移动信息时,具体用于:若检测到指定鼠标的按键被按下并移动,则当移动后的指定鼠标的按键被松开时,获取指定鼠标对应的鼠标指针在显示屏幕上的移动信息。
轨迹确定单元502,用于确定移动信息对应的轨迹。
轨迹确定单元502,具体用于:根据指定物在显示屏幕上移动时经过显示屏幕上的点的时间,确定移动信息对应的轨迹。
指令确定单元503,用于从预存的轨迹集合中选择一条未被选择过的轨迹;确定第一矩形,第一矩形为:能够完全容纳移动信息对应的轨迹的最小矩形;根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放,缩放后的第一矩形与第二矩形完全相同,其中,第二矩形为:能够完全容纳当前选择出的轨迹的最小矩形;将缩放后的第一矩形分割成N个子矩形,N为大于或者等于二的正整数,N等于第二矩形中的子矩形的数量,缩放后的第一矩形中的子矩形和第二矩形中的子矩形的形状和大小完全相同;在缩放后的第一矩形中,将缩放后的移动信息对应的轨迹所经过的子矩形的标识确定为第一标识,以及将缩放后的移动信息对应的轨迹未经过的子矩形的标识确定为第二标识;将缩放后的第一矩形中的各个子矩形的标识分别与对应的第二矩形中的各个子矩形的标识进行比对,得到第一比对结果的数量,第一比对结果用于指示进行比对的两个子矩形的标识相同;根据第一比对结果的数量和N计算当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度;若当前选择出的轨迹与移动信息对应的轨迹的相似度等于或者大于预设相似度阈值,则将当前选择出的轨迹确定为与移动信息对应的轨迹相匹配的目标轨迹,并确定目标轨迹对应的指令;若当前选择出的轨迹与移动信息对应的轨迹的相似度小于预设相似度阈值,且预存的轨迹集合中存在至少一条未被选择过的轨迹,则返回执行步骤“从预存的轨迹集合中选择一条未被选择过的轨迹”及后续步骤,直至预存的轨迹集合中不存在未被选择过的轨迹;
其中,未被选择过的轨迹指:在轨迹确定单元502确定移动信息对应的轨迹之后,未被选择过的轨迹。
在一些实施例中,显示屏幕为矩形,显示屏幕的4条边分别为第一边、第二边、第三边、第四边,对应地,指令确定单元503还用于:在确定第一矩形之前,确定目标点,目标点包括:移动信息对应的轨迹中离第一边最近的点、移动信息对应的轨迹中离第二边最近的点、移动信息对应的轨迹中离第三边最近的点以及移动信息对应的轨迹中离第四边最近的点;对应地,指令确定单元503在确定第一矩形时,用于:根据目标点的坐标确定第一矩形。
其中,根据目标点的坐标确定第一矩形具体包括:根据目标点的坐标确定出第一直线、第二直线、第三直线、第四直线,第一直线经过移动信息对应的轨迹中离第一边最近的点且与第一边平行,第二直线经过移动信息对应的轨迹中离第二边最近的点且与第二边平行,第三直线经过移动信息对应的轨迹中离第三边最近的点且与第三边平行,第四直线经过移动信息对应的轨迹中离第四边最近的点且与第四边平行,将第一直线、第二直线、第三直线以及第四直线包围起来的矩形确定为第一矩形。
在本实施例中,该第一矩形的长为第一矩形在水平方向上的边长,该第一矩形的宽为第一矩形在垂直方向上的边长,同理,第二矩形的长为第二矩形在水平方向上的边长,该第二矩形的宽为第二矩形在垂直方向上的边长。
指令确定单元503在根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放时,具体用于:根据第一矩形的长与第二矩形的长之间的比例,将移动信息对应的轨迹和第一矩形在水平方向上进行同步缩放,以及,根据第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形在垂直方向上进行同步缩放,缩放后的第一矩形和第二矩形完全相同,缩放后的第一矩形为:能够完全容纳缩放后的移动信息对应的轨迹的最小矩形。
指令确定单元503在将缩放后的第一矩形分割成N个子矩形时,具体用于根据第二矩形中的子矩形的长和第二矩形中的子矩形的宽将缩放后的第一矩形分割成N个子矩形,缩放后的第一矩形中的子矩形的长和第二矩形中的子矩形的长相同,缩放后的第一矩形中的子矩形的宽和第二矩形中的子矩形的宽相同,即缩放后的第一矩形中的子矩形和第二矩形中的子矩形的形状和大小完全相同。
另外,第一标识为:在第二矩形中,当前选择出的轨迹所经过的子矩形的标识;第二标识为:在第二矩形中,当前选择出的轨迹未经过的子矩形的标识,第一标识、第二标识可分别为两个不同的自然数,例如,第一标识、第二标识可分别为1、0。
指令确定单元503在根据第一比对结果的数量和N计算当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度时,具体用于将第一比对结果的数量除以N,得到第一商,将第一商确定为当前选择出的轨迹与缩放后的移动信息对应的轨迹的相似度,其中,该第一商为第一比对结果的数量除以N所得的商。
另外,目标轨迹为:与移动信息对应的轨迹相匹配的轨迹,意味着,目标轨迹的形状与移动信息对应的轨迹的形状的相似度大于或者等于预设相似度阈值;另外,相似度的表示形式可为百分比形式。
作为示例而非限定的是,目标轨迹对应的指令包括但不限于以下任一种:关闭终端、黑屏、开启指定应用、指示显示屏幕显示桌面、关闭应用,预存的轨迹集合可包括至少两条轨迹。
服务运行单元504,用于运行指令对应的服务。
可选地,终端为了能够针对显示屏幕上所显示的图标运行服务,因此,该基于轨迹的终端控制装置还包括:图标确定单元。
图标确定单元用于:在服务运行单元504运行指令对应的服务之前,确定移动信息对应的图标;对应地,服务运行单元504在运行指令对应的服务时,具体用于:对确定出的图标运行指令对应的服务。
其中,确定移动信息对应的图标包括:将指定物在显示屏幕上移动时所经过的图标确定为移动信息对应的图标。
在一些实施例中,若确定出的图标的数量为大于一的正整数,则对应地,服务运行单元504具体用于:分别对确定出的各个图标运行指令对应的服务,即能对确定出的所有图标运行指令对应的服务。
本实施例中,终端对确定出的所有图标运行指令对应的服务,即指定物在显示屏幕上的单次移动能使得终端对图标进行批量操作,由于指定物一般都是由用户操控的,因此,这能大大提高用户对终端的操作效率。
在一些实施例中,用户在使用终端的过程中,容易对图标进行误操作。例如,假设图标1对应的图标显示区域与图标2对应的图标显示区域邻近,用户为了能够指示终端仅对图标1运行指令对应的服务,用户的手指在图标1对应的图标显示区域上移动,用户的手指在图标1对应的图标显示区域上移动时所经过的显示屏幕上的点较多,之后,用户的手指不小心移动到图标2对应的图标显示区域中,用户的手指在图标2对应的图标显示区域上移动时所经过的显示屏幕上的点极少,即用户对图标2进行了误操作。终端为了能够提高容错性,以降低用户对图标进行误操作所导致的负面影响,若确定出的图标的数量为大于一的正整数,则对应地,服务运行单元504在对确定出的图标运行指令对应的服务时,具体用于:对确定出的多个图标中的目标图标运行指令对应的服务,其中,该目标图标指:包含数量等于或者大于预设数量的移动信息对应的点的图标显示区域对应的图标,即该目标图标在显示屏幕上的图标显示区域所包含的移动信息对应的点的数量等于或者大于预设数量,即,该目标图标在显示屏幕上的图标显示区域包含数量等于或者大于预设数量的“指定物在显示屏幕上移动时所经过的显示屏幕上的点”。
本申请实施例中,相同形状的不同移动信息对应的轨迹的大小可能不同,即移动信息对应的轨迹的大小通常具有较大的不确定性。例如,假设指令“开启应用”对应的轨迹为一个圆形,用户为了指示终端开启应用,便在不考虑待画出的圆形的大小的情况下,使用手指在显示屏幕上画了一个圆形,用户所画出的圆形的大小具有较大的随意性,即移动信息对应的轨迹的大小具有较大的不确定性。为了能够使得大小具有较大的不确定性的移动信息对应的轨迹与预存的轨迹集合中轨迹具备可比性,因此,终端确定第一矩形,该第一矩形为:能够完全容纳移动信息对应的轨迹的最小矩形,然后根据第一矩形的长与第二矩形的长之间的比例,以及第一矩形的宽与第二矩形的宽之间的比例,将移动信息对应的轨迹和第一矩形进行同步缩放,缩放后的第一矩形与第二矩形完全相同,该第二矩形为:能够完全容纳当前选择出的轨迹的最小矩形,缩放后的第一矩形为:能够完全容纳缩放后的移动信息对应的轨迹的最小矩形,从而能够缩小移动信息对应的轨迹的大小与当前选择出的轨迹的大小之间的差距,以有效地避免:移动信息对应的轨迹的大小与当前选择出的轨迹的大小之间的差距降低后续计算出的当前选择出的轨迹的形状与移动信息对应的轨迹的形状的相似度的准确度,进而提高后续确定出的指令的准确性,从而能够准确地实现服务的运行。
实施例三:
图6为本申请一实施例提供的终端的结构示意图。如图6所示,该实施例的终端6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在该存储器61中并可在该至少一个处理器60上运行的计算机程序62,该处理器60执行该计算机程序62时实现上述任意各个基于轨迹的终端控制方法实施例中的步骤。
该终端6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端6的举例,并不构成对终端6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器61在一些实施例中可以是该终端6的内部存储单元,例如终端6的硬盘或内存。该存储器61在另一些实施例中也可以是该终端6的外部存储设备,例如该终端6上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,该存储器61还可以既包括该终端6的内部存储单元也包括外部存储设备。该存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如该计算机程序的程序代码等。该存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将该装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种可读存储介质,该可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该的计算机程序可存储于一可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,该计算机程序包括计算机程序代码,该计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。该计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照终端的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的网络设备和方法,可以通过其它的方式实现。例如,以上所描述的网络设备实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。