`
loovle
  • 浏览: 145214 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

tslib中的校正算法实现

阅读更多
转载自(http://blog.sina.com.cn/wyw1976) 作者邮箱(wyw1976@gmail.com)
我们在触摸屏校正原理说过,只需要三组点坐标,我们就可以完成触摸屏的校正,其基本公式为:

    实际上,在校正时,采集的触摸屏的点坐标有一定的误差,也就是说采集几个三组点坐标,分别计算A、B、C、D、E、F,其结果不尽相同。
    在tslib的ts_calibrate中,采集了五组点坐标,具体代码参见ts_calibrate.c中的perform_calibration()。
    一般来说,采集的点越多,校正的精确性就越高。 为了在计算过程中兼顾5个点的坐标, ts_calibrate将公式(1)变换如下:

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

   n表示坐标的数量,ts_calibrate中就是5, 分别对XT, YT, XL, XLXT,XLYT,(XT)2 ,(YT)2 ,YT 求和,带入公式(3)中,就可以求出A、B、C,同理可求D、E、F。
   解的时候用的是逆矩阵的方法,即:
       
   P0 = M · P1 ======> (M)-1 P0 = P1

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

相关推荐

    Tslib中触摸屏校准原理及其实现

    本文将详细介绍Tslib中触摸屏校准的基本原理及其算法实现。 #### 一、触摸屏校准的必要性 触摸屏与LCD显示屏是两种不同的物理器件。LCD处理的是像素,如常见的分辨率600x800,意味着每行有600个像素点,总高度为...

    Tslib中触摸屏校准原理及其实现.rar

    本文将深入探讨`Tslib`中触摸屏校准的原理及其自定义实现方法。 首先,我们要理解触摸屏校准的基本概念。校准是通过调整硬件或软件算法,使得触摸屏上的物理位置与屏幕上的逻辑坐标对应起来的过程。这是因为实际的...

    tslib软件库文件

    tslib能够处理多个触点的输入,支持手势识别,使得嵌入式设备可以实现更丰富的用户交互体验。 4. **接口兼容性**:tslib提供了一套统一的API接口,可以方便地与各种操作系统(如Linux、FreeRTOS、QNX等)和应用层...

    触摸屏校准资料 linux-tslib

    Linux-TSlib是Linux内核中用于触摸屏输入处理的库,它包含了多种触摸屏校准算法。TSlib的主要功能包括读取触摸屏数据、滤波噪声、校准坐标以及转换为统一的事件格式。其工作流程大致分为以下几步: 1. 数据采集:...

    tslib-1.21源代码

    源代码中包含多种校准算法,如` tslib_calibrate.c`中的` tslib_calibrate`函数,用于获取用户的校准点并计算校准矩阵。这些算法帮助转换原始触摸数据,使其适应屏幕坐标系统,从而提高触摸输入的精度。 3. **配置...

    tslib-1.4.tar.gz

    3. **校正功能**:支持校正算法,允许开发者根据实际设备调整触摸屏坐标,以匹配显示输出。 4. **插件系统**:tslib有一个灵活的插件架构,允许添加新的触摸屏驱动和处理算法。 5. **API**:提供了一个C语言接口,...

    qt-embedded-3.3.4 tslib触摸屏校正+qte3移植+触摸屏+开机启动

    这样就完成了 Qt Embedded 3.3.4 和 Tslib 的触摸屏驱动集成以及触摸屏校正,同时实现了开机启动的功能。通过以上步骤,可以确保嵌入式系统能够稳定、高效地运行 Qt 应用程序,并且具备准确可靠的触摸输入功能。

    触摸屏校正

    1. **校正算法**:`tslib`提供了多种校正算法,如四角校正(Quadrilateral Calibration)、线性回归(Linear Regression)等。四角校正通常是最基础的方法,用户需依次触摸屏幕的四个角落,通过获取的原始坐标和预期...

    tslib1.7源代码

    它为不同的触摸屏硬件提供了一个统一的接口,使得开发者无需关心底层硬件的具体实现,就能在上层应用中处理触摸事件。这对于跨平台的嵌入式开发非常关键,因为它简化了多设备兼容性的挑战。 **tslib1.7中的主要组件...

    smart210触摸屏tslib移植

    本文将深入探讨Smart210触摸屏与TSlib的移植过程,旨在帮助开发者理解和实现这一关键的技术步骤。 1. **Smart210触摸屏概述** Smart210是一款常见的嵌入式设备用触摸屏,具备良好的响应速度和稳定性。它适用于多种...

    tslib--标准源码

    6. **性能优化**:由于tslib通常被用在资源受限的环境中,所以源码可能经过了精心优化,例如使用高效的算法、减少内存占用和提高计算速度等。 7. **测试和调试**:一个高质量的库需要有充分的测试覆盖率来确保其...

    tslib-1.4.zip

    标题中的"tslib-1.4.zip"是一个压缩包文件,它包含了版本为1.4的tslib(Touchscreen Library)软件。tslib是一个开源项目,...通过解压、编译和安装源代码,开发者能够利用tslib的功能来实现高效、可靠的触摸屏交互。

    Android6.0移植tslib库

    这通常通过修改tslib的配置文件实现。 5. 编译与集成:运行“mm”命令编译tslib库。成功后,tslib库会被编译为.so动态库或.a静态库,根据你在Android.mk中的设置。接着,你需要将编译后的库文件添加到系统的HAL...

    android用的tslib

    此外,如果需要更深入地控制触摸屏行为,可以通过修改tslib源码并重新编译来实现。 总之,tslib是Android系统中不可或缺的一部分,它确保了触摸屏输入的可靠性和一致性。通过理解tslib的工作原理和使用方法,开发者...

    Qt tslib校准程序

    在"Qt tslib校准程序"中,开发者会编写自己的校准程序,比如`calibration.cpp`和`calibration.h`这两个文件。`calibration.cpp`通常包含了实现校准逻辑的具体代码,它会调用tslib的API来进行触摸屏的校准工作。`...

    tslib1.21.zip

    `tslib` 提供了校准算法,允许用户根据触摸屏的实际物理尺寸和屏幕显示区域进行调整。 2. **滤波器**:触摸屏的输入可能会受到噪声的影响,导致不稳定的触控体验。`tslib` 包含了多种滤波器(如平均滤波、滑动平均...

    The tslib functionality test failed!

    在 Qt Embedded Linux 开发中,tslib 是一个必备的组件,用于实现触摸屏交互功能。 问题描述 在编译 Qt Embedded Linux 时,可能会遇到以下错误提示: The tslib functionality test failed! 这意味着 tslib ...

    android_tslib

    - **校准**:tslib通过预定义的校准参数,对采集的数据进行校正,以消除硬件误差。 - **滤波**:使用各种滤波算法(如Kalman滤波器)去除噪声,提供平滑的触控体验。 - **坐标转换**:将校准后的数据转换为设备...

    tslib1.4.tar.gz

    通过分析tslib1.4.tar.gz,我们可以学习到如何构建触摸屏驱动,如何应用滤波算法改进输入质量,以及如何在实际项目中整合和调试触摸屏系统。对这些知识的掌握将有助于开发人员在涉及触摸屏输入的项目中提高效率和...

    tslib 详细移植文档

    标题中的"tslib 详细移植文档"指的是将Tslib库移植到特定硬件平台的过程,而描述提到该文档已经经过测试并能成功运行,适合参考。Tslib是一个用于处理触摸屏输入事件的开源库,它提供了触摸屏的校准、滤波等功能。 ...

Global site tag (gtag.js) - Google Analytics