背景技术
近年来,触摸屏技术作为一种新的人机交互技术越来越多的应用到手机、PDA、笔记本等手持便携设备上。用户不再需要用力触碰按键,只需轻轻触到触摸屏上的图标就可以实现所需的功能了。
工作时,用手指或其它物体触摸安装在显示器前端的触摸屏,然后系统根据手指触摸的图标或菜单位置来定位选择信息输入。广义上,触摸屏由触摸检测装置和触摸屏控制器组成;触摸检测装置安装在显示器屏幕前面,用于检测用户触摸位置,并送至触摸屏控制器;而触摸屏控制器的主要作用是从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器(CPU),由CPU按照点坐标输出到显示器上,触摸屏控制器同时能接收CPU发来的命令并加以执行。
下面以电阻触摸屏为例说明触摸屏的工作原理,电阻触摸屏的屏体部分是一块与显示器表面相匹配的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明绝缘支点把它们隔开。参见图1,其中1为玻璃基层,2为导电层,3为绝缘支点,4为柔软塑料片,5为触笔或手指。当手指触摸屏幕时,平常相互绝缘的两层导电用的金属涂层就在触摸点位置有了一个接触,因其中一面金属涂层接通Y轴方向的假设为5V的均匀电压场,使得侦测层的电压由零变为非零,这种接通状态被触摸屏控制器侦测到后,进行A/D转换,并将得到的电压值与Y方向的最大幅度(Y方向的最大值减去最小值即为所求)相比获得从触摸点到Y方向的端点这段长度占Y方向幅度的比率例如50%,再将这一比率乘以LCD显示屏Y方向的分辨率例如220,即可得到触摸点的Y轴坐标:220*50%=110,同理得出X轴的坐标,此过程可参见图2—A和图2—B,其中图2—A中的左箭头表示测量X坐标,6为X电极模拟电压测量点;图2—B中的下箭头表示测量Y坐标,7为Y电极模拟电压测量点。X方向和Y方向的触摸电压分别用Vpx=R4*V/(R3+R4),Vpy=R1*V/(R1+R2)两式来计算。
在触摸屏的各项性能指标中,准确度最为重要,它直接关系到触摸屏品质的优劣。现有的触摸屏的显示处理方法是通过触摸检测装置将触碰触摸屏时获得的电压值传送给触摸屏控制器,触摸屏控制器将电压信号转换为坐标信号再传送给处理器,处理器按照接收到的坐标信号作为显示点的坐标输出并在显示器上进行显示。但是由于触摸屏被触摸后触摸检测装置输出给触摸屏控制器的信号是模拟信号,非常容易被周围的其它信号干扰,从而导致获得错误的坐标值;当触摸屏表面受力不均时,导致没有被触摸的点也发生接触,这样就会导致手写输入时有的点会飞离轨迹较远。电阻式触摸屏中的电阻阻值会随着周围环境温度的变化而变化使得输出的值不稳定从而导致坐标的偏差;以上问题使得触摸屏的准确度不够高,会产生显示偏移的现象,从而影响产品的性能。
发明内容
本发明就是为了克服以上的不足,提出了一种触摸屏显示处理方法,该方法能够解决触摸屏的显示偏移问题,提高触摸屏的准确度。
为实现上述目的,本发明采用了如下技术方案:
一种触摸屏显示处理方法,包括如下步骤:
A.触摸检测控制装置采集被触摸点的坐标值并输出至处理器进行缓冲,所述处理器的内存中开辟有缓冲区用于存储N个坐标值;
B.处理器判断输入缓冲区的坐标值的数目是否小于滤波阈值N,如是则返回步骤A;否则进入步骤C;
C.处理器判断缓冲区最新输入的N个坐标值是否单调增或减,如是则输出所述N个坐标值中最早输入的坐标值作为显示点的坐标输出显示;如否则进入步骤D;
D.处理器利用中值法对所述N个坐标值进行滤波处理,其中所述滤波处理包括如下步骤:判断所述N个坐标值按从小到大排序对应中间位置点的中值与最新输入的
个坐标值中任一坐标值的差值是否小于中断阈值,如是则以中值作为滤波后的坐标值,如否则屏蔽输出该中值,其中,
为向上取整运算;
E.处理器将滤波后的坐标值作为显示点的坐标输出显示。
所述中断阈值的大小为触摸屏分辨率的1%至2%。
所述步骤C中,处理器判断出最新输入的N个坐标值是单调增或减,则输出N个坐标值中最早输入的坐标值作为显示点的坐标输出显示。
所述滤波阈值N的数值范围为3至11。
所述滤波阈值N为奇数。
所述步骤E后还包括如下步骤:判断是否停止触摸,如是则结束;否则返回步骤A。
本发明相对于现有技术的有益效果是:
在连续书写的情况下,采集到触摸点的坐标值不即时显示,而是等采集到N个点的坐标值后利用中值滤波法取N个坐标值的中值作为第1个显示点输出显示,此后不断用最新采集到的坐标值替代最早采集到的坐标值进行中值滤波处理后输出显示直至用户停止触摸;这样通过中值滤波法利用前后点的相关关系进行滤波,去除了干扰,从而提高了触摸屏的准确度。
当发现N个坐标值以相同的趋势变化,则判定这些点整体上都发生了偏移,则将N个坐标值中的最早采集到的坐标值输出显示,这样可以避免在发生整体偏移时利用中值滤波法反而使输出轨迹更偏离输入轨迹。
进一步地,当判断发生中断或转折时,则直接将中值舍弃,进一步地提高了触摸屏的准确度。
具体实施方式
下面通过实施例结合附图对本发明进行详细说明。
为了消除手指刚接触触摸屏时所产生的抖动对触摸点坐标读取的干扰,一般在触摸屏被接触之初加几毫秒的延时,这样可以有效的避免刚下笔瞬间的不稳定所造成的误差。而在读取每个点的坐标时,采用的是平均法即读取多次后求和再除以次数,这样可以消除噪声的干扰导致的误差。
尽管上述方法可以消除一定的干扰,但有时还是会有点偏离书写输入的轨迹较远,尤其是在连续书写的情况下。本发明的显示处理方法的流程如图3所示,包括如下步骤:
1、程序开始,设置计数器M=0。
2、触摸检测控制装置中的触摸检测装置检测并采集被触摸点的电信号,然后由触摸检测控制装置中的触摸控制装置将采集到的被触摸点的电 信号转换为坐标值并输出到处理器。
3、处理器判断输入的坐标值的数目是否小于滤波阈值N,如是返回第2步继续采集处理,否则进行下一步。坐标值的数目由计数器累加计数得到;处理器的内存中开辟有缓冲区用于存储N个坐标值。
4、处理器判断最新输入的N个坐标值是否单调增大或者减小,如否则利用中值法对所述N个坐标值进行滤波处理。
5、处理器将滤波后的坐标值作为显示点的坐标输出显示。
上述处理流程中第4步中所述的中值法是将N点坐标值按从小到大的顺序进行排序,然后取中间位置的点的值作为中值。由于在进行中值滤波前需要保存点坐标在缓冲区,中值滤波时还需要进行排序运算,如滤波阈值过大,则不仅需要较大的缓冲区,同时计算量也较大导致显示延时过长,故滤波阈值一般可以取在3到11之间。在采集的坐标值数目小于滤波阈值N时,先不进行滤波输出,采集的坐标值不断输入到缓冲区中。当坐标值的数目达到滤波阈值N时,计算此时的N点坐标值的中值作为第1个显示点的坐标值输出显示,第一次中值滤波处理结束。
需要了解的是,由于在一个平面内,点坐标是由X方向和Y方向的两个坐标值确定的,因此,所述的计算N个坐标值的中值并输出显示包含了分别计算两个方向上的坐标值的中值并将两个方向上的中值组合成一点坐标值输出显示的过程。
随着采集过程的继续,所采集的坐标值数目始终大于滤波阈值,滤波处理过程不断进行。本发明可以将缓冲区设置为FIFO(先进先出)型,这样最新采集到的第N+1点坐标值进入缓冲区,而最早输入的第1点坐标值被推出缓冲区,然后对最新输入的N点坐标值,即第2点到第N+1点坐标值重复上述判断N点坐标值是否单调增或减,如否则进行中值滤波处理,将滤波后的坐标值输出显示的过程,此后依次类推,第N+2点替代第2点,第N+3点替代第3点……,每次替代后对最新输入的N点坐标值重复上述中值滤波处理过程直到用户停止触摸,结束显示处理。
因为偏离较大的点的坐标值不是偏大就是偏小不会位于中间,通过中值滤波法,利用N个点之间的相关关系可以去除背景技术中描述的一些干扰因素对采集到的点的干扰,这样可以有效地避免点的显示偏移。
当在上述处理过程的第4步中出现了最新输入的N个坐标值是单调增大或者减小的情况,这时说明这些点从整体上都发生了偏移,此时采用中 值滤波法实际上反而会偏离输入轨迹,因此在出现这种情况下是直接将N点坐标值中最早输入的点坐标值输出显示。
当手写输入的轨迹出现暂时的中断,或者转折时,此时N点坐标值中的中值有可能与实际触摸点有些差距,对此,本发明实施例的处理方法采取的处理是屏蔽该点的输出,由于这种情况出现的概率较低,因此在分辨率高的情况下舍弃个别点不会对整体有影响。
这种情况的判断是:当某次的中值与同次中的后「(N-1)/2
点中的任一点的值的差值大于设定的中断阈值,就认为是发生了中断或转折,其中「
为向上取整运算符。此中断阈值一般设定为触摸屏分辨率的1%至2%。而用于比较的点可以在后「(N-1)/2
个点中任意选定,例如当N=5时,可以选用第4次或第5次采集到的点作为与中值点进行比较的点。之所以选定后「(N-1)/2
个点任一点的坐标值进行比较,主要是因为后「(N-1)/2
的点代表了用户最新触摸形成的轨迹。
在N为偶数的情况下,处于中间位置的点有两个,这时中值是取此两点的平均值作为中值;为了能够简化计算,可以取N为奇数,这样,同时也可以省去中断或转折判断时的向上取整运算。
本发明的触摸屏显示处理方法,在N点坐标值出现整体偏移趋势时输出N点中的第1点坐标值显示,否则利用中值滤波法对采集的点进行滤波处理,因而有效地解决了触摸屏的显示偏移问题,提高了触摸屏的准确度,进一步地,在出现中断或转折时屏蔽该中值的输出,进一步提高了准确度。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。