一种基于多点触摸的图像操作交互系统及方法

文档序号:6581781阅读:99来源:国知局
专利名称:一种基于多点触摸的图像操作交互系统及方法
技术领域
本发明涉及触摸屏应用技术领域,特别涉及一种基于多点触摸的图像操作交互系
统及方法。
背景技术
目前,多点触摸技术正迅速应用于人们的日常生活中,如苹果公司的多点触摸PC 以及windows 7操作系统对多点触摸的支持。由于多点触摸技术具有很好的互动性及直观 性,而且还具有操作便捷等优点,且尤其适用于图形演示系统,使得人们对多点触摸技术的 需求日趋迫切。 但是当前的多点触摸技术仅适用于Mac系统及Windows 7操作系统,该项技术封 装集成在特定版本的操作系统内核中,是操作系统的一部分,无法进行单独的安装和卸载, 需要通过操作系统提供的已有的系统函数对多点触摸功能进行调用,比如一台windows XP 系统就无法使用多点触摸技术,由于windows,mac系统的内核机制与Li皿x不同,目前已有 的多点触摸交互技术完全无法适用于当前应用广泛的Li皿x操作系统,而Li皿x系统下的 X Window系统如今日趋成熟,图形界面不断完善,演示功能的不断加强,加上Li皿x的开放 性和低成本的优势,人们迫切需要一种能够适用于多种操作系统的实现多点触摸交互的方 法。

发明内容
根据上述现有技术中存在的问题,本发明的目的在于提供一种能够适用于多种操 作系统中的基于多点触摸的图像操作交互系统及方法。
为达到上述目的,本发明采用以下技术方案
—种基于多点触摸的图像操作交互系统,其包括 触摸屏设备,用于显示图像,并接收用户的多个触摸点的触摸指令,获取各触摸点 的物理坐标并生成对应的代码,每隔第一时间周期发送其生成的代码; 内核驱动模块,用于根据所述触摸屏设备发送代码的时间周期采集所述触摸屏设 备生成的代码并进行运算分析,根据运算分析的结果产生对应的消息码,发送所述消息码 至图像处理模块; 图像处理模块,用于根据接收到的消息码,对所述触摸屏设备当前显示的图像进 行对应的图像处理操作。 进一步地,所述内核驱动模块包括 数据读取单元,用于每隔第一时间周期采集所述触摸屏设备生成的代码并发送给 坐标分析及消息产生单元; 坐标分析及消息产生单元,用于每隔第二时间周期运算分析所述数据读取单元采 集到的代码,根据所述坐标分析单元运算分析的结果,产生对应的消息码;
消息发送单元,用于发送所述消息码。
该系统还包括通信接口,其用于将所述内核驱动模块中的消息发送单元发送的消 息码传送给所述图像处理模块。 所述图像处理模块具体包括消息接收单元,用于接收所述通信接口传送过来的 消息码;存储单元,用于存储不同消息码对应的消息,所述消息与图像处理单元一一对应; 消息分析单元,用于对所述接收到的消息码进行分析,从所述存储单元中查找到对应的消 息,并调用该消息所对应的图像处理单元;图像处理单元,用于对触摸屏设备当前显示的图 像进行相应的处理。 本发明还提供了一种基于多点触摸的图像操作交互方法,其包括以下步骤
A、触摸屏设备显示图像,并接收用户的多个触摸点的触摸指令,获取各触摸点的 物理坐标并生成对应的代码,每隔第一时间周期发送其生成的代码;
B、每隔第一时间周期采集一次触摸屏设备生成的代码; C、分析所述触摸屏设备生成的代码,根据分析运算的结果产生不同的消息码;
D、根据接收到的消息码,对所述触摸屏设备当前显示的图像进行对应的图像处理 操作。 根据上述本发明的一种基于多点触摸的图像操作交互系统及方法,由于采用了内 核驱动模块进行触摸点物理坐标数据采集,并根据采集的数据进行分析运算产生相应的消 息,再根据消息调用对应的图像处理模块来实现多点触摸的图像操作,不需要依赖操作系 统中的其他函数或处理模块;使得本发明能够适用于多种操作系统中。


