CN113031817A - 一种多点触控的手势识别方法及防误触方法 - Google Patents
一种多点触控的手势识别方法及防误触方法 Download PDFInfo
- Publication number
- CN113031817A CN113031817A CN202110311452.1A CN202110311452A CN113031817A CN 113031817 A CN113031817 A CN 113031817A CN 202110311452 A CN202110311452 A CN 202110311452A CN 113031817 A CN113031817 A CN 113031817A
- Authority
- CN
- China
- Prior art keywords
- touch
- state
- gesture recognition
- point
- group
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000002265 prevention Effects 0.000 title claims abstract description 21
- 238000001514 detection method Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims abstract description 6
- 230000007704 transition Effects 0.000 claims abstract description 5
- 230000006399 behavior Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0414—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04162—Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04166—Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
- G06F3/04186—Touch location disambiguation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/041—Indexing scheme relating to G06F3/041 - G06F3/045
- G06F2203/04104—Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/041—Indexing scheme relating to G06F3/041 - G06F3/045
- G06F2203/04105—Pressure sensors for measuring the pressure or force exerted on the touch surface without providing the touch position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/041—Indexing scheme relating to G06F3/041 - G06F3/045
- G06F2203/04106—Multi-sensing digitiser, i.e. digitiser using at least two different sensing technologies simultaneously or alternatively, e.g. for detecting pen and finger, for saving power or for improving position detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种多点触控的手势识别方法及防误触方法,该手势识别方法包括:定义画布触摸管理方式,将画布触摸分为手势触摸和绘制触摸;定义画布模式下的有限状态机FSM中的状态转换过程;通过触摸面积和触摸时的压强判断触摸个数和触摸类型;给每个触摸点添加ID字段,并追踪触摸状态的变化;根据追踪触摸状态的变化,通过移动检测阈值消除触摸抖动;结合设置的ID,从而进行触摸分组,实现多点触控的手势识别。本发明能够同时支持多个单指绘制和3指以上的橡皮擦操作,突破了系统只能工作在识别单个触摸操作的情况;并且,通过触摸分组,可以实现多个人同时单指绘制、多个人同时3指以上擦除操作。
Description
技术领域
本发明涉及人机交互领域,尤其涉及是一种多点触控的手势识别方法及防误触方法。
背景技术
随着智能化浪潮的推进,众多行业领域逐步进入数字化的远程时代,类似于大型显示屏设备中的电子白板的绘制类软件被广泛的应用于相关领域,尤其是教育教学、直播互动和远程会议方向。人机交互的方式也由最常见的键盘鼠标显示器,额外增加了多指触控的交互方式。
然而,现有技术中,多指触控的交互方式,存在较多的问题。例如,各个操作系统的平台厂商,发展存在差异,继而导致软件行业的开发者在切换不同的平台和操作系统,尤其是在国产化操作系统上进行开发多指触控的交互方式时,难以做到兼容和统一,阻碍了统一软件的开发与发展。并且,现有的技术方案在手势识别的设计与实现方面仅仅解决了多指手势识别,并不能很好的区别触摸笔和手指的差异,当系统工作时存在多个接触点(手指和触摸笔),如果不能对接触点进行区分,会造成误触的问题。
发明内容
针对现有技术存在的问题,本发明提出的一种多点触控的手势识别方法及防误触方法。
一方面,本发明保护一种多点触控的手势识别方法,该方法包括如下步骤S1至S6:
步骤S1:定义画布触摸管理方式,将画布触摸分为手势触摸和绘制触摸。
进一步地,由于软件画布可能是无边无际的,绘制触摸状态下,对当前屏幕以外的区域不需要使用,因此,采用的是画布坐标系。此时,对于像触摸笔、鼠标的触摸操作,定义为单点触摸操作;对于手指的触摸操作,可根据触摸点,分为单点触摸和多点触摸。其中,单点触摸支持:绘制笔记等操作;多点触摸支持:擦除等操作。
更进一步地,当需要使用更大区域的画布,则选择手势触摸状态,对画布进行平移和缩放,因此,采用的是屏幕坐标系。
步骤S2:定义画布模式下的有限状态机FSM中的状态转换过程。
进一步地,具体转换为:程序进入运行期间,用户可以进行状态的选取。若用户没有进行状态的选取,进入程序后,FSM的工作状态将会被初始化为绘制状态;接下来,用户可以通过状态转换进行重新选取,将当前的任意一种工作状态切换为指定的:选择状态、编辑状态和绘制状态中的一种。同时,用户可以通过外部操作,如插入对象,强制切换到编辑状态。当工作在选择状态下,选中了对象后,则自动切换为编辑状态;当工作在编辑状态下,通过单点触摸BindingBox以外的部分,则自动取消编辑状态并同时切换到单点触摸中的:绘制状态或橡皮擦状态。
步骤S3:通过触摸面积和触摸时的压强判断触摸个数和触摸类型。
进一步地,具体划分为:
3.1:当触摸面积和压强在一定阈值内,认定为手指触摸中的单点触摸;
3.2:当压强高于某个阈值,触摸面积在一定阈值内,则认定为触摸笔的单点触摸;
3.3:当触摸面积超过某个阈值后,需要将触摸面积内,压强较大的点选出,通过计算触摸中心点的压强大小,界定触摸点的个数,认定为手势触摸或者绘制触摸下多点触摸。
步骤S4:给每个触摸点添加ID字段,并追踪触摸状态的变化。
进一步地,因为计算机处理方式为串行处理,即便多根手指看似同时触摸屏幕,对于计算机而言,也是按照时间内先后顺序,一个个的记录下触摸发生的状态,当做一个个的单点触摸。所以,需要通过给每个触摸点添加ID字段,便于后期分组。
更进一步地,触摸状态可分为:
4.1:悬停于触摸图形界面上方,但没有按下和移动的Enter状态;
4.2:在支持触摸处理的图形界面里发生触摸和屏幕接触的Press状态;
4.3:在支持触摸处理的图形界面里移动的Move状态:;
4.4:松开触摸后,鼠标或者是隐藏的触摸光标仍在支持触摸处理的图形界面内的Release状态;
4.5:离开支持触摸处理的图形界面的Leave状态。
步骤S5:根据追踪触摸状态的变化,通过移动检测阈值消除触摸抖动。
进一步地,具体处理过程为:
S51:设置软件,使得触摸屏存在一个按照固定频率扫描屏幕并检测触摸状态的周期性操作,优选地,每秒扫描5次;
S52:当用户将手指或触摸笔接触屏幕后,系统会不断收到触摸发生的位置和触摸的状态,第一次接触到屏幕的状态是Press,之后系统默认状态为Move;
S53:把每个触摸点经触摸检测扫描产生的触摸位置信息做前相比较,当后一个位置相对于前一个位置没有发生移动检测阈值内的移动时,就认为对应的触摸点没有产生移动的操作,从而将发送的Move状态强制改为Press状态。
步骤S6:结合设置的ID,从而进行触摸分组,实现多点触控的手势识别。
进一步地,触摸分组的步骤为:
S61:将逐次进入的触摸点,消除抖动后都没有产生移动,则分为一组;
S62:若第一次进入的触摸,超过移动检测阈值,则分为一组;
S63:若后进入的触摸,超出移动检测阈值,则将该触摸与先前一组没有发生移动的触摸归为一组。
更进一步地,手势识别过程为:
S64:如果触摸分组中的一组只存在一个触摸点,则状态机FSM工作在绘制触摸下的某个操作;
S65:如果触摸分组中的一组只存在两个触摸点且先前也没有其他任何触摸点,则将这两个触摸点认定为手势触摸下的拖拽缩放操作;如果触摸分组中的一组只存在两个触摸点且先前存在其他触摸点,因为缩放拖拽操作和其他工作模式互斥,因此忽略这一组操作;
S66:如果触摸分组中的一组存在三个乃至以上的触摸点,则认定是一个手势实现的擦除操作。
另一方面,本发明还保护一种多点触控的防误触方法,使用实施例1所述的手势识别方法对多点触控操作进行识别,在精准识别的基础上实现防误触。
进一步地,一旦同一组的触摸点中存在移动,不仅分组被确定,而且即便这一组的触摸点之后不再超过移动检测阈值,检测程序扫描到的状态都将被强制修改为Press状态,从而确定手势或者是限定有限状态机FSM的工作状态,并在所有手指离开之前不再做变更;一旦有限状态机FSM被限定,则后入的其他触摸行为也会变成有限状态机FSM限定时的工作状态,除非所有手指离开,有限状态机FSM才允许变更状态,从而实现多点触控的防误触。
另一方面,本发明还保护一种通用平台下多点触控的手势识别和防误触系统,基于上述设计的手势识别方法和上述设计的防误触方法。首先搭建支持各个操作系统下的通用平台,再基于该平台,开发通用平台下多点触控的手势识别和防误触系统。
具体地,基于Microsoft通用平台框架Xamarin开发支持Android/iOS/Wind ows和国产操作系统下的通用软件;基于.Net Core对各平台进行统一封装,封装支持了每个平台都具备的能力,损失了各自平台独有的特性,其中,.NET Core具有构建现代、可伸缩和高性能的跨平台软件应用程序的优点;若需要支持多平台的通用性,则使用扩展的Xamarin.Essentials,开发各自平台需求支持的独特功能,其中,扩展的Xamarin.Essentials把因为平台差异造成的代码不一致的底层接口重新做了归一,提升了开发效率。
本发明的有益效果:1、同时支持多个单指绘制和3指以上的橡皮擦操作,突破了系统只能工作在识别单个触摸操作的情况;2、通过触摸分组,可以实现多个人同时单指绘制、多个人同时3指以上擦除操作;3、通过将拖拽和缩放设置为独占模式,且与其他的工作模式互斥,因此不会影响用户的使用体验;4、通过搭建支持各个操作系统下的通用平台,使得精准手势识别,不局限于某一种操作系统。
附图说明
图1为多点触控的手势识别方法的流程图;
图2为有限状态机FSM中的状态转换流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
实施例1
一种多点触控的手势识别方法,如图1所示,该方法包括如下步骤S1至S6:
S1:定义画布触摸管理方式,将画布触摸分为手势触摸和绘制触摸。
具体地,由于软件画布可能是无边无际的,绘制触摸状态下,对当前屏幕以外的区域不需要使用,因此,采用的是画布坐标系。此时,对于像触摸笔、鼠标的触摸操作,定义为单点触摸操作;对于手指的触摸操作,可根据触摸点,分为单点触摸和多点触摸。其中,单点触摸支持:绘制笔记等操作;多点触摸支持:擦除等操作。
当需要使用更大区域的画布,则选择手势触摸状态,对画布进行平移和缩放,因此,采用的是屏幕坐标系。
S2:定义画布模式下的有限状态机FSM中的状态转换过程。
如图2所示,具体转换为:程序进入运行期间,用户可以进行状态的选取。若用户没有进行状态的选取,进入程序后,FSM的工作状态将会被初始化为绘制状态;接下来,用户可以通过状态转换进行重新选取,将当前的任意一种工作状态切换为指定的:选择状态、编辑状态和绘制状态中的一种。同时,用户可以通过外部操作,如插入对象,强制切换到编辑状态。当工作在选择状态下,选中了对象后,则自动切换为编辑状态;当工作在编辑状态下,通过单点触摸BindingBox以外的部分,则自动取消编辑状态并同时切换到单点触摸中的:绘制状态或橡皮擦状态。
S3:通过触摸面积和触摸时的压强判断触摸个数和触摸类型。
具体划分为:
S31:当触摸面积和压强在一定阈值内,认定为手指触摸中的单点触摸;
S32:当压强高于某个阈值,触摸面积在一定阈值内,则认定为触摸笔的单点触摸;
S33:当触摸面积超过某个阈值后,需要将触摸面积内,压强较大的点选出,通过计算触摸中心点的压强大小,界定触摸点的个数,认定为手势触摸或者绘制触摸下多点触摸。
S4:给每个触摸点添加ID字段,并追踪触摸状态的变化。
具体地,因为计算机处理方式为串行处理,即便多根手指看似同时触摸屏幕,对于计算机而言,也是按照时间内先后顺序,一个个的记录触摸发生的状态,当做一个个的单点触摸。所以,需要通过给每个触摸点添加ID字段,便于后期分组。
具体地,触摸状态可分为:
S41:悬停于触摸图形界面上方,但没有按下和移动的Enter状态;
S42:在支持触摸处理的图形界面里发生触摸和屏幕接触的Press状态;
S43:在支持触摸处理的图形界面里移动的Move状态:;
S44:松开触摸后,鼠标或者是隐藏的触摸光标仍在支持触摸处理的图形界面内的Release状态;
S45:离开支持触摸处理的图形界面的Leave状态。
S5:根据追踪触摸状态的变化,通过移动检测阈值消除触摸抖动。
S51:设置软件,使得触摸屏存在一个按照固定频率扫描屏幕并检测触摸状态的周期性操作,优选地,每秒扫描5次;
S52:当用户将手指或触摸笔接触屏幕后,系统会不断收到触摸发生的位置和触摸的状态,第一次接触到屏幕的状态是Press,之后系统默认状态为Move;
S53:把每个触摸点经触摸检测扫描产生的触摸位置信息做前相比较,当后一个位置相对于前一个位置没有发生移动检测阈值内的移动时,就认为对应的触摸点没有产生移动的操作,从而将发送的Move状态强制改为Press状态。
S6:结合设置的ID,从而进行触摸分组,实现多点触控的手势识别。
具体地触摸分组的步骤为:
S61:将逐次进入的触摸点,消除抖动后都没有产生移动,则分为一组;
S62:若第一次进入的触摸,超过移动检测阈值,则分为一组;
S63:若后进入的触摸,超出移动检测阈值,则将该触摸与先前一组没有发生移动的触摸归为一组。
具体手势识别过程:S64:如果触摸分组中的一组只存在一个触摸点,则状态机FSM工作在绘制触摸下的某个操作;
S65:如果触摸分组中的一组只存在两个触摸点且先前也没有其他任何触摸点,则将这两个触摸点认定为手势触摸下的拖拽缩放操作;如果触摸分组中的一组只存在两个触摸点且先前存在其他触摸点,因为缩放拖拽操作和其他工作模式互斥,因此忽略这一组操作;
S66:如果触摸分组中的一组存在三个乃至以上的触摸点,则认定是一个手势实现的擦除操作。
实施例2
一种多点触控的防误触方法,首先使用实施例1所述的手势识别方法对多点触控操作进行识别,在精准识别的基础上实现防误触。具体过程为:
一旦同一组的触摸点中存在移动,不仅分组被确定,而且即便这一组的触摸点之后不再超过移动检测阈值,检测程序扫描到的状态都将被强制修改为Press状态,从而确定手势或者是限定有限状态机FSM的工作状态,并在所有手指离开之前不再做变更;一旦有限状态机FSM被限定,则后入的其他触摸行为也会变成有限状态机FSM限定时的工作状态,除非所有手指离开,有限状态机FSM才允许变更状态,从而实现多点触控的防误触。
实施例3
一种通用平台下多点触控的手势识别和防误触系统,基于上述实施例1设计的手势识别方法和上述实施例2设计的防误触方法。首先搭建支持各个操作系统下的通用平台,再基于该平台,开发通用平台下多点触控的手势识别和防误触系统。
具体地,基于Microsoft通用平台框架Xamarin开发支持Android/iOS/Wind ows和国产操作系统下的通用软件;基于.Net Core对各平台进行统一封装,封装支持了每个平台都具备的能力,损失了各自平台独有的特性,其中,.NET Core具有构建现代、可伸缩和高性能的跨平台软件应用程序的优点;若需要支持多平台的通用性,则使用扩展的Xamarin.Essentials,开发各自平台需求支持的独特功能,其中,扩展的Xamarin.Essentials把因为平台差异造成的代码不一致的底层接口重新做了归一,提升了开发效率。
显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
Claims (10)
1.一种多点触控的手势识别方法,其特征在于,通过设计有限状态机和触摸分组,实现用户手势的精准识别,该手势识别方法构建,包括如下步骤:
S1,定义画布触摸管理方式,将画布触摸分为手势触摸和绘制触摸;
S2,定义画布模式下的有限状态机FSM中的状态转换过程;
S3,通过触摸面积和触摸时的压强判断触摸个数和触摸类型;
S4,给每个触摸点添加ID字段,并追踪触摸状态的变化;
S5,根据追踪触摸状态的变化,通过移动检测阈值消除触摸抖动;
S6,结合设置的ID,从而进行触摸分组,实现多点触控的手势识别。
2.根据权利要求1所述的多点触控的手势识别方法,其特征在于,所述步骤S1中的绘制触摸状态采用的是画布坐标系;手势触摸状态采用的是屏幕坐标系。
3.根据权利要求1所述的多点触控的手势识别方法,其特征在于,所述步骤S2中,程序进入运行期间,用户可以进行状态的选取,若用户没有进行状态的选取,进入程序后,FSM的工作状态将会被初始化为绘制状态;接下来,用户可以通过状态转换进行重新选取,将当前的任意一种工作状态切换为指定的:选择状态、编辑状态和绘制状态中的一种;同时,用户可以通过外部操作,如插入对象,强制切换到编辑状态;当工作在选择状态下,选中了对象后,则自动切换为编辑状态;当工作在编辑状态下,通过单点触摸BindingBox以外的部分,则自动取消编辑状态并同时切换到单点触摸。
4.根据权利要求1所述的多点触控的手势识别方法,其特征在于,步骤S5中,通过移动检测阈值消除触摸抖动的过程为:
S51,设置软件,使得触摸屏存在一个按照固定频率扫描屏幕并检测触摸状态的周期性操作;
S52,当用户将手指或触摸笔接触屏幕后,系统会不断收到触摸发生的位置和触摸的状态,第一次接触到屏幕的状态是Press,之后系统默认状态为Move;
S53,把每个触摸点经触摸检测扫描产生的触摸位置信息做前相比较,当后一个位置相对于前一个位置没有发生移动检测阈值内的移动时,就认为对应的触摸点没有产生移动的操作,从而将发送的Move状态强制改为Press状态。
5.根据权利要求4所述的多点触控的手势识别方法,其特征在于,步骤S51中,扫描屏幕次数为每秒5次。
6.根据权利要求1所述的多点触控的手势识别方法,其特征在于,步骤S6中,触摸分组为:
S61,将逐次进入的触摸点,消除抖动后都没有产生移动,则分为一组;
S62,若第一次进入的触摸,超过移动检测阈值,则分为一组;
S63,若后进入的触摸,超出移动检测阈值,则将该触摸与先前一组没有发生移动的触摸归为一组。
7.根据权利要求6所述的多点触控的手势识别方法,其特征在于,手势识别过程为:
S64,如果触摸分组中的一组只存在一个触摸点,则状态机FSM工作在绘制触摸下的某个操作;
S65,如果触摸分组中的一组只存在两个触摸点且先前也没有其他任何触摸点,则将这两个触摸点认定为手势触摸下的拖拽缩放操作;如果触摸分组中的一组只存在两个触摸点且先前存在其他触摸点,因为缩放拖拽操作和其他工作模式互斥,因此忽略这一组操作;
S66,如果触摸分组中的一组存在三个乃至以上的触摸点,则认定是一个手势实现的擦除操作。
8.一种多点触控的防误触方法,其特征在于,使用权利要求1所述的手势识别方法对多点触控操作进行识别,在精准识别的过程中实现防误触。
9.根据权利要求8所述的一种多点触控的防误触方法,其特征在于,如果同一组的触摸点中存在移动,不仅分组被确定,而且即便这一组的触摸点之后不再超过移动检测阈值,检测程序扫描到的状态都将被强制修改为Press状态,从而确定手势或者是限定有限状态机FSM的工作状态,并在所有手指离开之前不再做变更;如果有限状态机FSM被限定,则后入的其他触摸行为也会变成有限状态机FSM限定时的工作状态,除非所有手指离开,有限状态机FSM才允许变更状态,从而实现多点触控的防误触。
10.一种通用平台下多点触控的手势识别和防误触系统,其特征在于,基于权利要求1-7任意一项所述的手势识别方法和权利要求8-9任意一项所述的防误触方法;首先基于Microsoft通用平台框架Xamarin开发支持Android/iOS/Window s和国产操作系统下的通用软件;接着,基于.Net Core对各平台进行统一封装,搭建通用平台,再基于该平台,开发通用平台下多点触控的手势识别和防误触系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110311452.1A CN113031817B (zh) | 2021-03-19 | 2021-03-19 | 一种多点触控的手势识别方法及防误触方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110311452.1A CN113031817B (zh) | 2021-03-19 | 2021-03-19 | 一种多点触控的手势识别方法及防误触方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113031817A true CN113031817A (zh) | 2021-06-25 |
CN113031817B CN113031817B (zh) | 2024-01-19 |
Family
ID=76473154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110311452.1A Active CN113031817B (zh) | 2021-03-19 | 2021-03-19 | 一种多点触控的手势识别方法及防误触方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113031817B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114559886A (zh) * | 2022-02-26 | 2022-05-31 | 东莞市台铃车业有限公司 | 防误触控制方法、系统、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880344A (zh) * | 2012-09-13 | 2013-01-16 | 广东威创视讯科技股份有限公司 | 一种多触摸点识别方法 |
CN105511794A (zh) * | 2015-12-14 | 2016-04-20 | 中国电子科技集团公司第十五研究所 | 一种支持多点触控手势操作的标绘系统及其方法 |
CN106293434A (zh) * | 2015-05-28 | 2017-01-04 | 惠州市德赛西威汽车电子股份有限公司 | 车载触摸屏终端的多点手势识别方法及装置 |
KR101777961B1 (ko) * | 2016-04-18 | 2017-09-13 | 주식회사 한글과컴퓨터 | 멀티 터치 제스처를 인식하는 방법 및 시스템 |
CN107562366A (zh) * | 2017-09-28 | 2018-01-09 | 珠海普林芯驰科技有限公司 | 手势识别方法、计算机装置及计算机可读存储介质 |
-
2021
- 2021-03-19 CN CN202110311452.1A patent/CN113031817B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880344A (zh) * | 2012-09-13 | 2013-01-16 | 广东威创视讯科技股份有限公司 | 一种多触摸点识别方法 |
CN106293434A (zh) * | 2015-05-28 | 2017-01-04 | 惠州市德赛西威汽车电子股份有限公司 | 车载触摸屏终端的多点手势识别方法及装置 |
CN105511794A (zh) * | 2015-12-14 | 2016-04-20 | 中国电子科技集团公司第十五研究所 | 一种支持多点触控手势操作的标绘系统及其方法 |
KR101777961B1 (ko) * | 2016-04-18 | 2017-09-13 | 주식회사 한글과컴퓨터 | 멀티 터치 제스처를 인식하는 방법 및 시스템 |
CN107562366A (zh) * | 2017-09-28 | 2018-01-09 | 珠海普林芯驰科技有限公司 | 手势识别方法、计算机装置及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114559886A (zh) * | 2022-02-26 | 2022-05-31 | 东莞市台铃车业有限公司 | 防误触控制方法、系统、装置、电子设备及存储介质 |
CN114559886B (zh) * | 2022-02-26 | 2024-03-29 | 东莞市台铃车业有限公司 | 防误触控制方法、系统、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113031817B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102819352B (zh) | 控制终端设备的方法和装置 | |
CN103294401B (zh) | 一种具有触摸屏的电子设备的图标处理方法及装置 | |
CN103186345B (zh) | 一种文段选择方法及装置 | |
EP2511812B1 (en) | Continuous recognition method of multi-touch gestures from at least two multi-touch input devices | |
CN110058782B (zh) | 基于交互式电子白板的触摸操作方法及其系统 | |
CN104571852B (zh) | 图标的移动方法及装置 | |
CN102096548B (zh) | 采用触控式显示器复制对象的方法和系统 | |
US20090090567A1 (en) | Gesture determination apparatus and method | |
US8456433B2 (en) | Signal processing apparatus, signal processing method and selection method of user interface icon for multi-touch panel | |
CN111475097B (zh) | 一种笔迹选择方法、装置、计算机设备和存储介质 | |
CN102346592A (zh) | 触摸输入的转换 | |
CN102768595B (zh) | 一种识别触摸屏上触控操作指令的方法及装置 | |
US9773329B2 (en) | Interaction with a graph for device control | |
US20150277748A1 (en) | Edit providing method according to multi-touch-based text block setting | |
KR20110039929A (ko) | 멀티터치 방식 입력제어 시스템 | |
CN105892877A (zh) | 多指并拢或打开手势的识别方法、装置及终端设备 | |
CN104077066A (zh) | 可携式装置与操作方法 | |
CN104182144A (zh) | 一种移动终端界面浏览的方法及其系统 | |
CN103389876A (zh) | 基于触摸显示设备的功能切换方法及触摸显示设备 | |
US20130321303A1 (en) | Touch detection | |
WO2013061326A1 (en) | Method for recognizing input gestures. | |
CN103150111A (zh) | 一种输入符号的方法、装置及终端 | |
CN107577404B (zh) | 信息处理方法、装置和电子设备 | |
CN113031817B (zh) | 一种多点触控的手势识别方法及防误触方法 | |
US20150103010A1 (en) | Keyboard with Integrated Pointing Functionality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |