tslib中的校正算法实现

本文介绍了触摸屏校正的基本原理和技术细节,通过数学方法解释如何利用多组坐标提高校正精度。文中详细阐述了使用逆矩阵计算校正参数的过程,并讨论了采集点数量对校正效果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   我们在《触摸屏校正原理》说过,只需要三组点坐标,我们就可以完成触摸屏的校正,其基本公式为:

 tslib中的校正算法实现

     实际上,在校正时,采集的触摸屏的点坐标有一定的误差,也就是说采集几个三组点坐标,分别计算A、B、C、D、E、F,其结果不尽相同。

     在tslib的ts_calibrate中,采集了五组点坐标,具体代码参见ts_calibrate.c中的perform_calibration()。

     一般来说,采集的点越多,校正的精确性就越高。 为了在计算过程中兼顾5个点的坐标, ts_calibrate将公式(1)变换如下:

 

tslib中的校正算法实现

 

   以第一组(A、B、C)为例, 进一步变换为:

tslib中的校正算法实现

   n表示坐标的数量,ts_calibrate中就是5, 分别对XT, YT, XL, XLXTXLYT(XT)2 (YT)2 YT 求和,带入公式(3)中,就可以求出A、B、C,同理可求D、E、F。

     解的时候用的是逆矩阵的方法,即:

        

      P0 = M · P1 ======> (M)-1 P0 = P1

 

       我们可以看出,运用上述方法可以处理任意多的采集点,而不局限于5个,只是采集点过多就会冗余,对校正精确性的提高作用很少,反而增加了计算时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值