CN101667089B - 一种触摸手势的识别方法和装置 - Google Patents

一种触摸手势的识别方法和装置 Download PDF

Info

Publication number
CN101667089B
CN101667089B CN2008101466836A CN200810146683A CN101667089B CN 101667089 B CN101667089 B CN 101667089B CN 2008101466836 A CN2008101466836 A CN 2008101466836A CN 200810146683 A CN200810146683 A CN 200810146683A CN 101667089 B CN101667089 B CN 101667089B
Authority
CN
China
Prior art keywords
point
angle
coordinate data
subelement
distance
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.)
Expired - Fee Related
Application number
CN2008101466836A
Other languages
English (en)
Other versions
CN101667089A (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.)
BYD Semiconductor Co Ltd
Original Assignee
BYD 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 BYD Co Ltd filed Critical BYD Co Ltd
Priority to CN2008101466836A priority Critical patent/CN101667089B/zh
Publication of CN101667089A publication Critical patent/CN101667089A/zh
Application granted granted Critical
Publication of CN101667089B publication Critical patent/CN101667089B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了一种触摸手势的识别方法和装置,其中,方法包括:从电阻式触摸屏检测到的手势轨迹上按顺序采集至少4个点的坐标数据;利用所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,并比较各点相对于第一点旋转的角度;根据得到的比较结果确定触摸手势为旋转运动或伸缩运动。本发明根据电阻式触摸屏不能检测到两点触摸时两点各自的位置,仅能够检测到两点之间中间点所形成的轨迹的缺点,确定采集到的各点相对于采集到的第一点旋转的角度,根据各点相对于第一点的旋转角度来确定运动趋势,从而巧妙地实现对电阻式触摸屏的两点触摸手势进行识别。

Description

