Chinaunix首页 | 论坛 | 博客
  • 博客访问: 936436
  • 博文数量: 192
  • 博客积分: 3070
  • 博客等级: 中校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-27 23:44
个人简介

Start Linux Leave Linux a while Back to Linux

文章分类

全部博文(192)

文章存档

2023年(18)

2022年(11)

2021年(8)

2020年(14)

2019年(7)

2018年(13)

2017年(16)

2016年(4)

2012年(2)

2011年(13)

2010年(26)

2009年(13)

2008年(27)

2007年(20)

我的朋友

分类:

2009-04-23 22:43:26

先记下来4线电阻式触摸屏的校正算法, 以免以后忘记了
|----------------|
|                |
| A +       B +  |
|                |
|      E +       |
|                |
|                |
| C +       D +  |
|                |
|----------------|
屏中有5个点(+), 我们知道 A,B,C,D,E这 5个点的实际坐标
A(Xa,Ya), B(Xb,Yb), C(Xc,Yc), D(Xd,Yd), E(Xe,Ye)
 
使用触摸屏依次点这 5个坐标,得到这5个点的逻辑坐标(可以采样10次或更多),
A(Xla,Yla), B(Xlb,Ylb), C(Xlc,Ylc),D(Xld,Yld) ,D(Xld,Yld)
然后通过以下算法算出 KX和 KY的系数:
KX = ((Xb-Xa)/(Xlb-Xla) + (Xd-Xc)/(Xld-Xlc))/2
KY = ((Yc-Ya)/(Ylc-Yla) + (Yd-Yb)/(Yld-Ylb))/2
 
得出 KX和KY后,将 KX,KY,Xe,Ye,Xle,Yle写入到 touchver这个文件中
看起来 E点的坐标好像没有用到,其实不然,在逻辑坐标转换成物理坐标的过程中就需要用到这个E点的坐标.
 
下面是一个逻辑坐标转换成物理坐标 的例子,
先读取 touchver的文件, 以 E点坐标为基准进行转换
Xp = Xe + KX * (Xl-Xle)
Yp = Ye + KY * (Yl-Yle)
 
其中Xl,Yl是读回来的逻辑坐标
 
 
 
阅读(1639) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~