触摸屏校准原理

1、


       如上图,假如底下是LCD,上面是触摸屏膜(TS)。假设分辨率是480*272,那么在LCD坐标为(0,0)的地方,TS对应的点坐标为(x1',y1')。LCD坐标为(479,271)的地方,TS对应的点为(x2',y2')。

       那么,假如触电的坐标为(x',y'),对应的LCD的点坐标呢?


2、

为了简化,我们先看x轴的坐标:


由上图我们可以得到一个等式,

(x' - x1')/(x2' - x1') = (x - 0)/(479 - 0)

                         x = (479 - 0)*(x' - x1')/(x2' - x1')


3、

但是上面的图,我们是选择了(0,0)和(479,271)这种边界点,一般这种点我们都点不准,所以下面我们选择一般的点。


(x' - x1')/(x2' - x1') = (x - x1)/(x2 - x1)

                         x = (x2 - x1)*(x' - x1')/(x2' - x1') + x1

假设 k  = (x2 - x1)*(x' - x1'),

所以

x = k * (x' - x1') + x1


4、


    

X轴方向:

Kx = (s1 + s2) / (s1' + s2') = 2s / (s1' + s2')     -----------   (假设的s1 = s2)

Y轴方向:

Ky = (d1 + d2) / (d1' + d2') = 2d / (d1' + d2')   ----------   (假设d1 = d2)

选取TS中心点的坐标为(xc', yc'),LCD中心点的坐标为(xc,yc)

那么就可以由TS点击的点得到LCD上对应的点坐标,

x = (x' - xc')*Kx + xc

y = (y' - yc')*Ky + yc


参考文章:

https://blog.csdn.net/DevinTT/article/details/47022761




猜你喜欢

转载自blog.csdn.net/lee_jimmy/article/details/80469047