用于红外触摸屏的扫描数据解析方法及装置
技术领域
本发明涉及红外触摸屏扫描数据处理技术领域,特别涉及一种用于红外触摸屏的扫描数据解析方法及装置。
背景技术
长期以来,触摸屏市场处于五彩纷呈的局面,采用不同技术的触摸屏适应了不同的应用环境,从应用的层面看,触摸屏不应该仅仅作为一个将触摸位置转换为坐标信息的简单设备,而应该作为一个完整的人机界面***进行设计。红外触摸技术是众多触摸技术中的一种,有自身的优势与不足,业内人士对红外触摸技术的优势极为钟情,并对其不足之处做出了不懈的努力进行改进,使得红外触摸屏的应用范围越来越广,其优势也更加突出,受到越来越多用户的喜爱。
红外触摸屏是利用X,Y方向上密布的红外线矩阵来检测并定位用户的触摸。红外触摸屏在显示器的前面安装一个电路板外框,电路板在屏幕四边排布红外发射元件和红外接收元件,一一对应成横竖交叉的红外矩阵。用户在触摸屏幕时,手指就会挡住经过该位置的横竖两条红外线,因而可以判断出触摸点在屏幕的位置。随着触摸技术的发展,用户多触摸点数的需求也逐渐增多,多点触摸逐渐成为市场的主流,因为多点触摸不仅可以显示出更炫丽的显示效果,而且可以实现更多的触摸功能。红外触摸屏同样也经历了从识别一点到识别两点,再到识别更多点的发展历程。
红外触摸屏的电路部分主要包括两个模块:数据采集模块和数据处理模块,数据采集模块主要用于采集红外触摸屏扫描数据,采集到的扫描数据被传输到数据处理模块,数据处理模块用于对采集到的扫描数据进行处理,进而识别触摸操作,数据处理模块首先解析扫描数据,也就是解析出扫描数据与扫描光路的映射关系及扫描光路的遮挡情况,即一个扫描数据应该与哪条扫描光路相对应,根据相应的扫描数据获得扫描光路的遮挡情况,然后根据扫描光路的遮挡情况识别触摸位置,一般情况下,在设计红外触摸屏的扫描光路时,设计的扫描光路都具有一定的规律性,所谓“扫描光路”是指对红外触摸屏进行扫描时,设定好的扫描的红外发射元件和红外接收元件的对应关系,也即扫描一个红外发射元件时,相对应地扫描哪个或哪些红外接收元件,数据处理模块根据扫描光路的这种规律将扫描数据解析成扫描线,通常情况下,具体的解析方法通过按照扫描光路的分布规律编写的程序来实现,这种扫描数据解析方法对于比较简单的扫描光路比较有效,如在单点触摸中的一对一(一个红外发射元件对应一个红外接收元件)的扫描光路,和一对多(一个红外发射元件对应多个红外接收元件)的规律性较强的光路,但是,随着用户需求的触摸点数的逐渐增多,为了实现精确的多点触摸,设计的扫描光路也逐渐复杂,扫描光路的规律性也不强,使用现有的这种解析方法很难有效解析出扫描光线,也即很难方便有效地将扫描数据与扫描光路对应起来,而且,一旦改变扫描的光路,进行解析扫描数据的程序代码需要重新编写,维护起来很不方便。
发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种能够适用于各种复杂的扫描光路的红外触摸屏扫描数据解析方法及装置。
为解决上述技术问题,本发明采用的技术方案如下:
一种用于红外触摸屏的扫描数据解析方法,所述方法包括:
建立映射表的步骤:根据预定的扫描光路及扫描顺序建立包含每条扫描光路的属性的映射表,所述扫描光路的属性包括每条扫描光路的编号、以及与该扫描光路相对应的红外发射元件和红外接收元件;
根据所述预定的扫描光路及扫描顺序对所述红外触摸屏进行扫描并获取扫描数据信息的步骤,所述扫描数据信息包括每一个扫描数据的位置序号和每一个扫描数据的值,所述扫描数据的位置序号与所述映射表中扫描光路的编号一一对应;
根据所述扫描数据的位置序号与所述映射表中所述扫描光路的编号的对应关系将所述扫描数据解析成所述扫描光路的遮挡情况的步骤。
如上所述的扫描数据解析方法,所述将所述扫描数据解析成所述扫描光路的遮挡情况具体为:
针对每一个扫描数据,在所述映射表中查找与该扫描数据的位置序号相对应的扫描光路的编号,与该编号相对应的红外发射元件和红外接收元件之间的光路即为与该扫描数据所对应的扫描光路,根据该扫描数据的值获取与该扫描数据相对应的扫描光路的遮挡情况。
如上所述的扫描数据解析方法,所述建立映射表的步骤中包含将所述映射表做成配置文件或配置表的步骤。
如上所述的扫描数据解析方法,所述扫描光路的编号为按照扫描光路的顺序从小到大或者从大到小排序的位置编号。
如上所述的扫描数据解析方法,根据预定的扫描光路及扫描顺序自动生成所述映射表。
如上所述的扫描数据解析方法,在根据所述预定的扫描光路及扫描顺序对所述红外触摸屏进行扫描并获取扫描数据信息的步骤之后还包括将所述扫描数据的值进行数字化的步骤,使每个扫描数据的值都用0或1表示,其中0表示与该扫描数据相对应的扫描光路被遮挡,1表示与该扫描数据相对应的扫描光路未被遮挡。
如上所述的扫描数据解析方法,在根据所述预定的扫描光路及扫描顺序对所述红外触摸屏进行扫描并获取扫描数据信息的步骤之后还包括将扫描数据的值模拟化的步骤,使每一个扫描数据的值都用模拟量表示,所述模拟量的值的大小表示与该扫描数据的值相对应的所述扫描光路被遮挡的程度。
如上所述的扫描数据解析方法,所述扫描数据的值以bit位的形式存储。
如上所述的扫描数据解析方法,所述扫描光路的属性还包括扫描光路是否可用的信息。
本发明还提供一种用于红外触摸屏的扫描数据解析装置,所述装置包括:
用于建立映射表的映射表建立模块,所述映射表建立模块具体用于:根据预定的扫描光路及扫描顺序建立包含每条扫描光路的属性的映射表,所述扫描光路的属性包括每条扫描光路的编号、以及与该扫描光路相对应的红外发射元件和红外接收元件;
用于获取扫描数据信息的扫描数据获取模块,所述扫描数据获取模块具体用于:根据所述预定的扫描光路及扫描顺序对所述红外触摸屏进行扫描并获取扫描数据信息,所述扫描数据信息包括每一个扫描数据的位置序号和每一个扫描数据的值,所述扫描数据的位置序号与所述映射表中扫描光路的编号一一对应;
用于根据所述扫描数据的位置序号与所述映射表中所述扫描光路的编号的对应关系将所述扫描数据解析成所述扫描光路的遮挡情况的解析模块。
如上所述的扫描数据解析装置,所述解析模块具体用于:针对每一个扫描数据,到所述映射表中查找与该扫描数据的位置序号相对应的扫描光路的编号,与该编号相对应的红外发射元件和红外接收元件之间的光路即为与该扫描数据所对应的扫描光路,根据该扫描数据的值获取与该扫描数据相对应的扫描光路的遮挡情况。
如上所述的扫描数据解析装置,所述映射表建立模块还用于将所述映射表制作做成配置文件或配置表。
本发明提供的用于红外触摸屏的数据解析方法和装置,根据预定的扫描光路与扫描顺序建立包含扫描光路编号以及与扫描光路相对应的红外发射元件和红外接收元件等信息的映射表,根据扫描数据的位置序号与映射表中扫描光路的编号的对应关系,以及扫描数据的值的大小将扫描数据解析成相应的扫描光路的遮挡信息,本发明的解析方法中,使用扫描数据的位置序号来查找映射表中的扫描光路的编号,得到相应的扫描光路,再根据扫描数据的值来确定扫描光路的状态,这种解析方法可以将解析数据的程序代码固定下来,当扫描光路发生变化时,只需要更新相应的映射表,维护比较方便,该数据解析方法能够适用于非常复杂的扫描光路,甚至是毫无规律可言的扫描光路。
附图说明
图1为本发明具体实施方式中用于红外触摸屏的扫描数据解析装置的示意图;
图2为本发明具体实施方式中扫描数据解析方法的流程图;
图3为本发明具体实施方式中的预先设计的一种扫描光路示意图;
图4为根据图3中的扫描光路进行扫描的扫描结果示意图。
具体实施方式
下面将结合具体实施方式及附图,对本发明的技术方案进行清楚、完整地描述。
本说明书中的扫描数据解析方法及装置应用于红外触摸屏中,对红外触摸屏的外观结构没有限制,对红外触摸屏上的红外发射元件和红外接收元件的个数也没有限制。由于红外触摸屏的硬件结构、扫描方法、扫描数据的传输方法以及扫描数据解析后的触摸识别及触摸跟踪方法都为现有技术,可以采用现有技术中的任一种方法,为了简便起见,本说明书不再赘述。
如图1所示,为本发明具体实施方式中用于红外触摸屏的扫描数据解析装置的示意图,本发明的扫描数据解析装置包括映射表建立模块101、扫描数据获取模块102和解析模块103,其中映射表建立模块101根据预定的扫描光路及扫描顺序建立包含每条扫描光路的属性的映射表,其中扫描光路的属性包括每条扫描光路的编号、与该扫描光路相对应的红外发射元件和红外接收元件;扫描数据获取模块102用于根据预定的扫描光路及扫描顺序对红外触摸屏进行扫描并获取扫描数据信息,其中扫描数据信息包括每一个扫描数据的位置序号和每一个扫描数据的值,由于扫描数据的获取与建立映射表都是根据预定好的扫描光路及扫描顺序进行的,因此扫描数据的位置序号与映射表中扫描光路的编号一一对应,本领域技术人员可以理解“扫描数据的位置序号”是指某个扫描数据在一组扫描数据中的相对位置或者在所有扫描数据中的相对位置,“扫描数据的值”体现了与该扫描数据相对应的扫描光路的遮挡情况;解析模块103用于根据所述扫描数据的位置序号与所述映射表中扫描光路的编号的对应关系将扫描数据解析成扫描光路的遮挡情况。
如图2所示,为本发明具体实施方式中扫描数据解析方法的流程图,具体包括以下步骤:
步骤201、映射表建立模块101建立映射表,具体为:
映射表建立模块101根据预定的扫描光路及扫描数据建立包含每条扫描光路的属性的映射表,其中扫描光路的属性包括每条扫描光路的编号、以及与该扫描光路所对应红外发射元件和红外接收元件,一般情况下,在对红外触摸屏进行扫描之前扫描光路及扫描顺序都是已经设计好了的,映射表建立模块根据设计好的扫描光路建立映射表,该映射表中至少包含扫描光路的编号、以及与该扫描光路相对应的红外发射元件和红外接收元件,其中扫描光路的编号可以为按照扫描光路的顺序从大到小或从小到大排序的位置编号,也即根据扫描的顺序对扫描光路的位置进行排序并编号,根据扫描光路建立的映射表可以用如下形式表示:
位置编号 |
红外发射元件编号 |
红外接收元件编号 |
N |
En |
Dm |
上面映射表中的信息表示第N条扫描光路对应的红外发射元件和红外接收元件分别为En和Em,这样每一条扫描光路的属性都可以通过上述形式的映射表体现出来,当扫描光路发生变化时,只需要更新映射表,其他用于解析扫描数据的程序不需要重新编写,这样一来,用于解析扫描数据的程序代码可以固定下来,维护起来比较方便。
步骤202、扫描数据获取模块102根据所述预定的扫描光路及扫描顺序对所述红外触摸屏进行扫描并获取扫描数据信息,其中扫描数据信息包括每一个扫描数据的位置序号和每一个扫描数据的值,实际上,扫描数据的位置序号可以通过获取扫描数据的顺序得到,不需要专门为扫描数据编号,因此扫描数据的位置序号可以不占用额外的存储空间,当然,专门为扫描数据的位置序号分配存储空间也可以实现本发明的目的。由于扫描数据的获取与建立映射表都是根据预定好的扫描光路及扫描顺序进行的,因此扫描数据的位置序号与映射表中扫描光路的编号一一对应,从而也就确定了扫描数据与扫描光路之间的映射关系,如对于位置序号为n的第n个扫描数据与映射表中编号为N的扫描光路相对应,也即与第n个扫描数据相对应的扫描光路为红外发射元件En和红外接收元件Dm之间的光路。
如图3所示,为本发明具体实施方式中的预定的一种扫描光路示意图,为了简便起见,图3中只示意出了三个红外发射元件E1、E2、E3和三个红外接收元件D1、D2、D3,本领域技术人员可以理解,实际的红外触摸屏上的红外发射元件和红外接收元件的个数不局限于三个,红外发射元件和红外接收元件之间预定的扫描光路如图3所示,扫描顺序预定为从左到右进行扫描,每一个发射元件发射的光线都可以被对面的三个红外接收元件接收,在进行扫描时,可以获得扫描数据信息如下:
DATA11,DATA12,DATA13,
DATA21,DATA22,DATA23,
DATA31,DATA32,DATA33.
上述的扫描数据信息中包括每一个扫描数据的位置序号及每一个扫描数据的值,如第一个扫描数据的值为DATA11、第二个扫描数据的值为DATA12、……、第9个扫描数据的值为DATA33,这些扫描数据与图3中的扫描光路一一对应。
针对图3中预定的扫描光路,建立包含扫描光路的编号、与扫描光路相对应的红外发射元件和红外接收元件的映射表如下:
扫描光路的编号 |
红外发射元件编号 |
红外接收元件编号 |
1 |
E1 |
D1 |
2 |
E1 |
D2 |
3 |
E1 |
D3 |
4 |
E2 |
D1 |
5 |
E2 |
D2 |
6 |
E2 |
D3 |
7 |
E3 |
D1 |
8 |
E3 |
D2 |
9 |
E3 |
D3 |
本领域技术人员可以理解,上述映射表中的编号不局限于从小到大的编号,可以按照从大到小或者其他编号,只要该这些编号能够分别与各个扫描数据的位置序号对应起来即可。
步骤203、解析模块103根据扫描数据的位置序号与映射表中扫描光路的编号的对应关系将扫描数据解析成扫描光路的遮挡情况,具体为:
针对每一个扫描数据,到建立好的映射表中查找与该扫描数据的位置序号相对应的扫描光路的编号,与该编号相对应的红外发射元件和红外接收元件之间的光路即为与该扫描数据所对应的扫描光路,根据该扫描数据的值获取与该扫描数据相对应的扫描光路的遮挡情况。
在上述的扫描数据解析方法中,步骤202之后还包括对扫描数据的值进行数字化的步骤,使扫描数据的值用0和1表示,其中0表示该扫描数据对应的扫描光路被遮挡,1表示该扫描数据对应的扫描光路未被遮挡由于扫描数据的表示形式比较简单,可以提高后续扫描数据处理的速度;另外,作为一种可选方式,步骤202之后还包括对扫描数据的值进行模拟化的步骤,使扫描数据的值用模拟量来表示,如用0-100的整数表示,模拟量的值的大小可以表述扫描光路被遮挡的程度,如全部被遮挡、部分被遮挡或者全部未被遮挡。
在存储扫描数据时,可以以字节的为单位来存储,即一个扫描数据的值占用一个字节,也可以以bit位为单位来存储,即一个扫描数据的值占用一个位,这种以位为单位的存储方式,尤其对于已经数字化的扫描数据,由于只用0和1表示,如果每个扫描数据的值都用一个字节来存储,大大浪费了存储空间,如果用bit位来存储数据可以节省存储空间,相应地,扫描数据的位置序号也可以用bit位的形式来存储。
如果通过对图3所示的光路进行扫描得到一组扫描数据信息,进行数字化之后的结果如下:1、0、1、1、1、1、0、0、1、0,根据每个扫描数据的位置序号,到映射表中查询相应编号所对应的扫描光路,根据扫描数据的值可以解析出扫描光路的遮挡信息:如对于第2个数据,值为0,相应的映射表中的编号为2,通过查找映射表可以得到该数据对应的红外发射元件为E1,对应的红外接收元件为D2,由于该扫描数据的值为0,因此E1和D2之间的扫描光路被遮挡;对于第5个数据,值为1,相应的映射表中的编号为5,通过查找映射表可以得到该数据对应的红外发射元件为E2,对应的红外接收元件为D2,由于该扫描数据的值为1,因此E2和D2之间的扫描光路没有被遮挡,可以在E2和D2之间绘制一条扫描线。按照这种查表方式,遍历完所有扫描数据,将被未被遮挡的扫描光路绘制出来,便可以获得图4所示的扫描结果示意图,对该扫描结果示意图采用一定的算法就可以识别出触摸点的位置,由于具体的触摸识别方法为现有技术,本说明书不再赘述。
本发明具体实施方式提供的用于红外触摸屏的扫描数据解析方法及装置,根据设计好的扫描光路建立映射表,按照预定的扫描光路及扫描顺序对红外触摸屏进行扫描,通过扫描数据的位置序号与映射表中扫描光路的编号之间的对应关系,根据扫描数据的值解析扫描数据,从而获取扫描光路的遮挡信息。当扫描光路发生变化时,只需要更新映射表,不需要重新编写用于解析数据的程序代码,因此维护比较方便,另一方面,对于比较复杂的没有任何规律可循的扫描光路也可以较方便地建立映射表,因此该数据解析方法能够适用于非常复杂的扫描光路,甚至是毫无规律可言的扫描光路。
在实际应用时,也可以将映射表做成配置文件或者配置表的形式,配置文件或者配置表描述了扫描光路中红外发射元件和红外接收元件之间的对应关系信息,一般由软件根据这种对应关系直接生成配置文件或配置表,应用时只需要读取不同的配置文件,不需要改变其他程序就可以解析不同尺寸红外触摸屏的扫描数据。
本发明中的映射表可以根据扫描光路自动生成,自动生成映射表时,只要扫描光路设计完成,就可以通过事先制作好的软件程序自动生成映射表,即使扫描光路非常复杂,也可以方便地生成映射表。
本领域技术人员可以理解,上述具体实施方式中的红外发射元件和红外接收元件都比较少,且扫描光路比较简单,实际应用中,红外触摸屏可以包含更多的红外发射元件和红外接收元件,根据需要设计的扫描光路也可以更加复杂,只要进行扫描的光路设计好,都可以根据设计好的扫描光路建立相应的映射表。
本发明中的映射表除了包含扫描光路的编号、红外发射元件编号和红外接收元件编号之外,还可以在映射表中增加关于扫描光路的其他属性信息,如某条扫描光路是否被损坏(即扫描光路是否可用)的信息,如果在设计扫描光路时,发现某条光路不能用,通过在映射表中增加列就可以将该信息记录在映射表中。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,如将步骤201和步骤202互换,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型。