一种触摸手势的识别方法和装置
技术领域
本发明涉及一种计算机识别技术,特别涉及一种触摸手势的识别方法和装置。
背景技术
随着计算机技术的不断发展,触摸屏作为一种方便直观的人机接口得到越来越广泛的应用,并且,对触摸屏的触摸方式从单点触摸逐渐向多点触摸发展。多点触摸主要是两点触摸,即两根手指在触摸屏上触摸和滑动形成特定的手势来表示某种特定操作,两点触摸主要体现为两种触摸手势:一种为一根手指固定在触摸屏上输入一个固定点,另一根手指相对该固定点进行直线相离或相向的伸缩运动,这种手势可以用来表示对图像的放大或缩小操作;另一种为一根手指固定在触摸屏上输入一个固定点,另一根手指相对该固定点按顺时针或逆时针做旋转运动,这种手势可以用来表示对图像进行顺时针或逆时针旋转操作。
触摸屏主要分为两种,一种是电容式触摸屏,一种是电阻式触摸屏。其中,电容式触摸屏由于具有多点检测功能,可以分别提供两点触摸过程中各点的位置信息,即第一根手指输入的固定点的位置,以及另一根手指做出的轨迹中各点的位置,因此,很容易判断出另一根手指做出的轨迹中各点相对于固定点的运动方式,因而很容易实现两点触摸的触摸手势识别。
然而,由于电阻时触摸屏是由横向和纵向两组相互间隔的电阻丝构成,在对触摸屏进行触摸时,触摸点上的两组电阻丝接触,从而改变了横向和纵向电阻层的电阻值,继而改变了电压,通过检测横向和纵向的电压值来检测触摸点的横向和纵向的位置。对于两点触摸,电阻式触摸屏检测到的是两点之间的中间点的位置,对于上述两种触摸手势,电阻式触摸屏检测到的是第二根手指做出的轨迹中各点分别与第一根手指的固定点之间的中间值轨迹,因此,并不能得出另一手势相对于固定点的位置值,这便给电阻式触摸屏的两点触摸手势识别带来了一定的困难。而现有技术中尚没有一种方式能够对电阻式触摸屏的两点触摸手势进行识别。
发明内容
有鉴于此,本发明提供了一种触摸手势的识别方法和装置,以便于实现对电阻式触摸屏的两点触摸手势进行识别。
本发明提供的技术方案为:一种触摸手势的识别方法,该方法包括:
A、从电阻式触摸屏检测到的手势轨迹上按顺序采集至少4个点的坐标数据;
B、利用所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,并比较各点相对于第一点旋转的角度;
所述步骤B具体为:利用所述坐标数据,从采集到的第三点开始逐一确定采集到的各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角;判断从第三点开始逐一确定的所述夹角是否为递增或递减顺序并且所述夹角之间的差值都大于设定的夹角阈值;
C、根据所述步骤B得到的判断结果确定触摸手势为旋转运动或伸缩运动;
所述步骤C具体为:如果所述步骤B的判断结果为是,则确定该触摸手势为旋转运动;否则,确定该触摸手势为伸缩运动。
本发明还提供了一种触摸手势的识别装置,该装置包括:数据采集单元、信息比较单元和手势确定单元;
所述数据采集单元,用于从电阻式触摸屏检测到的手势轨迹上按顺序采集至少4个点的坐标数据,并将采集到的坐标数据提供给所述信息比较单元;
所述信息比较单元,用于根据所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,比较各点相对于第一点旋转的角度,并将比较结果提供给所述手势确定单元;
所述信息比较单元包括:夹角确定子单元和夹角比较子单元;
所述夹角确定子单元,用于利用所述坐标数据,从采集到的第三点开始逐一确定各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角;
所述夹角比较子单元,用于判断从第三点开始逐一确定的所述夹角是否为递增或递减顺序并且所述夹角之间的差值是否都大于设定的夹角阈值,并将判断结果作为所述比较结果发送给所述手势确定单元;
所述手势确定单元,用于根据所述比较结果确定触摸手势为旋转运动或伸缩运动,
其中,所述手势确定单元在接收到所述判断结果为是时,确定触摸手势为旋转运动;在接收到所述判断结果为否时,确定该触摸手势为伸缩运动。
由以上技术方案可以看出,本发明提供的方法和装置,从电阻式触摸屏检测到的手势轨迹按顺序采集至少4个点的坐标数据;利用所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,并将各点相对于第一点旋转的角度进行比较;根据得到的比较结果确定触摸手势为旋转运动或伸缩运动。本发明根据电阻式触摸屏不能检测到两点触摸时两点各自的位置,仅能够检测到两点之间中间点所形成的轨迹的缺点,确定采集到的各点相对于采集到的第一点旋转的角度,根据各点相对于第一点的旋转角度来确定运动趋势,从而巧妙地实现对电阻式触摸屏的两点触摸手势进行识别。
附图说明
图1为本发明实施例提供的方法流程图;
图2为本发明实施例提供的采集方法流程图;
图3为本发明实施例提供的坐标变换示意图;
图4为本发明实施例提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法主要包括:从电阻式触摸屏检测到的手势轨迹按顺序采集至少4个点的坐标数据;利用所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,并将各点相对于第一点旋转的角度进行比较;根据该比较结果确定触摸手势为旋转运动或伸缩运动。
在确定旋转的角度时,可以利用各点的坐标数据,从第三点开始逐一确定各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角;判断从第三点开始逐一确定的上述夹角是否为递增或递减顺序并且上述夹角之间的差值都大于设定的夹角阈值,如果是,则确定该手势为旋转运动;否则,确定该手势为伸缩运动。
当确定逆时针方向所成的夹角为正时,如果上述夹角是递增顺序,则确定该手势是逆时针运动,如果上述夹角是递减顺序,则确定该手势是顺时针运动。
另外,该方法还可以进一步从第二点开始逐一确定各点与第一点之间的距离,在确定该手势为伸缩运动后,进一步判断从第二点开始逐一确定的所述距离是否为递增或递减顺序,如果是递增顺序,则确定该手势为相离的伸缩运动,如果递减顺序,则确定该手势为相向的伸缩运动。
为了使上述方法更加明确,下面举一个具体的实施例对上述方法进行详细描述。图1为本发明实施例提供的方法流程图,由于电阻式触摸屏无法同时检测多个点的位置信息,因此,当两点触摸时,检测到的是两点之间中间点的坐标数据,当一根手指固定,另一根手指运动时,检测到的是运动的手指所成轨迹中各点与固定点之间的中间点所成的轨迹,由于该轨迹往往是不规则的,因此很难直接从该轨迹的坐标数据中获取触摸手势的运动信息,因此,本发明主要是提供了一种方法,对该电阻式触摸屏检测到的轨迹进行逻辑判别。由于极坐标能够很容易和清晰的体现距离和夹角两因素,因此,该实施例中采用将直角坐标转换为极坐标的方式来进行逻辑判别。在该实施例中以采集5个点为例,如图1所示,该方法可以包括以下步骤:
步骤101:从电阻式触摸屏检测到的手势轨迹,按顺序采集并记录5个点的坐标数据。
本步骤中在对各点的坐标数据进行采集的步骤可以由诸如TSC2046的触摸控制芯片执行,该触摸控制芯片能够将触摸屏检测到的手势轨迹形成的模拟信号转换为数字信号,从而形成各点的坐标数据。在进行采集时,可以采用以固定的距离间隔采集5个点的坐标数据,也可以采用以固定的时间间隔采集5个点的坐标数据。为了保证每个采集到的坐标数据能够较为清楚和准确的反映各点的运动趋势,在数据采集时,可以预先设定一个距离阈值。首先采集第一个点,将与第一点之间的距离达到预设阈值的点作为采集到的第二点,将与第二点之间的距离达到预设阈值的点作为采集到的第三个点,依次类推。具体采集的过程可以如图2所示,即:
步骤201:采集并记录第一像素点的坐标数据作为第一点的坐标数据。
步骤202:获取下一像素点的坐标数据。
步骤203:判断该像素点与记录的上一点之间的距离是否达到预设的距离阈值,如果是,执行步骤204,否则执行步骤206。
由于在手势轨迹中每一像素都会具有坐标数据,需要对这些像素的坐标数据进行筛选,只有满足距离要求的像素才会被采集和记录,对于不满足距离要求的坐标数据则直接丢弃。
步骤204:采集并记录该像素点的坐标数据。
对坐标数据进行记录时,可以采用数组的方式进行记录,当然,也可以采用其它形式,本发明并不对具体的记录方法做具体限制。
步骤205:判断已经记录的点的数量是否达到5个,如果是,结束流程;否则,转至执行步骤202。
步骤206:丢弃该像素点的坐标数据,并转至执行步骤202。
另外,控制芯片采集到的坐标数据,可以通过串行外围设备接口(SPI,Serial Peripheral Interface)发送给上位机,由上位机执行以下步骤。上述采集到的坐标数据可以是8位数据,也可以是12位数据,可以根据触摸屏的具体像素点多少进行比例缩放处理。该采集到的坐标数据是以整个触摸屏作为原直角坐标系的坐标数据。
步骤102:以第一点作为零点,第一点和第二点的连线作为X轴建立新的直角坐标系,并利用采集到的其它点的坐标数据确定各点在新的直角坐标系中的坐标数据。
为了方便采用极坐标的方式,确定各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角,以及各点与第一点之间的距离,首先在本步骤中进行从原直角坐标系到新的直角坐标系的转换,即首先获取各点相对于第一点的新的直角坐标数据。
新的直角坐标系中的坐标数据(XN‘,YN‘)的确定方法可以采用如下公式进行计算:XN‘=ΔYNsin(θ)+ΔXNcos(θ) (1)式
YN‘=ΔYNcos(θ)-ΔXN sin(θ)        (2)式
其中,下标N表示采集的第N点;ΔYN=YN-Y1,即在原直角坐标系中第N点的纵坐标与第1点的纵坐标之间的差值;ΔXN=XN-X1,即在原直角坐标系中第N点的横坐标与第1点的横坐标之间的差值;θ为新的直角坐标中的X轴与原直角坐标的X轴之间的夹角,即第一点与第二点之间连线与原直角坐标中的X轴之间的夹角。
为了方便理解上述(1)式和(2)式的得出,根据图3给出的示意图,以第三点为例进行以下简单推导。第三点在新的直角坐标系中的横坐标为线段OQ的长度,纵坐标等于线段PQ的长度。
X3=OQ=OM+MQ=ΔX3/cos(θ)+PM sin(θ)
=ΔX3/cos(θ)+(ΔY3-MN)sin(θ)
=ΔX3/cos(θ)+(ΔY3-ΔX3 tan(θ))sin(θ)
=ΔY3 sin(θ)+ΔX3 cos(θ)
Y3‘=PQ=PM cos(θ)=(ΔY3-MN)cos(θ)
=(ΔY3-ΔX3 tan(θ))cos(θ)
=ΔY3 cos(θ)-ΔX3 sin(θ)
其它各点的推导方式与第三点相同,不再一一赘述。
步骤103:将新的直角坐标系转换为极坐标系,即转换为以第一点为极点、第一点和第二点的连线为极轴的极坐标系,确定各点在极坐标系中的坐标数据。
各点在在极坐标中的坐标数据通常表示为(LN,angleN),其中,LN为第N点到极点即第一点之间的距离,angleN为第N点与极轴即第一点与第二点连线之间的夹角。
由数学常识可得出:
Figure GSB00000470748700061
angleN=artan(YN‘/XN‘)。其中artan( )为求反正切处理。
由于求反正切处理后夹角的范围是
Figure GSB00000470748700062
Figure GSB00000470748700063
所以,对于落在新直角坐标系中第二象限或第三象限的点需要进行修正,具体可以为:
如果XN‘>0,YN‘=0,则angleN=0;
如果XN‘>0,YN‘>0,则angleN=artan(YN‘/XN‘)×(180/π);
如果XN‘=0,YN‘>0,则angleN=90;
如果XN‘<0,YN‘>0,则angleN=180+artan(YN‘/XN‘)×(180/π);
如果XN‘<0,YN‘=0,则angleN=180;
如果XN‘<0,YN‘<0,则angleN=180+artan(YN‘/XN‘)×(180/π);
如果XN‘=0,YN‘<0,则angleN=270;
如果XN‘>0,YN‘<0,则angleN=360+artan(YN‘/XN‘)×(180/π)。
在以上描述中均是将夹角转换为角度的形式表示,当然,也可以采用弧度的形式表示。
由于在进行距离判断时,针对LN的判断和针对LN 2的判断是相同的,因此,为了避免繁琐的开方运算,可以仅计算各点在极坐标系中与极点距离的平方,即
Figure GSB00000470748700071
利用LN 2来进行以下步骤的判断。
步骤104:利用步骤103确定的各点在极坐标系中的坐标数据,判断第三点、第四点、第五点分别与极轴的夹角是否为依次递增或递减的顺序,并且该夹角之间的差值都大于设定的夹角阈值,如果是,继续执行步骤105;否则,执行步骤106。
该步骤中,计算出第三点、第四点和第五点分别与极轴的夹角angle3、angle4和angle5后,判断是否是以下两种情况之一:第一种是angle5-angle4>10且angle4-angle3>10,第二种是angle3-angle4>10且angle4-angle5>10。如果是第一种,则上述夹角是递增顺序且夹角之间的差值大于设定的夹角阈值,如果第二种,则上述夹角是递减顺序且夹角之间的差值大于设定夹角阈值,该实施例采用的夹角阈值以10度为例,具体可以根据实际需求进行设定,例如,触摸屏大小状况等。
步骤105:如果上述夹角是递增顺序,则确定该触摸手势为逆时针旋转运动,如果上述夹角是递减顺序,则确定该触摸手势为顺时针旋转运动,结束流程。
由于在极坐标系中,逆时针方向所成的夹角为正,因此,当夹角是递增顺序时,体现出各点的运动趋势为逆时针旋转运动,反之为顺时针旋转运动。
步骤106:利用步骤103确定的各点在极坐标系中的坐标数据,判断第二点与第一点之间的距离、第三点与第一点之间的距离、第四点与第一点之间点的距离和第五点与第一点之间的距离是否为递增顺序或递减顺序;如果是,则执行步骤107,否则,执行步骤108。
如果步骤104判断夹角不是递增或递减顺序,或者,夹角之间的差值没有大于夹角阈值,可以直接确定该触摸手势为伸缩运动,也可以按照步骤106至步骤108的方法进一步进行区分。
本实施例中在进行距离比较时,是从第二个点开始比较各点与第一点之间的距离,当然,从第三个点开始比较,或者,在采集的点数量足够多时从第四个点、第五个点等开始比较也是可以实现的,但是,本发明实施例给出的从第二各点开始进行距离比较是最优的实现方式,可以使得伸缩运动是相离或相向伸缩运动的判断更加准确。
步骤107:如果是递增顺序,则确定该触摸手势为相离伸缩运动;如果是递减顺序,则确定该触摸手势为相向伸缩运动,结束流程。
距离为递增顺序,说明各点逐渐远离第一点,因此,可以确定该触摸手势为相离伸缩运动;距离为递减顺序,说明各点逐渐靠近第一点,因此,可以确定该触摸手势为相向伸缩运动。
步骤108:无法准确识别该触摸手势,或者将该触摸手势识别为无效运动,结束流程。
在该实施例中是采用从原直角坐标系转换为新直角坐标系,再转换为极坐标系的方法,进行两次坐标变换来确定各点与第一点之间的夹角和距离,除此之外,也可以采用其它的方式,例如,直接在原直角坐标系中,例如各点的坐标数据求取各点与第一点之间的距离,以及第三点与第一点之间连线和第二点与第一点之间连线所形成的夹角。仍以第三点为例,第三点与第一点之间的距离L3可以采用
Figure GSB00000470748700091
的方式直接计算,第三点与第一点之间的连线和第二点与第一点之间连线所形成的夹角angle3可以采用
Figure GSB00000470748700092
的方式直接计算。
以上是对本发明提供的方法进行的描述,下面对本发明提供的触摸手势的识别装置进行详细描述。图4为本发明实施例提供的装置结构图,如图4所示,该装置可以包括:数据采集单元400、信息比较单元410和手势确定单元420。
数据采集单元400,用于从电阻式触摸屏检测到的手势轨迹按顺序采集至少4个点的坐标数据,并将采集到的坐标数据提供给信息比较单元410。
信息比较单元410,用于根据坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,将各点相对于第一点旋转的角度进行比较,并将比较结果提供给手势确定单元420。
手势确定单元420,用于根据信息比较单元410的比较结果确定触摸手势为旋转运动或伸缩运动。
其中,数据采集单元400采集的各点,使得各点之间的距离大于预设的距离阈值,该数据采集单元400可以具体包括:数据获取子单元401、采集子单元402和判断子单元403。
数据获取子单元401,按顺序获取手势轨迹中各像素点的坐标数据。
采集子单元402,用于采集并记录获取到的手势轨迹中第一像素点的坐标数据,采集并记录判断子单元403发送的像素点的坐标数据,并向判断子单元403发送判断通知。
判断子单元403,用于利用数据获取子单元401获取的像素点的坐标数据,判断当前像素点与采集子单元402记录的上一像素点之间的距离是否达到预设的距离阈值,如果是,将当前像素点的坐标数据发送给采集子单元402;否则,丢弃该像素点的坐标数据,并通知数据获取子单元401获取下一像素点的坐标数据;接收到判断通知后,判断采集子单元402记录的像素点的数量是否达到预设的采集点数量,如果是,则通知数据获取子单元401停止获取像素点的坐标数据,否则,通知数据获取子单元401获取下一像素点的坐标数据。
其中,上述信息比较单元410可以包括:夹角确定子单元411和夹角比较子单元412。
夹角确定子单元411,用于利用数据采集单元401采集的坐标数据,从采集到的第三点开始逐一确定各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角。
夹角比较子单元412,用于判断从第三点开始逐一确定的夹角是否为递增或递减顺序并且夹角之间的差值是否都大于设定的夹角阈值,并将判断结果作为比较结果发送给手势确定单元420。
手势确定单元420在接收到夹角比较子单元412的判断结果为是时,确定触摸手势为旋转运动;在接收到判断结果为否时,确定该触摸手势为伸缩运动。
上述的手势确定单元420可以包括:结果接收子单元421、旋转确定子单元422和伸缩确定子单元423。
结果接收子单元421,用于接收夹角比较子单元412发送的判断结果,在判断结果为是时,将该判断结果发送给旋转确定子单元422,在判断结果为否时,将该判断结果发送给伸缩确定子单元423。
旋转确定子单元422,用于当预先设定逆时针方向所成的夹角为正时,如果判断结果为从第三点开始逐一确定的夹角为递增顺序,则确定该触摸手势为逆时针旋转运动;如果判断结果为从第三点开始逐一确定的夹角为递减顺序,则确定该触摸手势为顺时针旋转运动。
伸缩确定子单元423,在接收到判断结果后,确定触摸手势为伸缩运动。
另外,由于在确定为伸缩运动后,可以进一步确定该伸缩运动是相向伸缩运动还是相离伸缩运动,因此,信息比较单元410还可以包括:距离确定子单元413和距离比较子单元414。
距离确定子单元413,用于利用坐标数据确定采集到的各点相对于第一点的距离。
距离比较子单元414,用于将各点相对于第一点的距离进行比较。
此时,伸缩确定子单元423,在接收到判断结果后,还用于获取距离比较子单元414的比较结果,如果各点相对于第一点的距离按照采集顺序递增,则确定触摸手势为相离的伸缩运动,如果各点相对于第一点的距离按照采集顺序递减,则确定触摸手势为相向的伸缩运动。
另外,上述夹角确定子单元411可以具体包括:第一坐标变换模块4111、第二坐标变换模块4112和夹角确定模块4113。
第一坐标变换模块4111,用于利用坐标数据,以第一点作为零点,第一点和第二点的连线作为X轴建立直角坐标系,并利用采集到各点的坐标数据确定各点在该建立的直角坐标系中的坐标数据。
第二坐标变换模块4112,用于将第一坐标变换模块4111建立的直角坐标系转换为以第一点为极点、第一点和第二点的连线为极轴的极坐标系,确定各点在该极坐标系中的坐标数据,并将确定的各点在极坐标系中的坐标数据发送给夹角确定模块。
夹角确定模块4113,用于利用接收到的坐标数据的角坐标值,确定各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角。
距离确定子单元413可以具体包括:第三坐标变换模块4131、第四坐标变换模块4132和距离确定模块4133。
第三坐标变换模块4131,用于利用坐标数据,以第一点作为零点,第一点和第二点的连线作为X轴建立直角坐标系,并利用采集到各点的坐标数据确定各点在该建立的直角坐标系中的坐标数据。
第四坐标变换模块4132,用于将第三坐标变换模块建立的直角坐标系转换为以第一点为极点、第一点和第二点的连线为极轴的极坐标系,确定各点在该极坐标系中的坐标数据,并将确定的各点在极坐标系中的坐标数据发送给距离确定模块4133。
距离确定模块4133,用于利用接收到的坐标数据的距离坐标值,确定各点相对于第一点的距离。
上述夹角确定子单元411和距离确定子单元413可以设置为一个单元来实现,其中的第一坐标变换模块4111和第三坐标变换模块4131可以设置为一个模块来实现,第二坐标变换模块4112和第四坐标变换模块4132可以设置为一个模块来实现,夹角确定模块4113和距离确定模块4133可以设置为一个模块来实现。
由以上描述可以看出,本发明提供的方法和装置,从电阻式触摸屏检测到的手势轨迹按顺序采集至少4个点的坐标数据;利用所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,并将各点相对于第一点旋转的角度进行比较;根据得到的比较结果确定触摸手势为旋转运动或伸缩运动。本发明根据电阻式触摸屏不能检测到两点触摸时两点各自的位置,仅能够检测到两点之间中间点所形成的轨迹的缺点,确定采集到的各点相对于采集到的第一点旋转的角度,根据各点相对于第一点的旋转角度来确定运动趋势,从而巧妙地实现对电阻式触摸屏的两点触摸手势进行识别。
并且,本发明还进一步提供了确定触摸手势旋转的方向,即逆时针旋转还是顺时针旋转的识别方法,以及确定触摸手势伸缩的方向,即相向伸缩还是相离伸缩的识别方,使得对两点触摸手势的识别更加具体和准确。
另外,本发明实施例中提供了采用坐标变换的方式,即从以触摸屏所在平面为原直角坐标系转换为以第一点为零点、第一点和第二点的连线为X轴的新的直角坐标系,再将该新的直角坐标系转换为以第一点为极点,第一点和第二点的连线为极轴的极坐标系,从而方便、准确的确定各点相对于第一点旋转的角度,以及各点相对于第一点的距离,以便于对触摸手势进行准确的识别。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (13)

1.一种触摸手势的识别方法,其特征在于,该方法包括:
A、从电阻式触摸屏检测到的手势轨迹上按顺序采集至少4个点的坐标数据;
B、利用所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,并比较各点相对于第一点旋转的角度;
所述步骤B具体为:利用所述坐标数据,从采集到的第三点开始逐一确定采集到的各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角;判断从第三点开始逐一确定的所述夹角是否为递增或递减顺序并且所述夹角之间的差值都大于设定的夹角阈值;
C、根据所述步骤B得到的判断结果确定触摸手势为旋转运动或伸缩运动;
所述步骤C具体为:如果所述步骤B的判断结果为是,则确定该触摸手势为旋转运动;否则,确定该触摸手势为伸缩运动。
2.根据权利要求1所述的方法,其特征在于,步骤A中采集到的所述至少4个点相互之间的距离大于预设的距离阈值。
3.根据权利要求2所述的方法,其特征在于,所述采集的步骤具体包括:
A1、采集并记录获取到的所述手势轨迹中第一像素点的坐标数据;
A2、获取下一像素点的坐标数据;
A3、利用步骤A2获取的坐标数据,判断该像素点与记录的上一像素点之间的距离是否大于预设的距离阈值,如果是,执行步骤A4,否则,执行步骤A6;
A4、采集并记录该像素点的坐标数据;
A5、判断已经记录的点的数量是否达到预设的采集点数量,如果是,采集流程结束,否则,转至执行步骤A2;
A6、丢弃该像素点的坐标数据,转至执行步骤A2。
4.根据权利要求1所述的方法,其特征在于,所述确定该触摸手势为旋转运动包括:当预先设定逆时针方向所成的夹角为正时,如果从第三点开始逐一确定的所述夹角为递增顺序,则确定该触摸手势为逆时针旋转运动,如果从第三点开始逐一确定的所述夹角为递减顺序,则确定该触摸手势为顺时针旋转运动。
5.根据权利要求1所述的方法,其特征在于,在确定触摸手势为伸缩运动后,该方法进一步包括:利用所述坐标数据从采集到的第二点开始逐一确定各点相对于第一点的距离,并比较从采集到的第二点开始的各点相对于第一点的距离;如果从采集到的第二点开始的各点相对于第一点的距离按照采集顺序递增,则确定该触摸手势为相离的伸缩运动,如果从采集到的第二点开始的各点相对于第一点的距离按照采集顺序递减,则确定该触摸手势为相向的伸缩运动。
6.根据权利要求1所述的方法,其特征在于,所述从采集到的第三点开始逐一确定采集到的各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角具体包括:
以所述第一点作为零点,第一点和第二点的连线作为X轴建立直角坐标系,并利用从采集到的第三点开始的各点的坐标数据确定从采集到的第三点开始的各点在该建立的直角坐标系中的坐标数据;将所述建立的直角坐标系转换为以第一点为极点、第一点和第二点的连线为极轴的极坐标系,确定从采集到的第三点开始的各点在该极坐标系中的坐标数据;利用从采集到的第三点开始的各点在极坐标系中的坐标数据的角坐标值,确定从采集到的第三点开始的各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角。
7.根据权利要求5所述的方法,其特征在于,所述从采集到的第二点开始逐一确定各点相对于第一点的距离具体包括:
以所述第一点作为零点,第一点和第二点的连线作为X轴建立直角坐标系,并利用从采集到的第二点开始的各点的坐标数据确定从采集到的第二点开始的各点在该建立的直角坐标系中的坐标数据;将所述建立的直角坐标系转换为以第一点为极点、第一点和第二点的连线为极轴的极坐标系,确定从采集到的第二点开始的各点在该极坐标系中的坐标数据;利用从采集到的第二点开始的各点在极坐标系中的坐标数据的距离坐标值,确定从采集到的第二点开始的各点相对于第一点的距离。
8.一种触摸手势的识别装置,其特征在于,该装置包括:数据采集单元、信息比较单元和手势确定单元;
所述数据采集单元,用于从电阻式触摸屏检测到的手势轨迹上按顺序采集至少4个点的坐标数据,并将采集到的坐标数据提供给所述信息比较单元;
所述信息比较单元,用于根据所述坐标数据确定采集到的各点相对于采集到的第一点旋转的角度,比较各点相对于第一点旋转的角度,并将比较结果提供给所述手势确定单元;
所述信息比较单元包括:夹角确定子单元和夹角比较子单元;
所述夹角确定子单元,用于利用所述坐标数据,从采集到的第三点开始逐一确定各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角;
所述夹角比较子单元,用于判断从第三点开始逐一确定的所述夹角是否为递增或递减顺序并且所述夹角之间的差值是否都大于设定的夹角阈值,并将判断结果作为所述比较结果发送给所述手势确定单元;
所述手势确定单元,用于根据所述比较结果确定触摸手势为旋转运动或伸缩运动,
其中,所述手势确定单元在接收到所述判断结果为是时,确定触摸手势为旋转运动;在接收到所述判断结果为否时,确定该触摸手势为伸缩运动。
9.根据权利要求8所述的装置,其特征在于,所述数据采集单元包括:数据获取子单元、采集子单元和判断子单元;
所述数据获取子单元,用于按顺序获取所述手势轨迹上各像素点的坐标数据;
所述采集子单元,用于采集并记录获取到的所述手势轨迹中第一像素点的坐标数据,采集并记录所述判断子单元发送的像素点的坐标数据,并向所述判断子单元发送判断通知;
所述判断子单元,用于利用所述数据获取子单元获取的像素点的坐标数据,判断当前像素点与采集子单元记录的上一像素点之间的距离是否达到预设的距离阈值,如果是,将当前像素点的坐标数据发送给采集子单元;否则,丢弃该像素点的坐标数据,并通知所述数据获取子单元获取下一像素点的坐标数据;接收到所述判断通知后,判断所述采集子单元记录的像素点的数量是否达到预设的采集点数量,如果是,则通知所述数据获取子单元停止获取像素点的坐标数据,否则,通知所述数据获取子单元获取下一像素点的坐标数据。
10.根据权利要求8所述的装置,其特征在于,所述夹角确定子单元具体包括:第一坐标变换模块、第二坐标变换模块和夹角确定模块;
所述第一坐标变换模块,用于利用所述坐标数据,以所述第一点作为零点,第一点和第二点的连线作为X轴建立直角坐标系,并利用采集到各点的坐标数据确定各点在该建立的直角坐标系中的坐标数据;
所述第二坐标变换模块,用于将所述第一坐标变换模块建立的直角坐标系转换为以第一点为极点、第一点和第二点的连线为极轴的极坐标系,确定各点在该极坐标系中的坐标数据,并将确定的各点在极坐标系中的坐标数据发送给夹角确定模块;
所述夹角确定模块,用于利用接收到的坐标数据的角坐标值,确定各点和第一点之间的连线与第二点和第一点之间的连线所成的夹角。
11.根据权利要求8所述的装置,其特征在于,所述手势确定单元包括:结果接收子单元、旋转确定子单元和伸缩确定子单元;
所述结果接收子单元,用于接收所述夹角比较子单元发送的判断结果,在所述判断结果为是时,将该判断结果发送给所述旋转确定子单元,在所述判断结果为否时,将该判断结果发送给所述伸缩确定子单元;
所述旋转确定子单元,用于当预先设定逆时针方向所成的夹角为正时,如果所述判断结果为从第三点开始逐一确定的所述夹角为递增顺序,则确定该触摸手势为逆时针旋转运动;如果所述判断结果为从第三点开始逐一确定的所述夹角为递减顺序,则确定该触摸手势为顺时针旋转运动;
伸缩确定子单元,在接收到所述判断结果后,确定所述触摸手势为伸缩运动。
12.根据权利要求11所述的装置,其特征在于,所述信息比较单元还包括:距离确定子单元和距离比较子单元;
所述距离确定子单元,用于利用所述坐标数据确定采集到的各点相对于第一点的距离;
所述距离比较子单元,用于比较所述各点相对于第一点的距离;
所述伸缩确定子单元,在接收到所述判断结果后,还用于获取所述距离比较子单元的比较结果,如果各点相对于第一点的距离按照采集顺序递增,则确定触摸手势为相离的伸缩运动,如果各点相对于第一点的距离按照采集顺序递减,则确定触摸手势为相向的伸缩运动。
13.根据权利要求12所述的装置,其特征在于,所述距离确定子单元具体包括:第三坐标变换模块、第四坐标变换模块和距离确定模块;
所述第三坐标变换模块,用于利用所述坐标数据,以所述第一点作为零点,第一点和第二点的连线作为X轴建立直角坐标系,并利用采集到各点的坐标数据确定各点在该建立的直角坐标系中的坐标数据;
所述第四坐标变换模块,用于将所述第三坐标变换模块建立的直角坐标系转换为以第一点为极点、第一点和第二点的连线为极轴的极坐标系,确定各点在该极坐标系中的坐标数据,并将确定的各点在极坐标系中的坐标数据发送给距离确定模块;
所述距离确定模块,用于利用接收到的坐标数据的距离坐标值,确定各点相对于第一点的距离。
CN2008101466836A 2008-09-04 2008-09-04 一种触摸手势的识别方法和装置 Expired - Fee Related CN101667089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101466836A CN101667089B (zh) 2008-09-04 2008-09-04 一种触摸手势的识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101466836A CN101667089B (zh) 2008-09-04 2008-09-04 一种触摸手势的识别方法和装置