图1是本发明的一种基于多点触摸的图像操作交互系统的系统结构示意图;
图2是本发明触摸屏的坐标分布示意图; 图3是本发明的一种基于多点触摸的图像操作交互系统在一种实施方式中的结 构示意图; 图4是图3中存储单元的具体示意图; 图5是本发明的一种基于多点触摸的图像操作交互方法的流程图。
具体实施例方式
图1是本发明的一种基于多点触摸的图像操作交互系统的系统结构示意图,该系 统涉及一种Li皿xOS下X Window系统基于红外定位触摸屏利用多点触摸进行人机交互 的方法,适用于X Window系统下利用多点触摸进行图形演示。可以应用于当前安装了X Window系统的多种Linux版本。 本发明的一种基于多点触摸的图像操作交互系统,其包括 触摸屏设备l,用于显示图像,并接收用户的多个触摸点的触摸指令,获取各触摸 点的物理坐标并生成对应的代码;一般来说,用户习惯用两根手指来进行两点触摸操作, 比如两个触摸点分开、两个触摸点合拢、触摸点快速水平滑动、一点固定另一点绕其旋转等 等;触摸屏可以选用红外触摸屏;触摸屏设备根据各触摸点的物理坐标生成的代码为一串 16进制码,每隔特定的时间周期将该16进制码发送给内核驱动模块3,大约可以是16毫秒 发送一次;当同时只有两个触摸点时,16进制码中就包含第一触摸点和第二触摸点在触摸屏上的坐标即两点的物理坐标;参考图2,触摸屏的水平方向是横坐标X,垂直方向是纵坐 标Y,触摸屏的左上顶点的坐标即为(0,0); 内核驱动模块3,用于每隔特定的时间周期采集一次上述触摸屏设备生成的16进 制码,该采集的时间周期与上述触摸屏设备1发送16进制码的周期同步,同时,每隔一段时 间,大约O. 5秒一次,对采集到的16进制码进行运算分析,根据运算分析的结果产生对应的
消息码,例如1、2、3......;消息码代表对应的消息,不同的消息又对应不同的图像操作类
型; 通信接口 4,用于将所述内核驱动模块3产生的消息码发送给应用层的图像处理 模块5 ;该通信接口可以利用li皿x提供的netlink通信机制,netlink是li皿x下内核驱 动模块与应用层通信的一种方法,利用netlink通信机制可以直接向应用程序发送特定数 值来进行控制操作;netlink socket是一种通用的简单的内核空间与用户空间进行通信的 方法,还有内核启动参数,模块参数和sysfs (procfs) , sysctl, ioctl均可实现内核空间与 用户空间的通信接口,但其他的方法使用起来不如netlink简单方便,通用性也不好,还有 一些制约条件,所以本发明选择netlink来实现通信交互的功能。 图像处理模块5,用于根据接收到的消息码,对所述触摸屏当前显示的图像进行对 应的图像处理操作,该模块可以通过特定的图像处理程序来实现,属于应用层,是配合内核 驱动模块的一个特定应用程序,它是一个可执行文件。 本发明在li皿x系统下编写了特定的驱动,即本发明的内核驱动模块3,用此模块 接收触摸屏数据和进行处理,对于现有的li皿x系统,只需安装该内核驱动模块即可。通过 使用本发明,将多点触摸技术首次应用到Li皿xOS下X Window系统中,无需Linux系统内 核对多点触摸提供函数支持,满足了人们对X Window系统多点触摸交互的需要,可方便的 应用于Li皿xOS下X Window系统中进行多点触摸图像演示。同时,通过使用本发明,使得 多点触摸技术不再局限于windows, mac等操作系统,扩展了该项技术的使用平台。并且由 于无需安装配套功能组件,只需安装内核驱动(内核驱动模块)即可,加之Li皿x系统相对 其他系统更具有开放性,低成本性,此项发明可大大降低此项技术的使用成本。仅需一条命 令加载即可安装,因此安装方便,简单。另外,由于本发明中的内核驱动模块不属于操作系 统内核,因此不需要用的时候可以进行卸载,多点功能即失效,便于用户操作。
以下列举一个上述内核处理模块3的具体实现方式,参考图3,图1中的内核驱动 模块3具体可以包括以下单元 数据读取单元34,该单元每隔一段时间采集一次触摸屏设备上由触摸点的物理坐 标生成的16进制码,比如每隔0. 5秒采集一次两个触摸点的物理坐标生成对应的16进制 码; 坐标分析单元31,用于运算分析所述数据读取单元34采集的16进制码; 消息产生单元32,用于根据所述坐标分析单元31运算分析的结果,产生对应的消
息码; 消息发送单元33,用于将所述消息产生单元32产生的消息码发送给所述通信接 □。 举例说明,如果数据读取单元采集到的16进制码中包括两个触摸点的物理坐标, 则坐标分析单元计算第一组两个触摸点之间的第一物理距离,隔0. 5秒以后再计算当前采集到的两个触摸点之间的第二物理距离,判断第二物理距离减去第一物理距离的差是大于 零还是小于零,若小于零则消息产生单元产生第一消息码l,若大于零则产生第二消息码 2 ; 判断第二触摸点的水平坐标是否比第一触摸点的水平坐标大,如果是若第一触 摸点的物理坐标不变,第二触摸点的纵坐标在第一时间周期(比如0. 5秒)前后增大的值 大于某一特定值(该特定值可以预先设定,比如2或3cm),则发送第三消息码3 ;若第二触 摸点的纵坐标在第一时间周期(比如0.5秒)前后减小的值大于某一特定值,则发送第四 消息码4; 如果数据读取单元采集到的代码中只包括一个触摸点的物理坐标,坐标分析单元 判断0. 5秒前后采集到的触摸点的物理坐标的水平坐标值是增大还是减小,若水平坐标值 增大的值大于某一设定值(该设定值可以预先设定,比如1cm或2cm或3cm)则发送第五消 息码5,若水平坐标值减小的值大于某一设定值(比如1cm或2cm或3cm)则发送第六消息 码6 ; 同样,为了方便用户更加清晰的理解本发明,以下是图像处理模块5的一个具体 实施例,该图像处理模块5具体包括以下单元 消息接收单元51,用于接收所述通信接口传送过来的消息码;
存储单元52,用于存储不同消息码对应的消息及对应的图像处理单元54 ;参考图 4,图中显示了不同消息所对应的图像处理功能,例如,消息X1两触摸点分开,对应的图像 处理功能为放大图像531 ;消息X2两触摸点合拢,对应的图像处理功能为縮小图像532 ;消 息X3触摸点迅速向右滑动,对应的图像处理功能为显示下一张图片533 ;消息X4触摸点迅 速向左滑动,对应的图像处理功能为显示上一张图片534 ;消息X5先固定一触摸点另一点 绕其顺时针旋转,对应的图像处理功能为顺时针旋转图片535,消息X6先固定一触摸点另 一点绕其逆时针旋转,对应的图像处理功能为逆时针旋转图片536 ; 消息分析单元53,用于对所述接收到的消息码进行分析,从所述存储单元中查找 到对应的消息,并调用该消息所对应的图像处理单元;例如,若收到第一消息码则对所述触 摸屏设备当前显示的图像进行图像縮小处理;若收到第二消息码则对所述触摸屏设备当前 显示的图像进行图像放大处理;若收到第三消息码则对所述触摸屏设备当前显示的图像进 行顺时针旋转;若收到第四消息码则对所述触摸屏设备当前显示的图像进行逆时针旋转; 若收到第五消息码则让所述触摸屏设备显示下一张图片;若收到第六消息码则让所述触摸 屏设备显示上一张图片。 图像处理单元54,用于对触摸屏当前显示的图像进行相应的处理。包括图像放大 縮小处理、旋转处理等。 参考图5,本发明提供的一种基于多点触摸的图像操作交互方法,该方法可以皆由 上述的基于多点触摸的图像操作交互系统实现,可以通过其他具有类似功能的图像操作交 互系统来实现,通过该方法可以实现通过多点触摸手势对图片显示进行操作,完成图片的 放大,縮小,切换到前(后) 一张图片,顺时针旋转,逆时针旋转等操作。该方法包括以下步 骤 S101、触摸屏设备显示图像,并接收用户的多个触摸点的触摸指令,获取各触摸点 的物理坐标并生成对应的代码;每隔一段特定的时间周期发送一次上述代码;大约可以是16毫秒发送一次; S102、每隔一段特定的时间周期(与触摸屏设备发送代码的时间周期同步)采集 一次触摸屏上由各个触摸点的物理坐标生成的代码; S103、分析代码中各个触摸点的物理坐标,根据物理坐标的变化产生不同的消息 码; S104、根据接收到的消息码,对所述触摸屏当前显示的图像进行对应的图像处理 操作。 具体地,在内核驱动模块中加入坐标分析及产生消息的功能,将采集到的物理坐 标进行分析,根据两个触摸点物理坐标值的变化产生不同的消息,通过通信接口与图像处 理模块进行交互通信,将分析产生出的消息发送至图像处理模块中的图形显示应用程序, 由图形显示应用程序完成对消息的接收和处理。 当两点同时触摸操作时,内核驱动模块对接收到的红外触摸屏设备发送上来的16 进制码进行分析,分析出两触摸点的物理坐标(红外触摸屏中的坐标),第一点物理坐标为 先触摸红外触摸屏设备的那点产生的物理坐标,第二点物理点坐标为后触摸红外触摸屏设 备的那点产生的物理坐标(两点的物理坐标包含在16进制数据码的不同位中,第一触摸点 和第二触摸点可根据16进制数据码进行判断区分)。 对第一触摸点和第二触摸点的物理坐标进行逻辑判断,通过两点物理坐标计算两 点之间的距离,并记录该距离数值,每0. 5秒记录一次距离数值,并与上一次记录的距离数 值进行比较,当距离数值大于前0. 5秒记录的数值则向图形显示应用程序(图像处理单元) 发送对图片进行放大操作的自定义指令码,图形显示应用程序收到该码后,对当前显示图 片放大一定比例,若两触摸点距离持续加大,图片将持续放大。相反,若两触摸点距离縮小, 则对图片进行縮小操作。 当第一个触摸点(此操作只需单点即可)快速向右滑动,根据物理坐标判断是否 在一时间内滑动的距离大于一个设定值(比如lcm或2cm或3cm),若是则发送显示下一张 图的指令码,图形显示应用程序收到后切换显示下一张图,同理向左快速滑动切换显示上 一张图。 若第一触摸点固定不动,第二触摸点在第一点右侧快速下滑,发送给图形显示应 用程序顺时针旋转指令;若第一触摸点固定不动,第二触摸点在第一点右侧快速上滑,此 时则发送给图形显示应用程序逆时针旋转指令,图形显示应用程序收到后进行相应图形操 作,发送的指令码均由内核驱动模块定义,并对两点物理坐标比较判断后决定发送何种指 令操作。 图形显示应用程序可以通过Li皿x下gtk组件自行开发,具备显示图片、放大縮小 图片、切换显示前一张(后一张)图片、顺时针(逆时针)旋转图片的功能,在图形显示应 用程序中通过Li皿x提供的netlink技术创建配合内核驱动的通信接口,使两者可以相互 通信,图形显示应用程序不断监听内核驱动通过两者的通信接口发送过来的自定义的消息 码。 本发明与现有技术相比,具有如下优点和有益效果 1、将多点触摸技术首次应用到Li皿xOS下X Window系统中,无需Li皿x系统内核 对多点触摸提供函数支持,满足了人们对X Window系统多点触摸交互的需要,可方便的应用于Li皿xOS下X Window系统中进行多点触摸图像演示。 2、使得多点触摸技术不在局限于windows、 mac等操作系统,扩展了该项技术的使 用平台。 3、使用成本低,无需安装配套功能组件,只需安装内核驱动(内核驱动模块)即 可,加之Linux系统相对其他系统更具有开放性和低成本性,此项发明可大大降低使用成 本。安装方便简单,仅需一条命令加载即可。 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范 围之内。
权利要求
一种基于多点触摸的图像操作交互系统,其特征在于该系统包括触摸屏设备,用于显示图像,并接收用户的多个触摸点的触摸指令,获取各触摸点的物理坐标并生成对应的代码,每隔第一时间周期发送其生成的代码;内核驱动模块,用于根据所述触摸屏设备发送代码的时间周期采集所述触摸屏设备生成的代码并进行运算分析,根据运算分析的结果产生对应的消息码,发送所述消息码至图像处理模块;图像处理模块,用于根据接收到的消息码,对所述触摸屏设备当前显示的图像进行对应的图像处理操作。
2. 根据权利要求1所述的基于多点触摸的图像操作交互系统,其特征在于,所述内核 驱动模块包括数据读取单元,用于每隔第一时间周期采集所述触摸屏设备生成的代码并发送给坐标 分析及消息产生单元;坐标分析及消息产生单元,用于每隔第二时间周期运算分析所述数据读取单元采集到 的代码,根据所述坐标分析单元运算分析的结果,产生对应的消息码;消息发送单元,用于发送所述消息码。
3. 根据权利要求2所述的基于多点触摸的图像操作交互系统,其特征在于,还包括通 信接口,其用于将所述内核驱动模块中的消息发送单元发送的消息码传送给所述图像处理 模块。
4. 根据权利要求3所述的基于多点触摸的图像操作交互系统,其特征在于,所述通信 接口通过netlink socket机制将所述消息码传送至所述图像处理模块。
5. 根据权利要求4所述的基于多点触摸的图像操作交互系统,其特征在于,所述图像 处理模块具体包括消息接收单元,用于接收所述通信接口传送过来的消息码;存储单元,用于存储不同消息码对应的消息,所述消息与图像处理单元一一对应; 消息分析单元,用于对所述接收到的消息码进行分析,从所述存储单元中查找到对应 的消息,并调用该消息所对应的图像处理单元;图像处理单元,用于对触摸屏设备当前显示的图像进行相应的处理。
6. —种基于多点触摸的图像操作交互方法,其特征至于包括A、 触摸屏设备显示图像,并接收用户的多个触摸点的触摸指令,获取各触摸点的物理 坐标并生成对应的代码;每隔第一时间周期发送其生成的代码;B、 每隔第一时间周期采集一次触摸屏设备生成的代码;C、 分析所述触摸屏设备生成的代码,根据分析运算的结果产生不同的消息码;D、 根据接收到的消息码,对所述触摸屏设备当前显示的图像进行对应的图像处理操作。
7. 根据权利要求6所述的基于多点触摸的图像操作交互方法,其特征在于,所述步骤 A之后步骤B之前还包括以下步骤所述触摸屏设备每隔特定的时间周期发送其生成的代码。
8. 根据权利要求7所述的基于多点触摸的图像操作交互方法,其特征在于,所述步骤C 具体包括如果采集到的代码中包括两个触摸点的物理坐标,则计算第一组两个触摸点之间的第 一物理距离,隔第二时间周期以后再计算当前采集到的两个触摸点之间的第二物理距离, 判断第二物理距离减去第一物理距离的差是大于零还是小于零,若小于零则发送第一消息 码,若大于零则发送第二消息码;如果采集到的代码中包括两个触摸点的物理坐标,判断第二触摸点的水平坐标是否比 第一触摸点的水平坐标大,如果是若第一触摸点的物理坐标不变,且第二触摸点的纵坐标 在第二时间周期前后增大的值大于某一特定值,则发送第三消息码;若第一触摸点的物理 坐标不变,第二触摸点的纵坐标在第二时间周期前后减小的值大于某一特定值,则发送第 四消息码;如果采集到的代码中只包括一个触摸点的物理坐标,判断第二时间周期前后采集到的 触摸点的物理坐标的水平坐标值是增大还是减小,若水平坐标值增大的值大于某一设定值 则发送第五消息码,若水平坐标值减小的值大于某一设定值则发送第六消息码;所述步骤D具体为,若收到第一消息码则对所述触摸屏设备当前显示的图像进行图像 縮小处理;若收到第二消息码则对所述触摸屏设备当前显示的图像进行图像放大处理;若 收到第三消息码则对所述触摸屏设备当前显示的图像进行顺时针旋转;若收到第四消息码 则对所述触摸屏设备当前显示的图像进行逆时针旋转;若收到第五消息码则让所述触摸屏 设备显示下一张图片;若收到第六消息码则让所述触摸屏设备显示上一张图片。
全文摘要
本发明提供了一种基于多点触摸的图像操作交互系统,该系统包括触摸屏设备,用于显示图像,并接收用户的多个触摸点的触摸指令,获取各触摸点的物理坐标并生成对应的代码;每隔第一时间周期发送其生成的代码;内核驱动模块,用于根据触摸屏设备发送代码的时间周期采集触摸屏设备生成的代码并进行运算分析,根据运算分析的结果产生对应的消息码,发送消息码至图像处理模块;图像处理模块,用于根据接收到的消息码,对触摸屏设备当前显示的图像进行对应的图像处理操作。本发明还提供了一种基于多点触摸的图像操作交互方法。本发明能够适用于多种操作系统中,尤其适用于LinuxOS下XWindow系统。
文档编号G06F3/048GK101719046SQ20091019431
公开日2010年6月2日 申请日期2009年11月30日 优先权日2009年11月30日
发明者周晓旭 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1