tslib中的校正算法实现

简介: 转载时请表明原文出处(http://blog.sina.com.cn/wyw1976)及作者邮箱(wyw1976@gmail.com)      我们在《触摸屏校正原理》说过,只需要三组点坐标,我们就可以完成触摸屏的校正,其基本公式为:        实际上,在校正时,采集的触摸屏的点坐标有一定的误差,也就是说采集几个三组点坐标,分别计算A、B、C、D、E、F,其结果不尽相同。

转载时请表明原文出处(http://blog.sina.com.cn/wyw1976)及作者邮箱(wyw1976@gmail.com)

 

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

 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)2YT 求和,带入公式(3)中,就可以求出A、B、C,同理可求D、E、F。

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

        

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

 

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

相关文章
|
7月前
|
传感器 C++ 计算机视觉
【opencv3】详述PnP测距完整流程(附C++代码)
【opencv3】详述PnP测距完整流程(附C++代码)
|
算法 数据处理
点云地面点滤波(Progressive Morphological Filter)算法介绍(PCL库)
点云地面点滤波(Progressive Morphological Filter)算法介绍(PCL库)
1313 0
点云地面点滤波(Progressive Morphological Filter)算法介绍(PCL库)
|
7月前
|
算法 索引
基于DSP的FFT算法实现
基于DSP的FFT算法实现
355 6
|
7月前
|
机器学习/深度学习 文字识别 算法
MATLAB图像倾斜校正算法实现:图像倾斜角检测及校正
MATLAB图像倾斜校正算法实现:图像倾斜角检测及校正
|
7月前
|
存储 传感器 算法
相机标定系列---opencv相关标定算子
相机标定系列---opencv相关标定算子
167 0
|
7月前
|
存储 数据可视化 计算机视觉
OpenCV(二十一):椒盐噪声和高斯噪声的产生
OpenCV(二十一):椒盐噪声和高斯噪声的产生
203 0
|
算法 计算机视觉 异构计算
基于FPGA的图像sobel边缘提取算法实现,包含testbench和matlab验证程序
基于FPGA的图像sobel边缘提取算法实现,包含testbench和matlab验证程序
230 0
|
机器学习/深度学习 传感器 算法
基于ML算法、Schmidl & Cox算法、Minn算法、Park 算法实现OFDM系统的时间同步附matlab代码
基于ML算法、Schmidl & Cox算法、Minn算法、Park 算法实现OFDM系统的时间同步附matlab代码
|
机器学习/深度学习 传感器 算法
基于TMP算法、S3PM算法、OTA算法、SAXA算法实现信号检测系统中四种噪声背景归一化附MATLAB代码
基于TMP算法、S3PM算法、OTA算法、SAXA算法实现信号检测系统中四种噪声背景归一化附MATLAB代码
|
数据采集 缓存 搜索推荐
基于MPC5644的XCP 标定系统的设计
基于MPC5644的XCP 标定系统的设计
基于MPC5644的XCP 标定系统的设计