CN104615366B - 一种面向多设备的手势交互方法 - Google Patents
一种面向多设备的手势交互方法 Download PDFInfo
- Publication number
- CN104615366B CN104615366B CN201410852337.5A CN201410852337A CN104615366B CN 104615366 B CN104615366 B CN 104615366B CN 201410852337 A CN201410852337 A CN 201410852337A CN 104615366 B CN104615366 B CN 104615366B
- Authority
- CN
- China
- Prior art keywords
- gesture
- value
- shape
- parameter
- touch
- 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
Links
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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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
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)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种能够兼容多种交互设备的基于通用手势集的手势交互方法,包括:生成通用手势集,多设备进行手势集指定,应用程序进行手势映射,多设备进行手势识别。
Description
所属技术领域
本发明涉及一种手势交互方法,尤其是一种基于通用手势集的多设备手势交互方法。
背景技术
在以人为中心的交互理念指导下,人机交互的研究试图突破鼠标键盘的限制,实现更加自由、和谐的交互前景。手势是自然交互最主要的通道之一,也是一个研究热点,现在市场上已经有很多支持手势交互的设备。
根据用户操作方法的不同,可以将支持手势交互的设备分为四类。根据用户操作时是否与显示屏幕接触,将设备分为触摸交互设备和非触摸交互设备。根据用户操作时是否借助于辅助设备,将设备分为裸手交互设备和辅助交互设备。常见的裸手触摸交互设备有iPhone,基于FTIR、DI技术的多点触摸平台等;常见的辅助触摸交互设备有支持多点触摸的Nokia手机、带有交互笔的平板电脑、电子白板等,辅助触摸工具主要是智能笔,如红外笔、激光笔等;常见的辅助非触摸设备有任天堂的Wii Remote、数据手套等;常见的裸手非触摸设备有微软的Kinect以及基于普通摄像头的手势交互系统。本发明所涉及的手势交互设备仅能支持四类手势交互中的一种。
手势交互设备的普及和价格降低使得在会议室、教室、指挥所等环境中可能存在多种手势交互设备,从而实现多样的手势交互,包括大屏幕手势交互、小屏幕手势交互、裸手交互、笔式交互、触摸交互、隔空交互等。
专利[201110233828.8]公开了一种交互式电子沙盘手势识别方法,结合实体沙盘模型,综合运用图像处理和光点运动轨迹跟踪与识别算法,设计并实现了电子沙盘中手势的自动识别。专利[201210405956.0]公开了一种基于Kinect的智能终端无接触隔空交互方法,包括以下步骤:将Kinect模块集成到智能终端内;通过Kinect模块采集并识别用户的手势控制命令;智能终端根据控制命令执行相应操作。专利[201210331153.5]公开了一种基于摄像头的手势交互方法,摄像头拍摄手势图像视频流,转化为图像帧,提取手势形状和特征,以及位置信息,建立分类准则对手势进行识别。以上三种方法实现了基于单一交互设备的手势交互,但是并不能支持其他类型的设备。专利[201110233828.8]公开的方法不能实现基于Kinect的手势交互,专利[201210405956.0]也不能实现基于摄像头的手势交互。现有技术中没有发现面向多种设备的手势交互方法。
如果在多设备的手势交互环境中,每种设备独立运行自己的手势交互方法,那么多设备不能很好的协同,会出现手势识别的冲突:针对同一隔空手势,基于Kinect的交互和基于摄像头的交互方法识别出的结果可能不同,甚至出现某一方法不能识别的情况。
本发明将基于单一设备的手势交互方法中输出手势参数之前的步骤统称为设备驱动程序。
发明内容
本发明要解决的技术问题是:提供一种同一空间中能够同时面向多种设备实现无冲突的手势交互的方法。
本发明解决上述技术问题所采用的技术方案包括以下步骤:
第一步,生成通用手势集G,G=Gtouch∪Gair,其中Gtouch指触摸手势集,Gair指隔空手势集:
1.1生成触摸手势集Gtouch,方法是:
1.1.1用由Pid,State,Coordinate,Time组成的四元组来定义触摸点Point,Point=(Pid,State,Coordinate,Time),其中Pid取值为自然数,指检测到的多个触摸点中该触摸点的序号;State指触摸点的状态,取值为集合STATE中的元素,集合STATE={Appear,Move,Leave},Appear、Move、Leave分别表示触摸交互设备检测到触摸点出现、在移动和离开;Coordinate为二元实数组,指触摸点坐标;Time指触摸点对应的系统时间;
1.1.2设定距离阈值L0与时间阈值T0,只有距离小于L0且触摸时间间隔小于T0的两个点才属于同一手势,属于同一手势的点组成触摸点集;一个触摸点集生成一个触摸手势,用五元组定义触摸手势TouchGesture=(Tid,TouchState,Sum,TouchPara,Value),其中Tid为触摸手势的编号,具有唯一性;TouchState指触摸点集中最后出现的点的State值;Sum指同一时间在距离阈值内的触摸点个数,取值为不大于10的自然数、2+、3+、4+或5+,其中2+、3+、4+、5+分别表示不少于2个、不少于3个、不少于4个或不少于5个。;TouchPara指触摸点集的参数之一,Value指参数TouchPara的值;TouchPara取值为有序集合TPARA中的元素,列举触摸点集的参数得到有序集合TPARA={Trend,Trace,ClickCount,Distance,Angle},其中ClickCount取值为1、2或3,指同一位置在时间阈值内的触摸点个数;当Sum=2且TouchState=Appear时,Distance表示两点之间的距离,取值为区间[0,L0]之间的正整数,Angle指两点连成的直线与水平线的夹角,取值为区间[0,180]之间的正整数;Trend表示触摸点的移动趋势,当Trend赋值时,TouchState必须取值Move,Trend取值为可拆解为三部分的数组“Num+Direction+Motion”,其中“+”是连接符,表示Num个触摸点沿着Direction方向做Motion类型的运动,Num取值为Sum的值,Direction取值Right、Left、Up、Down、LeftDown,LeftUp,RightDown,RightUp,分别表示右、左、上、下、左下、左上、右下、右上八个方位,Motion取值Move、Apart、Close、ClockRotate、AntiClockRotate,分别表示移动、分离、靠近、顺时针旋转、逆时针旋转;Num部分也可以取值Time或Second;取值Time时,Motion取值Move,表示单点按下一小段时间后再沿着Direction方向移动;取值Second时,表示一点按下后不动,第二点接着按下并沿着Direction方向做Motion类型的运动;Trace是对一系列触摸点的处理结果,指手势的移动轨迹,当Trace赋值时,TouchState必须取值Leave,Trace的取值为任意的平面几何形状,例如圆形、正方形、“V”形、“Z”形、“?”形、“×”形、左半圆、右半圆、上半圆或下半圆;触摸点集的参数值根据点集内所有点的参数结合几何学常识获得;
1.1.3对触摸手势TouchGesture赋值得到触摸手势,对Tid进行唯一性赋值,对TouchState、Sum、TouchPara、Value在各自取值范围内的一组赋值生成一个手势,在各自取值范围的所有赋值组合构成触摸手势集Gtouch;
1.2生成隔空手势集Gair,方法是:
1.2.1列举手势可以模拟的几何形状,得到集合SHAPE,SHAPE={Shape_Point,Shape_Line,Shape_Surface},表示集合可以分为三个子集,包括点形状、线形状和面形状,其中Shape_Point={point,muitipoint},表示点形状包括单点、散点;Shape_Line={StraightLine,Polyline,Curve,LineString},表示线形状包括直线、折线、曲线、线串;Shape_Surface={Polygon,Circle,Ellipse},表示面形状包括多边形、圆形、椭圆形;
1.2.2根据几何学常识,为每种几何形状生成几何学参数有序集合APARAshape,其中下标shape分别对应九种形状,每个集合的元素个数记为Pnumshape;一个隔空手势对应一个几何形状,用五元组定义隔空手势AirGesture=(Aid,Shape,AirPara,AirValue,AirTrend,AirTrace),其中Aid是隔空手势的编号,具有唯一性;Shape是手势对应的几何形状,取值为SHAPE中的元素,AirPara是几何形状Shape的参数之一,取值为几何形状Shape对应的参数集合中的元素;AirValue为几何形状Shape的参数AirPara的赋值,取值范围根据人体工学的常识确定,取离散的有限值;AirTrend为几何形状Shape的参数AirPara发生变化时的变化趋势,取值为increase或decrease,表示在变大或变小;AirTrace仅在Shape赋值point或muitipoint有意义,指隔空点手势运动的轨迹,取值为任意的平面几何形状;
1.2.3隔空手势AirGesture赋值,其中参数AirValue、AirTrend、AirTrace一次只对一个赋值,对AirValue赋值得到静态手势,对AirTrend或AirTrace赋值得到动态手势,对参数Shape、参数AirPara和AirValue、AirTrend、AirTrace三个参数之一在取值范围内的一组赋值生成一个手势,在取值范围的所有赋值组合构成隔空手势集Gair;
1.3将Gtouch和Gair取并集得到通用手势集G;
1.4分解通用手势集G,得到点手势集Gpoint、线手势集Gline、面手势集Gsurface、轨迹手势集Gtrace,方法是:
1.4.1Gpoint=G;
1.4.2Gtouch中的每一个手势执行以下操作:若手势的TouchPara参数赋值为Distance、Angle、Trend、Trace,则手势加入Gline,若TouchPara参数赋值为Trace,则手势加入Gtrace;
1.4.3Gair中的每一个手势执行以下操作:若手势的Shape参数赋值来自Shape_Surface子集,则手势加入Gsurface和Gline,若手势的Shape参数赋值来自Shape_Line子集,则手势加入Gline;若手势的AirTrace参数不为空,则加入Gtrace;
第二步,多设备进行手势集指定,方法是:
2.1交互设备表示为Ei,其中i=1,2,…,m,…,n;n为交互设备的数量,m为支持隔空手势交互的设备数量,E1,…,Em为支持隔空手势交互的设备,Em+1,…,En为支持触摸交互的设备;为每种设备指定手势集Gi,初始化为空集;每个设备并行执行2.2和2.3;
2.2根据设备支持的手势交互类型匹配手势集,若交互设备支持触摸交互,令Gi=Gi∪Gtouch;若交互设备支持隔空手势交互,令Gi=Gi∪Gair;若交互设备支持辅助交互,且辅助设备为交互笔,令Gi=Gi∩Gtrace;
2.3从交互设备的驱动程序获取识别到的手势参数类型,若驱动程序输出的参数仅有线参数,令Gi=Gi∩Gline;若驱动程序输出的参数仅有面参数,令Gi=Gi∩Gsurface;
第三步,应用程序进行手势映射,方法是:
3.1根据应用程序的应用手册确定该应用程序的功能集合;
3.2为应用程序的功能集合中的元素分别映射相应的手势,如果应用程序有源代码或二次开发接口,则执行3.2.1,否则执行3.2.2:
3.2.1为应用程序加入功能与手势相映射的源代码或二次开发代码,转第四步;
3.2.2通过基于鼠标事件的多点触摸手势交互中间件进行映射,执行第四步;该中间件公开于申请号为[201110329438.0]的发明专利[0008]段。
第四步,多设备进行手势识别,方法是:
4.1设备Em+1,…,Ej,…,En并行进行手势识别,j取值为区间[m+1,n]中的整数,Ej进行手势识别的过程是:
4.1.1以三元组定义触摸手势参数TouchParaj=(TouchState,Sum,TouchValue[]),其中TouchValue[]为五元数组,对应有序集合TPARA中的五个参数;以四元组定义触摸手势识别结论TouchResultj=(TouchState,Sum,TouchPara,Value);将TouchParaj和TouchResultj的所有元素置空;
4.1.2Ej运行专属的驱动程序,捕捉手部数据,输出手势参数,写入TouchParaj,若TouchValue[]中的元素没有输出值,则维持空值;
4.1.3对触摸手势参数进行识别,得到识别出的手势编号Gestj,方法是:
4.1.3.1令临时参数temp=0;
4.1.3.2若TouchParaj.TouchValue[temp]不为空,则将有序集合TPARA的第temp个元素写入TouchResultj.TouchPara,令TouchResultj.TouchPara=TouchParaj.TouchValue[temp],转4.1.3.4;否则令temp=temp+1;
4.1.3.3若temp<5,转4.1.3.2;否则,转4.6;
4.1.3.4识别结论TouchResultj的四个元素与触摸手势的除Tid外的四个元素一一对应,将识别结论TouchResultj的取值与手势集Gi中的手势取值逐项对比,若四个元素的取值与Gi中某一个手势的四个对应参数取值完全相同,则将该手势的Tid值写入Gestj,转4.1.4;否则,转4.6;
4.1.4将Gestj传送给设备Ej上当前活动的应用程序,将该手势映射为设定的功能;
4.2确定一台计算机主机负责隔空手势的整合,并将交互设备E1,…,Em与主机通过局域网连接;交互空间中同一时间发生的触摸手势操作可以有多个,同一时间发生的隔空手势操作仅有一个;
4.3设备E1,…,Ek,…,Em并行进行手势识别,k取值为区间[1,m]中的整数,Ek进行手势识别的过程是:
4.3.1以四元组定义隔空手势参数AirParak=(Shape,AirValue[],AirTrend[],AirTrace[]),将AirParak.Shape的值简记为ks,数组AirValue[]、AirTrend[]和AirTrace[]的长度为Pnumks;以五元组定义隔空手势识别结论AirResultk=(Shape,AirPara,AirValue,AirTrend,AirTrace),将识别出的手势编号记为AirGestk;以四元组定义传输结论TranResultk=(k,ParaNum,AirGestk,TransTime),其中参数数量ParaNum指得到的形状参数的数量,TransTime指向主机发送传输结论时的系统时间,将AirParak、AirResultk和TranResultk的所有元素置空;
4.3.2Ek运行专属的驱动程序,捕捉手部数据,输出手势参数,写入AirParak,若AirValue[]、AirTrend[]、AirTrace[]中的元素没有输出值,则维持空值;
4.3.3对隔空手势参数进行识别,得到识别出的手势编号AirGestk,方法是:
4.3.3.1令临时参数temp1=0,将AirParak.AirTrace[]中的非空元素数量写入ParaNum;
4.3.3.2若AirParak.AirTrace[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirTrace=AirParak.AirTrace[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.3若temp1<Pnumks,转4.3.3.2;否则,转4.3.3.4;
4.3.3.4令temp1=0,将AirParak.AirTrend[]中的非空元素数量写入ParaNum;
4.3.3.5若AirParak.AirTrend[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirTrend=AirParak.AirTrend[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.6若temp1<Pnumks,转4.3.3.5;否则,转4.3.3.7;
4.3.3.7令temp1=0,将AirParak.AirValue[]中的非空元素数量写入ParaNum;
4.3.3.8若AirParak.AirValue[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirValue=AirParak.AirValue[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.9若temp1<Pnumks,转4.3.3.8;否则,转4.6;
4.3.3.10识别结论AirResultk的五个元素与隔空手势的除Aid外的五个元素一一对应,将识别结论AirResultk的取值与手势集Gk中的手势取值逐项对比,若五个元素的取值与Gk中某一个手势的五个对应参数取值完全相同,则将该手势的Aid值写入AirGestk,否则,转4.6;
4.3.4将k,ParaNum,AirGestk,TransTime四个值写入TranResultk,将TranResultk传输到主机;
4.4主机在E1,…,Em中确定对隔空手势操作进行响应的设备Eact,下标act为对隔空手势操作进行响应的设备的编号,方法是:
4.4.1求取act的值,有两种方法:
4.4.1.1比较接收到的几组TranResultk的TransTime值,将TransTime值最小的TranResultk的k值写入act;
4.4.1.2比较接收到的几组TranResultk的ParaNum值,若ParaNum值最大的TranResultk只有一个,则将ParaNum值最大的TranResultk的k值写入act;若ParaNum值最大的TranResultk多于一个,比较ParaNum值最大的几个TranResultk的TransTime值,将TransTime值最小的TranResultk的k值写入act。
4.4.2主机向Eact发送信息,由其负责响应隔空手势操作;
4.5设备Eact将AirGestact传送给当前活动的应用程序,将该手势映射为设定的功能。
4.6结束。
本发明的有益效果是,当家庭、教室、会议室等场所中存在多种支持手势交互的设备时,多设备之间可以无冲突的实现手势识别。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明面向多设备的手势交互方法的总体流程图。
图2是本发明步骤1.4中各手势子集的关系。
图3是本发明轨迹手势与应用程序功能匹配的举例。
具体实施方式
在图1中,一种面向多设备的手势交互方法,包括以下步骤:
第一步,生成通用手势集G,G=Gtouch∪Gair,其中Gtouch指触摸手势集,Gair指隔空手势集:
1.1生成触摸手势集Gtouch,方法是:
1.1.1用由Pid,State,Coordinate,Time组成的四元组来定义触摸点Point,Point=(Pid,State,Coordinate,Time),其中Pid取值为自然数,指检测到的多个触摸点中该触摸点的序号;State指触摸点的状态,取值为集合STATE中的元素,集合STATE={Appear,Move,Leave},Appear、Move、Leave分别表示触摸交互设备检测到触摸点出现、在移动和离开;Coordinate为二元实数组,指触摸点坐标;Time指触摸点对应的系统时间;
1.1.2设定距离阈值L0与时间阈值T0,只有距离小于L0且触摸时间间隔小于T0的两个点才属于同一手势,属于同一手势的点组成触摸点集;一个触摸点集生成一个触摸手势,用五元组定义触摸手势TouchGesture=(Tid,TouchState,Sum,TouchPara,Value),其中Tid为触摸手势的编号,具有唯一性;TouchState指触摸点集中最后出现的点的State值;Sum指同一时间在距离阈值内的触摸点个数,取值为不大于10的自然数、2+、3+、4+或5+,其中2+、3+、4+、5+分别表示不少于2个、不少于3个、不少于4个或不少于5个。;TouchPara指触摸点集的参数之一,Value指参数TouchPara的值;TouchPara取值为有序集合TPARA中的元素,列举触摸点集的参数得到有序集合TPARA={Trend,Trace,ClickCount,Distance,Angle},其中ClickCount取值为1、2或3,指同一位置在时间阈值内的触摸点个数;当Sum=2且TouchState=Appear时,Distance表示两点之间的距离,取值为区间[0,L0]之间的正整数,Angle指两点连成的直线与水平线的夹角,取值为区间[0,180]之间的正整数;Trend表示触摸点的移动趋势,当Trend赋值时,TouchState必须取值Move,Trend取值为可拆解为三部分的数组“Num+Direction+Motion”,其中“+”是连接符,表示Num个触摸点沿着Direction方向做Motion类型的运动,Num取值为Sum的值,Direction取值Right、Left、Up、Down、LeftDown,LeftUp,RightDown,RightUp,分别表示右、左、上、下、左下、左上、右下、右上八个方位,Motion取值Move、Apart、Close、ClockRotate、AntiClockRotate,分别表示移动、分离、靠近、顺时针旋转、逆时针旋转;Num部分也可以取值Time或Second;取值Time时,Motion取值Move,表示单点按下一小段时间后再沿着Direction方向移动;取值Second时,表示一点按下后不动,第二点接着按下并沿着Direction方向做Motion类型的运动;Trace是对一系列触摸点的处理结果,指手势的移动轨迹,当Trace赋值时,TouchState必须取值Leave,Trace的取值为任意的平面几何形状,例如圆形、正方形、“V”形、“Z”形、“?”形、“×”形、左半圆、右半圆、上半圆或下半圆;触摸点集的参数值根据点集内所有点的参数结合几何学常识获得;
附图3列举了14种轨迹手势,包括圆形、正方形、“V”形、“Z”形、“?”形、“×”形以及多种弧线,图中手势图上的箭头指示轨迹手势的运动方向,不属于手势本身。
1.1.3对触摸手势TouchGesture赋值得到触摸手势,对Tid进行唯一性赋值,对TouchState、Sum、TouchPara、Value在各自取值范围内的一组赋值生成一个手势,在各自取值范围的所有赋值组合构成触摸手势集Gtouch;
1.2生成隔空手势集Gair,方法是:
1.2.1列举手势可以模拟的几何形状,得到集合SHAPE,SHAPE={Shape_Point,Shape_Line,Shape_Surface},表示集合可以分为三个子集,包括点形状、线形状和面形状,其中Shape_Point={point,muitipoint},表示点形状包括单点、散点;Shape_Line={StraightLine,Polyline,Curve,LineString},表示线形状包括直线、折线、曲线、线串;Shape_Surface={Polygon,Circle,Ellipse},表示面形状包括多边形、圆形、椭圆形;
1.2.2根据几何学常识,为每种几何形状生成几何学参数有序集合APARAshape,其中下标shape分别对应九种形状,每个集合的元素个数记为Pnumshape;一个隔空手势对应一个几何形状,用五元组定义隔空手势AirGesture=(Aid,Shape,AirPara,AirValue,AirTrend,AirTrace),其中Aid是隔空手势的编号,具有唯一性;Shape是手势对应的几何形状,取值为SHAPE中的元素,AirPara是几何形状Shape的参数之一,取值为几何形状Shape对应的参数集合中的元素;AirValue为几何形状Shape的参数AirPara的赋值,取值范围根据人体工学的常识确定,取离散的有限值;AirTrend为几何形状Shape的参数AirPara发生变化时的变化趋势,取值为increase或decrease,表示在变大或变小;AirTrace仅在Shape赋值point或muitipoint有意义,指隔空点手势运动的轨迹,取值为任意的平面几何形状;
1.2.3隔空手势AirGesture赋值,其中参数AirValue、AirTrend、AirTrace一次只对一个赋值,对AirValue赋值得到静态手势,对AirTrend或AirTrace赋值得到动态手势,对参数Shape、参数AirPara和AirValue、AirTrend、AirTrace三个参数之一在取值范围内的一组赋值生成一个手势,在取值范围的所有赋值组合构成隔空手势集Gair;
1.3将Gtouch和Gair取并集得到通用手势集G;
1.4分解通用手势集G,得到点手势集Gpoint、线手势集Gline、面手势集Gsurface、轨迹手势集Gtrace,方法是:
1.4.1Gpoint=G;
1.4.2Gtouch中的每一个手势执行以下操作:若手势的TouchPara参数赋值为Distance、Angle、Trend、Trace,则手势加入Gline,若TouchPara参数赋值为Trace,则手势加入Gtrace;
1.4.3Gair中的每一个手势执行以下操作:若手势的Shape参数赋值来自Shape_Surface子集,则手势加入Gsurface和Gline,若手势的Shape参数赋值来自Shape_Line子集,则手势加入Gline;若手势的AirTrace参数不为空,则加入Gtrace;
步骤1.4所述手势子集的关系在附图2中展示,Gpoint包含Gline,Gline包含Gsurface;Gsurface包含于Gair;Gtrace是Gtouch一部分元素和Gair一部分元素的集合。
第二步,多设备进行手势集指定,方法是:
2.1交互设备表示为Ei,其中i=1,2,…,m,…,n;n为交互设备的数量,m为支持隔空手势交互的设备数量,E1,…,Em为支持隔空手势交互的设备,Em+1,…,En为支持触摸交互的设备;为每种设备指定手势集Gi,初始化为空集;每个设备并行执行2.2和2.3;
2.2根据设备支持的手势交互类型匹配手势集,若交互设备支持触摸交互,令Gi=Gi∪Gtouch;若交互设备支持隔空手势交互,令Gi=Gi∪Gair;若交互设备支持辅助交互,且辅助设备为交互笔,令Gi=Gi∩Gtrace;
2.3从交互设备的驱动程序获取识别到的手势参数类型,若驱动程序输出的参数仅有线参数,令Gi=Gi∩Gline;若驱动程序输出的参数仅有面参数,令Gi=Gi∩Gsurface;
第三步,应用程序进行手势映射,方法是:
3.1根据应用程序的应用手册确定该应用程序的功能集合;
3.2为应用程序的功能集合中的元素分别映射相应的手势,如果应用程序有源代码或二次开发接口,则执行3.2.1,否则执行3.2.2:
3.2.1为应用程序加入功能与手势相映射的源代码或二次开发代码,转第四步;
3.2.2通过基于鼠标事件的多点触摸手势交互中间件进行映射,执行第四步;该中间件公开于申请号为[201110329438.0]的发明专利[0008]段。
附图3举例说明了手势与应用程序功能的匹配关系,手势选取了14种轨迹手势,应用程序选择了微软的Office Word软件,其中“×”形匹配关闭功能,“Z”形匹配新建功能,圆形匹配区域选取功能,“V”形匹配剪切功能,“?”形匹配帮助功能,正方形匹配最大化功能,等等。
第四步,多设备进行手势识别,方法是:
4.1设备Em+1,…,Ej,…,En并行进行手势识别,j取值为区间[m+1,n]中的整数,Ej进行手势识别的过程是:
4.1.1以三元组定义触摸手势参数TouchParaj=(TouchState,Sum,TouchValue[]),其中TouchValue[]为五元数组,对应有序集合TPARA中的五个参数;以四元组定义触摸手势识别结论TouchResultj=(TouchState,Sum,TouchPara,Value);将TouchParaj和TouchResultj的所有元素置空;
4.1.2Ej运行专属的驱动程序,捕捉手部数据,输出手势参数,写入TouchParaj,若TouchValue[]中的元素没有输出值,则维持空值;
4.1.3对触摸手势参数进行识别,得到识别出的手势编号Gestj,方法是:
4.1.3.1令临时参数temp=0;
4.1.3.2若TouchParaj.TouchValue[temp]不为空,则将有序集合TPARA的第temp个元素写入TouchResultj.TouchPara,令TouchResultj.TouchPara=TouchParaj.TouchValue[temp],转4.1.3.4;否则令temp=temp+1;
4.1.3.3若temp<5,转4.1.3.2;否则,转4.6;
4.1.3.4识别结论TouchResultj的四个元素与触摸手势的除Tid外的四个元素一一对应,将识别结论TouchResultj的取值与手势集Gi中的手势取值逐项对比,若四个元素的取值与Gi中某一个手势的四个对应参数取值完全相同,则将该手势的Tid值写入Gestj,转4.1.4;否则,转4.6;
4.1.4将Gestj传送给设备Ej上当前活动的应用程序,将该手势映射为设定的功能;
4.2确定一台计算机主机负责隔空手势的整合,并将交互设备E1,…,Em与主机通过局域网连接;交互空间中同一时间发生的触摸手势操作可以有多个,同一时间发生的隔空手势操作仅有一个;
4.3设备E1,…,Ek,…,Em并行进行手势识别,k取值为区间[1,m]中的整数,Ek进行手势识别的过程是:
4.3.1以四元组定义隔空手势参数AirParak=(Shape,AirValue[],AirTrend[],AirTrace[]),将AirParak.Shape的值简记为ks,数组AirValue[]、AirTrend[]和AirTrace[]的长度为Pnumks;以五元组定义隔空手势识别结论AirResultk=(Shape,AirPara,AirValue,AirTrend,AirTrace),将识别出的手势编号记为AirGestk;以四元组定义传输结论TranResultk=(k,ParaNum,AirGestk,TransTime),其中参数数量ParaNum指得到的形状参数的数量,TransTime指向主机发送传输结论时的系统时间,将AirParak、AirResultk和TranResultk的所有元素置空;
4.3.2Ek运行专属的驱动程序,捕捉手部数据,输出手势参数,写入AirParak,若AirValue[]、AirTrend[]、AirTrace[]中的元素没有输出值,则维持空值;
4.3.3对隔空手势参数进行识别,得到识别出的手势编号AirGestk,方法是:
4.3.3.1令临时参数temp1=0,将AirParak.AirTrace[]中的非空元素数量写入ParaNum;
4.3.3.2若AirParak.AirTrace[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirTrace=AirParak.AirTrace[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.3若temp1<Pnumks,转4.3.3.2;否则,转4.3.3.4;
4.3.3.4令temp1=0,将AirParak.AirTrend[]中的非空元素数量写入ParaNum;
4.3.3.5若AirParak.AirTrend[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirTrend=AirParak.AirTrend[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.6若temp1<Pnumks,转4.3.3.5;否则,转4.3.3.7;
4.3.3.7令temp1=0,将AirParak.AirValue[]中的非空元素数量写入ParaNum;
4.3.3.8若AirParak.AirValue[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirValue=AirParak.AirValue[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.9若temp1<Pnumks,转4.3.3.8;否则,转4.6;
4.3.3.10识别结论AirResultk的五个元素与隔空手势的除Aid外的五个元素一一对应,将识别结论AirResultk的取值与手势集Gk中的手势取值逐项对比,若五个元素的取值与Gk中某一个手势的五个对应参数取值完全相同,则将该手势的Aid值写入AirGestk,否则,转4.6;
4.3.4将k,ParaNum,AirGestk,TransTime四个值写入TranResultk,将TranResultk传输到主机;
4.4主机在E1,…,Em中确定对隔空手势操作进行响应的设备Eact,下标act为对隔空手势操作进行响应的设备的编号,方法是:
4.4.1求取act的值,有两种方法:
4.4.1.1比较接收到的几组TranResultk的TransTime值,将TransTime值最小的TranResultk的k值写入act;
4.4.1.2比较接收到的几组TranResultk的ParaNum值,若ParaNum值最大的TranResultk只有一个,则将ParaNum值最大的TranResultk的k值写入act;若ParaNum值最大的TranResultk多于一个,比较ParaNum值最大的几个TranResultk的TransTime值,将TransTime值最小的TranResultk的k值写入act。
4.4.2主机向Eact发送信息,由其负责响应隔空手势操作;
4.5设备Eact将AirGestact传送给当前活动的应用程序,将该手势映射为设定的功能。
4.6结束。
Claims (5)
1.一种面向多设备的手势交互方法,其特征在于包含以下步骤:
第一步,生成通用手势集G,G=Gtouch∪Gair,其中Gtouch指触摸手势集,Gair指隔空手势集:
1.1生成触摸手势集Gtouch,方法是:
1.1.1用由Pid,State,Coordinate,Time组成的四元组来定义触摸点Point,Point=(Pid,State,Coordinate,Time),其中Pid取值为自然数,指检测到的多个触摸点中该触摸点的序号;State指触摸点的状态,取值为集合STATE中的元素,集合STATE={Appear,Move,Leave},Appear、Move、Leave分别表示触摸交互设备检测到触摸点出现、在移动和离开;Coordinate为二元实数组,指触摸点坐标;Time指触摸点对应的系统时间;
1.1.2设定距离阈值L0与时间阈值T0,只有距离小于L0且触摸时间间隔小于T0的两个点才属于同一手势,属于同一手势的点组成触摸点集;一个触摸点集生成一个触摸手势,用五元组定义触摸手势TouchGesture=(Tid,TouchState,Sum,TouchPara,Value),其中Tid为触摸手势的编号,具有唯一性;TouchState指触摸点集中最后出现的点的State值;Sum指同一时间在距离阈值内的触摸点个数,取值为不大于10的自然数;TouchPara指触摸点集的参数之一,Value指参数TouchPara的值;TouchPara取值为有序集合TPARA中的元素,列举触摸点集的参数得到有序集合TPARA={Trend,Trace,ClickCount,Distance,Angle},其中ClickCount取值为1、2或3,指同一位置在时间阈值内的触摸点个数;当Sum=2且TouchState=Appear时,Distance表示两点之间的距离,取值为区间[0,L0]之间的正整数,Angle指两点连成的直线与水平线的夹角,取值为区间[0,180]之间的正整数;Trend表示触摸点的移动趋势,当Trend赋值时,TouchState必须取值Move,Trend取值为可拆解为三部分的数组“Num+Direction+Motion”,其中“+”是连接符,表示Num个触摸点沿着Direction方向做Motion类型的运动,Num取值为Sum的值,Direction取值Right、Left、Up、Down、LeftDown,LeftUp,RightDown,RightUp,分别表示右、左、上、下、左下、左上、右下、右上八个方位,Motion取值Move、Apart、Close、ClockRotate、AntiClockRotate,分别表示移动、分离、靠近、顺时针旋转、逆时针旋转;Trace是对一系列触摸点的处理结果,指手势的移动轨迹,当Trace赋值时,TouchState必须取值Leave,Trace的取值为任意的平面几何形状;触摸手势的参数值根据对应的触摸点集内所有点的参数结合几何学常识获得;
1.1.3对触摸手势TouchGesture赋值得到触摸手势,对Tid进行唯一性赋值,对TouchState、Sum、TouchPara、Value在各自取值范围内的一组赋值生成一个手势,在各自取值范围的所有赋值组合构成触摸手势集Gtouch;
1.2生成隔空手势集Gair,方法是:
1.2.1列举手势可以模拟的几何形状,得到集合SHAPE,SHAPE={Shape_Point,Shape_Line,Shape_Surface},表示集合可以分为三个子集,包括点形状、线形状和面形状,其中Shape_Point={point,muitipoint},表示点形状包括单点、散点;Shape_Line={StraightLine,Polyline,Curve,LineString},表示线形状包括直线、折线、曲线、线串;Shape_Surface={Polygon,Circle,Ellipse},表示面形状包括多边形、圆形、椭圆形;
1.2.2根据几何学常识,为每种几何形状生成几何学参数有序集合APARAshape,其中下标shape分别对应九种形状,每个集合的元素个数记为Pnumshape;一个隔空手势对应一个几何形状,用五元组定义隔空手势AirGesture=(Aid,Shape,AirPara,AirValue,AirTrend,AirTrace),其中Aid是隔空手势的编号,具有唯一性;Shape是手势对应的几何形状,取值为SHAPE中的元素,AirPara是几何形状Shape的参数之一,取值为几何形状Shape对应的参数集合中的元素;AirValue为几何形状Shape的参数AirPara的赋值,取值范围根据人体工学的常识确定,取离散的有限值;AirTrend为几何形状Shape的参数AirPara发生变化时的变化趋势,取值为increase或decrease,表示在变大或变小;AirTrace仅在Shape赋值point或muitipoint有意义,指隔空点手势运动的轨迹,取值为任意的平面几何形状;
1.2.3隔空手势AirGesture赋值,其中参数AirValue、AirTrend、AirTrace一次只对一个赋值,对参数Shape、参数AirPara和AirValue、AirTrend、AirTrace三个参数之一在取值范围内的一组赋值生成一个手势,在取值范围的所有赋值组合构成隔空手势集Gair;
1.3将Gtouch和Gair取并集得到通用手势集G;
1.4分解通用手势集G,得到点手势集Gpoint、线手势集Gline、面手势集Gsurface、轨迹手势集Gtrace,方法是:
1.4.1 Gpoint=G;
1.4.2 Gtouch中的每一个手势执行以下操作:若手势的TouchPara参数赋值为Distance、Angle、Trend、Trace,则手势加入Gline,若TouchPara参数赋值为Trace,则手势加入Gtrace;
1.4.3 Gair中的每一个手势执行以下操作:若手势的Shape参数赋值来自Shape_Surface子集,则手势加入Gsurface和Gline,若手势的Shape参数赋值来自Shape_Line子集,则手势加入Gline;若手势的AirTrace参数不为空,则加入Gtrace;
第二步,多设备进行手势集指定,方法是:
2.1交互设备表示为Ei,其中i=1,2,…,m,…,n;n为交互设备的数量,m为支持隔空手势交互的设备数量,E1,…,Em为支持隔空手势交互的设备,Em+1,…,En为支持触摸交互的设备;为每种设备指定手势集Gi,初始化为空集;每个设备并行执行2.2和2.3;
2.2根据设备支持的手势交互类型匹配手势集,若交互设备支持触摸交互,令Gi=Gi∪Gtouch;若交互设备支持隔空手势交互,令Gi=Gi∪Gair;若交互设备支持辅助交互,且辅助设备为交互笔,令Gi=Gi∩Gtrace;
2.3从交互设备的驱动程序获取识别到的手势参数类型,若驱动程序输出的参数仅有线参数,令Gi=Gi∩Gline;若驱动程序输出的参数仅有面参数,令Gi=Gi∩Gsurface;
第三步,应用程序进行手势映射,方法是:
3.1根据应用程序的应用手册确定该应用程序的功能集合;
3.2为应用程序的功能集合中的元素分别映射相应的手势,如果应用程序有源代码或二次开发接口,则执行3.2.1,否则执行3.2.2:
3.2.1为应用程序加入功能与手势相映射的源代码或二次开发代码,转第四步;
3.2.2通过基于鼠标事件的多点触摸手势交互中间件进行映射,执行第四步;
第四步,多设备进行手势识别,方法是:
4.1设备Em+1,…,Ej,…,En并行进行手势识别,j取值为区间[m+1,n]中的整数,Ej进行手势识别的过程是:
4.1.1以三元组定义触摸手势参数TouchParaj=(TouchState,Sum,TouchValue[]),其中TouchValue[]为五元数组,对应有序集合TPARA中的五个参数;以四元组定义触摸手势识别结论TouchResultj=(TouchState,Sum,TouchPara,Value);将TouchParaj和TouchResultj的所有元素置空;
4.1.2 Ej运行专属的驱动程序,捕捉手部数据,输出手势参数,写入TouchParaj,若TouchValue[]中的元素没有输出值,则维持空值;
4.1.3对触摸手势参数进行识别,得到识别出的手势编号Gestj,方法是:
4.1.3.1令临时参数temp=0;
4.1.3.2若TouchParaj.TouchValue[temp]不为空,则将有序集合TPARA的第temp个元素写入TouchResultj.TouchPara,令TouchResultj.TouchPara=TouchParaj.TouchValue[temp],转4.1.3.4;否则令temp=temp+1;
4.1.3.3若temp<5,转4.1.3.2;否则,转4.6;
4.1.3.4将识别结论TouchResultj的取值与手势集Gi中的手势取值逐项对比,若四个元素的取值与Gi中某一个手势的四个对应参数取值完全相同,则将该手势的Tid值写入Gestj,转4.1.4;否则,转4.6;
4.1.4将Gestj传送给设备Ej上当前活动的应用程序,将该手势映射为设定的功能;
4.2确定一台计算机主机负责隔空手势的整合,并将交互设备E1,…,Em与主机通过局域网连接;
4.3设备E1,…,Ek,…,Em并行进行手势识别,k取值为区间[1,m]中的整数,Ek进行手势识别的过程是:
4.3.1以四元组定义隔空手势参数AirParak=(Shape,AirValue[],AirTrend[],AirTrace[]),将AirParak.Shape的值简记为ks,数组AirValue[]、AirTrend[]和AirTrace[]的长度为Pnumks;以五元组定义隔空手势识别结论AirResultk=(Shape,AirPara,AirValue,AirTrend,AirTrace),将识别出的手势编号记为AirGestk;以四元组定义传输结论TranResultk=(k,ParaNum,AirGestk,TransTime),其中参数数量ParaNum指得到的形状参数的数量,TransTime指向主机发送传输结论时的系统时间,将AirParak、AirResultk和TranResultk的所有元素置空;
4.3.2 Ek运行专属的驱动程序,捕捉手部数据,输出手势参数,写入AirParak,若AirValue[]、AirTrend[]、AirTrace[]中的元素没有输出值,则维持空值;
4.3.3对隔空手势参数进行识别,得到识别出的手势编号AirGestk,方法是:
4.3.3.1令临时参数temp1=0,将AirParak.AirTrace[]中的非空元素数量写入ParaNum;
4.3.3.2若AirParak.AirTrace[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirTrace=AirParak.AirTrace[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.3若temp1<Pnumks,转4.3.3.2;否则,转4.3.3.4;
4.3.3.4令temp1=0,将AirParak.AirTrend[]中的非空元素数量写入ParaNum;
4.3.3.5若AirParak.AirTrend[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirTrend=AirParak.AirTrend[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.6若temp1<Pnumks,转4.3.3.5;否则,转4.3.3.7;
4.3.3.7令temp1=0,将AirParak.AirValue[]中的非空元素数量写入ParaNum;
4.3.3.8若AirParak.AirValue[temp1]不为空,则将有序集合APARAks的第temp1个元素写入AirResultk.AirPara,令AirResultk.AirValue=AirParak.AirValue[temp1],转4.3.3.10;否则令temp1=temp1+1;
4.3.3.9若temp1<Pnumks,转4.3.3.8;否则,转4.6;
4.3.3.10将识别结论AirResultk的取值与手势集Gk中的手势取值逐项对比,若五个元素的取值与Gk中某一个手势的五个对应参数取值完全相同,则将该手势的Aid值写入AirGestk,否则,转4.6;
4.3.4将k,ParaNum,AirGestk,TransTime四个值写入TranResultk,将TranResultk传输到主机;
4.4主机在E1,…,Em中确定对隔空手势操作进行响应的设备Eact,下标act为对隔空手势操作进行响应的设备的编号,方法是:
4.4.1比较接收到的几组TranResultk的TransTime值,将TransTime值最小的TranResultk的k值写入act;
4.4.2主机向Eact发送信息,由其负责响应隔空手势操作;
4.5设备Eact将AirGestact传送给当前活动的应用程序,将该手势映射为设定的功能;
4.6结束。
2.根据权利要求1所述的一种面向多设备的手势交互方法,其特征在于:所属参数Sum取值为2+、3+、4+或5+,分别表示不少于2个、不少于3个、不少于4个或不少于5个。
3.根据权利要求1所述的一种面向多设备的手势交互方法,其特征在于:所述参数Trend中的Num部分取值Time或Second;取值Time时,Motion取值Move,表示单点按下一小段时间后再沿着Direction方向移动;取值Second时,表示一点按下后不动,第二点接着按下并沿着Direction方向做Motion类型的运动。
4.根据权利要求1所述的一种面向多设备的手势交互方法,其特征在于:所述参数Trace取值为圆形、正方形、“V”形、“Z”形、“?”形、“×”形、左半圆、右半圆、上半圆或下半圆。
5.根据权利要求1所述的一种面向多设备的手势交互方法,其特征在于:所述步骤4.4.1为比较接收到的几组TranResultk的ParaNum值,若ParaNum值最大的TranResultk只有一个,则将ParaNum值最大的TranResultk的k值写入act;若ParaNum值最大的TranResultk多于一个,比较ParaNum值最大的几个TranResultk的TransTime值,将TransTime值最小的TranResultk的k值写入act。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852337.5A CN104615366B (zh) | 2014-12-31 | 2014-12-31 | 一种面向多设备的手势交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852337.5A CN104615366B (zh) | 2014-12-31 | 2014-12-31 | 一种面向多设备的手势交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104615366A CN104615366A (zh) | 2015-05-13 |
CN104615366B true CN104615366B (zh) | 2017-07-14 |
Family
ID=53149837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410852337.5A Expired - Fee Related CN104615366B (zh) | 2014-12-31 | 2014-12-31 | 一种面向多设备的手势交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615366B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138949A (zh) * | 2015-07-07 | 2015-12-09 | 济南大学 | 基于多手势与语义之间柔性映射的手势操控方法 |
CN105045390A (zh) * | 2015-07-08 | 2015-11-11 | 安徽瑞宏信息科技有限公司 | 一种人体上肢骨骼手势识别方法 |
CN106527677A (zh) * | 2016-01-27 | 2017-03-22 | 深圳市原点创新设计有限公司 | 一种vr/ar系统与用户交互的方法及装置 |
WO2019072821A1 (en) * | 2017-10-10 | 2019-04-18 | Sanofi | TRIGGER ARRANGEMENT FOR AN INFUSION DEVICE |
CN110045819B (zh) * | 2019-03-01 | 2021-07-09 | 华为技术有限公司 | 一种手势处理方法及设备 |
CN111273769B (zh) * | 2020-01-15 | 2022-06-17 | Oppo广东移动通信有限公司 | 一种设备控制方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410781A (zh) * | 2006-01-30 | 2009-04-15 | 苹果公司 | 利用多点感测设备进行的手势操作 |
CN102622225A (zh) * | 2012-02-24 | 2012-08-01 | 合肥工业大学 | 一种支持用户自定义手势的多点触控应用程序开发方法 |
CN102663842A (zh) * | 2012-04-09 | 2012-09-12 | 李凯 | 移动设备控制多外部设备的方法 |
CN102915202A (zh) * | 2012-09-25 | 2013-02-06 | 广东欧珀移动通信有限公司 | 一种触摸设备的触控方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881051B2 (en) * | 2011-07-05 | 2014-11-04 | Primesense Ltd | Zoom-based gesture user interface |
-
2014
- 2014-12-31 CN CN201410852337.5A patent/CN104615366B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410781A (zh) * | 2006-01-30 | 2009-04-15 | 苹果公司 | 利用多点感测设备进行的手势操作 |
CN102622225A (zh) * | 2012-02-24 | 2012-08-01 | 合肥工业大学 | 一种支持用户自定义手势的多点触控应用程序开发方法 |
CN102663842A (zh) * | 2012-04-09 | 2012-09-12 | 李凯 | 移动设备控制多外部设备的方法 |
CN102915202A (zh) * | 2012-09-25 | 2013-02-06 | 广东欧珀移动通信有限公司 | 一种触摸设备的触控方法及系统 |
Non-Patent Citations (3)
Title |
---|
一种独立于应用程序的多点触摸交互中间件;燕厚仪等;《计算机应用研究》;20110930;第28卷(第9期);第3360-3363页 * |
基于多点触摸的交互手势分析与设计;张国华等;《计算机应用研究》;20100531;第27卷(第5期);第1737-1739页 * |
基于多点触摸的自然手势识别方法研究;凌云翔等;《国防科技大学学报》;20101231;第32卷(第1期);第127-132页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104615366A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104615366B (zh) | 一种面向多设备的手势交互方法 | |
CN103324348B (zh) | 一种基于智能移动终端的Windows桌面控制方法 | |
CN104571823B (zh) | 一种基于智能电视的非接触式虚拟人机交互方法 | |
US20110074719A1 (en) | Gesture detecting method for touch panel | |
CN103559732B (zh) | 一种生成毛笔笔迹的方法 | |
CN111352570B (zh) | 书写交互方法、智能交互显示设备以及书写交互系统 | |
CN109671133A (zh) | 轨迹的生成方法、装置、电子设备及存储介质 | |
CN103942053A (zh) | 一种基于移动终端的三维模型手势触控浏览交互方法 | |
CN109732593B (zh) | 一种机器人的远端控制方法、装置及终端设备 | |
CN108628455B (zh) | 一种基于触摸屏手势识别的虚拟沙画绘制方法 | |
CN103885598A (zh) | 自然交互界面下的书法数字化系统及利用该系统实现书法实时书写的方法 | |
CN106527940A (zh) | 书写笔迹确定方法及装置 | |
CN106600664B (zh) | 对称图形的绘制方法和装置 | |
CN103150059B (zh) | 电子系统与轨迹检测方法 | |
CN104793738A (zh) | 基于Leap Motion的非接触式计算机操控方法 | |
CN104090953A (zh) | 一种led灯在虚拟显示终端的地图显示方法及装置 | |
CN109062491A (zh) | 交互智能设备的笔迹处理方法和装置 | |
CN101763216B (zh) | 一种用于linux操作系统的手写输入方法 | |
KR20040043454A (ko) | 펜 컴퓨팅 시스템에서의 펜 입력 방법 및 장치 | |
CN111580903A (zh) | 实时投票方法、装置、终端设备和存储介质 | |
CN104423717A (zh) | 手势输入方法及数字白板 | |
CN102117150A (zh) | 字符后处理方法及系统 | |
CN112181268B (zh) | 一种基于智能笔的答题方法、装置、终端和系统 | |
Mhetar et al. | Virtual mouse | |
Juchmes et al. | A Multi-Agent System for the Interpretation of Architectural Sketches. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170714 Termination date: 20171231 |
|
CF01 | Termination of patent right due to non-payment of annual fee |