Publications (2)

Publication Number Publication Date
CN101667089A CN101667089A (zh) 2010-03-10
CN101667089B true CN101667089B (zh) 2011-08-17

Family

ID=41803725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101466836A Expired - Fee Related CN101667089B (zh) 2008-09-04 2008-09-04 一种触摸手势的识别方法和装置

Country Status (1)

Country Link
CN (1) CN101667089B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8823670B2 (en) 2011-11-07 2014-09-02 Benq Corporation Method for screen control on touch screen
CN102736838B (zh) * 2011-03-31 2016-06-22 比亚迪股份有限公司 多点旋转运动的识别方法和装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410857B (zh) * 2010-03-24 2013-10-01 Acer Inc 觸控式電子裝置及其多視窗的管理方法
CN102207812B (zh) * 2010-03-31 2013-04-24 宏碁股份有限公司 触控式电子装置及其多窗口的管理方法
CN102298456B (zh) * 2010-06-23 2015-12-16 陞达科技股份有限公司 分析二维轨迹以产生至少一非线性指标的方法及触控模组
CN101930319B (zh) * 2010-09-08 2013-06-12 敦泰科技有限公司 一种触摸屏上报触摸信息方法
CN102231091B (zh) * 2010-09-21 2013-10-02 百度在线网络技术(北京)有限公司 一种用于基于单点触摸屏实现多点识别的方法及设备
CN101984396A (zh) * 2010-10-19 2011-03-09 中兴通讯股份有限公司 一种自动识别旋转手势的方法及移动终端
CN102169383A (zh) * 2010-11-26 2011-08-31 苏州瀚瑞微电子有限公司 一种触摸屏旋转手势的识别方法
TW201224855A (en) 2010-12-09 2012-06-16 Novatek Microelectronics Corp Method for detecting single-finger rotate gesture and gesture detecting circuit thereof
CN102096530B (zh) * 2011-01-28 2013-09-18 广东威创视讯科技股份有限公司 一种多点触摸轨迹跟踪方法
CN102109942B (zh) * 2011-02-18 2012-08-29 福建鑫诺通讯技术有限公司 一种基于电阻式屏幕实现两点触摸的方法
CN102401629A (zh) * 2011-10-19 2012-04-04 惠州Tcl移动通信有限公司 一种手机及其测量角度的方法
JP5990011B2 (ja) * 2012-02-28 2016-09-07 キヤノン株式会社 情報処理装置及びその制御方法
JP5979916B2 (ja) 2012-03-07 2016-08-31 キヤノン株式会社 情報処理装置およびその制御方法
JP5590511B2 (ja) * 2012-09-19 2014-09-17 カシオ計算機株式会社 機能駆動装置、機能駆動方法および機能駆動プログラム
CN103729128B (zh) 2012-10-10 2017-12-22 腾讯科技(深圳)有限公司 一种摄像设备变换焦距的方法及装置
CN103529957A (zh) * 2013-11-05 2014-01-22 上海电机学院 一种位置识别装置与方法
CN103729628B (zh) * 2014-01-10 2017-01-11 西安电子科技大学宁波信息技术研究院 一种单步手势识别方法
CN104850337A (zh) * 2014-02-17 2015-08-19 苏州浩创信息科技有限公司 一种数据采集信息终端触摸控制及手势识别装置
CN104866083B (zh) 2014-02-25 2020-03-17 中兴通讯股份有限公司 手势识别方法、装置和系统
CN103902185B (zh) * 2014-04-23 2019-02-12 锤子科技(北京)有限公司 屏幕旋转方法及装置、移动设备
CN104360811B (zh) * 2014-10-22 2017-09-26 河海大学 一种单指手势识别方法
DE102014225796A1 (de) * 2014-12-15 2016-06-16 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Steuerung eines Fahrzeugsystems
CN106055258B (zh) * 2016-06-01 2019-05-10 努比亚技术有限公司 移动终端及识别长按旋转手势的方法
CN110058728B (zh) * 2019-03-15 2023-03-21 广州国显科技有限公司 触控结构、触控定位方法及触控显示装置
CN112732120A (zh) * 2021-01-18 2021-04-30 海信视像科技股份有限公司 一种显示设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1517228A2 (en) * 2003-09-16 2005-03-23 Smart Technologies, Inc. Gesture recognition method and touch system incorporating the same
CN1624631A (zh) * 2003-12-04 2005-06-08 陞达科技股份有限公司 辨识拖曳手势的方法及控制器
CN1963735A (zh) * 2005-11-11 2007-05-16 义隆电子股份有限公司 触控板的对象检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1517228A2 (en) * 2003-09-16 2005-03-23 Smart Technologies, Inc. Gesture recognition method and touch system incorporating the same
CN1624631A (zh) * 2003-12-04 2005-06-08 陞达科技股份有限公司 辨识拖曳手势的方法及控制器
CN1963735A (zh) * 2005-11-11 2007-05-16 义隆电子股份有限公司 触控板的对象检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736838B (zh) * 2011-03-31 2016-06-22 比亚迪股份有限公司 多点旋转运动的识别方法和装置
US8823670B2 (en) 2011-11-07 2014-09-02 Benq Corporation Method for screen control on touch screen

Also Published As

Publication number Publication date
CN101667089A (zh) 2010-03-10

Similar Documents

Publication Publication Date Title
CN101667089B (zh) 一种触摸手势的识别方法和装置
JP5684136B2 (ja) 多重接触エリア回転ジェスチャ認識方法
US9880655B2 (en) Method of disambiguating water from a finger touch on a touch sensor panel
US8836659B2 (en) Electronic apparatus with touch input system
US9678606B2 (en) Method and device for determining a touch gesture
TWI430141B (zh) 判斷旋轉手勢的方法與裝置
US9671893B2 (en) Information processing device having touch screen with varying sensitivity regions
EP2232355B1 (en) Multi-point detection on a single-point detection digitizer
TWI569171B (zh) 手勢辨識
KR101535320B1 (ko) 표면상에 놓인 손에 맞는 제스쳐를 생성하는 방법
US20100019780A1 (en) Multi-axis capacitive sensor
US8743061B2 (en) Touch sensing method and electronic device
CN101382856B (zh) 在触摸装置上实现usb hid mouse功能的装置及方法
US20100117961A1 (en) Detecting a palm touch on a surface
CN104808936B (zh) 界面操作方法与应用该方法的便携式电子装置
CN102109925A (zh) 触摸板设备、以及用于该设备的控制方法和程序
US20120124526A1 (en) Method for continuing a function induced by a multi-touch gesture on a touchpad
WO2014054861A1 (en) Terminal and method for processing multi-point input
CN103492986A (zh) 输入设备、输入方法和记录介质
CN104331221A (zh) 应用程序图标的操作方法及装置
CN105589588A (zh) 触控系统、触控笔、触控装置及其控制方法
US9256360B2 (en) Single touch process to achieve dual touch user interface
US9733775B2 (en) Information processing device, method of identifying operation of fingertip, and program
CN105308540A (zh) 触摸事件处理方法及用于其的装置
CN105159555A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191227

Address after: 518119 1 Yanan Road, Kwai Chung street, Dapeng New District, Shenzhen, Guangdong

Patentee after: SHENZHEN BYD MICROELECTRONICS Co.,Ltd.

Address before: 518118 Pingshan Road, Pingshan Town, Shenzhen, Guangdong, No. 3001, No.

Patentee before: BYD Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 518119 No.1 Yan'an Road, Kuiyong street, Dapeng New District, Shenzhen City, Guangdong Province

Patentee after: BYD Semiconductor Co.,Ltd.

Address before: 518119 No.1 Yan'an Road, Kuiyong street, Dapeng New District, Shenzhen City, Guangdong Province

Patentee before: BYD Semiconductor Co.,Ltd.

Address after: 518119 No.1 Yan'an Road, Kuiyong street, Dapeng New District, Shenzhen City, Guangdong Province

Patentee after: BYD Semiconductor Co.,Ltd.

Address before: 518119 No.1 Yan'an Road, Kuiyong street, Dapeng New District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN BYD MICROELECTRONICS Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817