機械未對準和比例因子導致來自觸摸屏面板(由觸摸屏控制器轉換)的值與安裝觸摸屏面板的顯示器(通常為 LCD)之間的不匹配。本教程討論如何校準觸摸屏面板以匹配顯示器。
介紹
機械未對準和比例因子可能導致觸摸屏系統(在本教程中,觸摸屏系統意味著由觸摸屏和觸摸屏控制器組成的設置)與安裝觸摸屏的顯示器(通常為 LCD)的值不匹配。本文討論了校準觸摸屏系統的數學技術,以便將顯示上的圖形與觸摸屏控制器的輸出相匹配。
了解圖像轉換:平移、旋轉和縮放
圖1是LCD觸摸屏顯示器上顯示的圓圈可能發生的失真的夸大視圖。當手指繞著圓圈(紅線)描摹時,觸摸屏系統可能會給出橢圓(藍線)而不是圓的坐標,如圖1所示。形狀從圓形到橢圓的這種變化可以通過以下圖形轉換來解釋:平移、旋轉和縮放。
圖1.由于顯示器和觸摸屏系統不匹配,圓圈在觸摸屏上會改變形狀。
直覺表明,x-y 平面中任何經過變換的坐標點 x, y 都應該如下所示:
xNEW = f1(xOLD, yOLD) + constant1 | (Eq. 1a) |
yNEW = f2(xOLD, yOLD) + constant2 | (Eq. 1b) |
其中 x新增功能和 y新增功能是轉換后的坐標;x老和 y老是舊坐標;f1() 和 f2() 是轉換舊坐標的函數;常量 1 和 2 就是常量。
如果變換是線性的,則函數 f1() 和 f2() 可以用以下等式替換:
xNEW = A xOLD + B yOLD + C | (Eq. 2a) |
yNEW = D xOLD + E yOLD + F | (Eq. 2b) |
其中 A、B、C、D、E 和 F 是常數系數。
請注意,f1() = A xOLD +B yOLD and f2() = D xOLD + E yOLD, 其中常量 1 和常量 2 分別是 C 和 F。
平移、旋轉和縮放背后的數學原理
一個顯示圖形變換的示例將證明本練習的最終變換方程將導致上述方程 2a 和 2b,因此,我們的直覺成立。(用戶可以繞過此示例,直接跳轉到下面的三點校準和 N 點校準討論。
下圖(圖 2)顯示了一個經過平移、旋轉和縮放的正方形(形狀 A)(形狀 B)。在此過程中,它被轉換為矩形。
圖2.平移、旋轉和縮放將正方形轉換為矩形。
要旋轉和縮放正方形(形狀 A),重要的是首先將其中心移動到原點(圖 3),以確保旋轉和縮放均勻發生。
圖3.移動圖 2(形狀 A)的正方形,使其中心位于 x-y 軸的原點上。
向中心移動或向中心平移將更改正方形所有坐標的值。為簡單起見,這里只有 x 的變換1, y1在圖 2 中將進行探討。因此,x1一, y1一轉換為 x1b, y1b代表這個新數字的新方程是:
x1b= x1一+ Tx0 | (公式3a) |
y1b= y1一+ TY0 | (公式3b) |
旋轉上圖,以便在 x 和 y 方向上進行適當的縮放。圖4顯示該圖已逆時針旋轉角度θ。
圖4.按照等式3,正方形逆時針旋轉。
新坐標 (x1c, y1c) 旋轉后如下所示。(請參閱附錄,了解此旋轉方程的推導。
x1c = x1b Cosθ - y1b Sinθ | (Eq. 4a) |
y1c = x1b Sinθ + y1b Cosθ | (Eq. 4b) |
將等式3a和3b代入等式4a和4b,并簡化:
x1c = x1a Cosθ - y1a Sinθ + Kx | (Eq. 5a) |
y1c = x1a Sinθ + y1a Cosθ + Ky | (Eq. 5b) |
其中Kx = Tx0 Cosθ - Ty0 Sinθ and Ky = Tx0 Sinθ + Ty0 Cosθ.
現在,在 x 和 y 方向上縮放正方形,使其與圖 2(形狀 B)中的矩形大小相同。如果我們說Gx是 x 方向和 G 方向上的比例因子y是 y 方向上的比例因子,則正方形將轉換為矩形(圖 5)。
圖5.使用比例因子 G 將正方形轉換為矩形x對于 x 方向,和 Gy對于 Y 方向。
將公式 5a 和 5b 乘以比例因子 Gx和 Gy公式6a和6b是圖5所示矩形的坐標。
x1d = x1a Gx Cosθ - y1a Gx Sinθ + Kx Gx | (Eq. 6a) |
y1d = x1a Gy Sinθ + y1a Gy Cosθ + Ky Gy | (Eq. 6b) |
將矩形旋轉 a,使其與圖 2 中形狀 B 的旋轉方向匹配。這導致 (x1d, y1d) 到 (x1e, y1e),如圖 6 所示。
圖6.旋轉圖 5 的矩形,使其與圖 2 中形狀 B 的方向相匹配。
再次逆時針旋轉。(x1e, y1e) 在 (x1d, y1d) 是:
x1e = x1d Cosα - y1d Sinα + Kx | (Eq. 7a) |
y1e = x1d Sinα + y1d Cosα + Ky | (Eq. 7b) |
將等式6a和6b代入等式7a和7b,并簡化:
x1e = x1a A + y1a B + P | (Eq. 8a) |
y1e = x1a D + y1a E + Q | (Eq. 8b) |
其中:
A = Gx Cosθ Cosα - Gy Sinθ Cosα
B = - Gx Sinθ Cosα - Gy Cosθ Cosα
P = Kx Gx Cosα - Ky Gy Sinα
D = Gx Cosθ Sinα + Gy Sinθ Cosα
E = -Gx Sinθ Sinα + Gy Cosθ Cosα
Q = Kx Gx Sinα + Ky Gy Cosα
現在需要完成平移(圖 7),將旋轉的矩形移動到圖 2 中形狀 B 出現的位置。
圖7.矩形從原點到圖 2 中形狀 B 出現的位置的平移。
假設 x 和 y 方向的平移為 Tx和 Ty分別。因此,等式8a和8b將變為:
x1f = x1a A + y1a B + C | (Eq. 9a) |
y1f = x1a D + y1a E + F | (Eq. 9b) |
其中 C = P + Tx和 F = Q + Ty.
等式 9a 和 9b 就是我們想要的——它們與等式 1a 和 1b 相匹配。請注意,坐標 (x1樓, y1樓) 是 (x1一, y1一).在安裝在顯示器上的觸摸面板中,用戶必須在校準期間確定 A、B、C、D、E 和 F。
請注意,本練習的目的是讓用戶了解變換方程的一般形式,如公式 9a 和 9b 所示。本文表明,無論旋轉、平移和縮放的方向和大小如何,我們都將達到這種一般形式。
三點校準
我們從一對方程開始,這是我們上面數學練習中的最后一對。
x1f = x1a A + y1a B + C | (Eq. 9a) |
y1f = x1a D + y1a E + F | (Eq. 9b) |
觸摸屏系統校準的目標是求解公式2a和2b(或類似的公式9a和9b),以推導出A、B、C、D、E和F的值。
看看這些方程,我們知道有六個未知數。因此,我們需要六個方程來求解這些未知數,這可以通過對觸摸屏系統進行三點校準來實現。用戶將通過觸摸面板上的三對顯示坐標來生成三對 (x, y) 坐標:(x1d, y1d), (x2d, y2d) 和 (x3d, y3d).如果它們對應的觸摸屏值(由觸摸屏控制器顯示)為 (x1, y1), (x2, y2) 和 (x3, y3),那么六個未知數可以通過下面顯示的方程求解。這些點必須彼此獨立,如圖 8 所示。
圖8.LCD面板顯示三個顯示坐標供用戶觸摸。
x1d= x1A + y1B + C
x2d= x2A + y2B + C
x3d= x3A + y3B + C
y1d= x1D + y1E + F
y2d= x2D + y2E + F
y3d= x3D + y3E + F
現在有了六個未知數的六個方程,以上可以用矩陣形式寫成:
因此,稍微進行一些矩陣操作將產生 A、B、C、D、E 和 F,如下所示:
哪里Z-1是 Z 的逆矩陣。
三點校準示例
本例將使用MAX11800觸摸屏控制器。假設 LCD 面板顯示器的分辨率為 256 x 768,并且選擇的三個校準點是 (65, 350)、(200, 195) 和 (195, 550)。這些是我們希望觸摸面板在觸摸時顯示的確切點。但是,由于MAX11800的分辨率為4096 x 4096 (12位),并且由于機械未對準,坐標會有所不同。在本練習中,我們假設這些值分別為:(650, 2000)、(2800, 1350) 和 (2640, 3500)。請注意:這些值僅供參考。
使用公式 10a 和 10b 求解 A、B、C、D、E 和 F,我們得到以下結果:
A = 0.0635
B = 0.0024
C = 18.9116
D = -0.0227
E = 0.1634
F = 37.8887
因此,將為此特定示例生成 x 和 y 坐標的方程為:
xd= 0.0635 x + 0.0024 y + 18.9116
yd= -0.0227 x + 0.1634 y + 37.8887
其中 (x, y) 是來自觸摸屏系統的坐標,(xd, yd) 是調整后的值。
N 點校準
用戶可以選擇使用更多點進行校準。方程組的廣義形式如下所示:
x1d = x1 A + y1 B + C x2d = x2 A + y2 B + C x3d = x3 A + y3 B + C ... xnd = xn A + yn B + C |
(Eq. set 11a) |
y1d = x1 D + y1 E + F y2d = x2 D + y2 E + F y3d = x3 D + y3 E + F ... ynd = yn D + y3 E + F |
其中,(x1d, y1d)...(x德·, y德·) 是顯示生成的坐標;(x1, y1)...(xn, yn)是MAX11800從觸摸屏面板確定的相應值(n個點)。目標是使用這些值確定系數。
在方程集 11a 中,有三個未知數,A、B 和 C,但坐標集大于三個。這意味著方程多于未知數。因此,在這種情況下,使用最小二乘擬合來利用所有點并推導出系數的平均值是有意義的。這也意味著更多的校準點將有助于降低誤差。最小二乘擬合如圖 9 所示。相同的技術將應用于確定 y 值的未知數 D、E 和 F。
圖9.系數 A、B 和 C 的平均值是通過對點應用最小二乘擬合來找到的。
方程集 11a 和 11b 可以寫成矩陣形式,如下所示:
通過在此矩陣形式中使用最小二乘擬合,系數由以下方程給出。(請參閱一本關于回歸分析的書,了解最小二乘擬合形式的矩陣形式的推導。
N 點校準示例
再次假設 LCD 面板顯示器的分辨率為 256 x 768,五個校準點分別為 (100, 350)、(50, 200)、(200, 200)、(210, 600) 和 (65, 600)。這些是我們希望觸摸面板在觸摸時顯示的確切點。但是,由于MAX11800的分辨率為4096 x 4096 (12位),并且由于機械未對準,因此這些點可能會有所不同。再次假設它們分別是 (1700, 2250)、(750, 1200)、(3000, 1500)、(2500, 3400) 和 (600, 3000)。請注意:這些值是虛構的,僅供參考。
使用等式 12a 和 12b 求解 A、B、C、D、E 和 F,我們得到:
A = 0.0677
B = 0.0190
C = -33.7973
D = -0.0347
E = 0.2100
F = -27.4030
因此,為此特定示例生成 x 和 y 坐標的公式為:
xd= 0.0677 x + 0.0190 y - 33.7973
yd= -0.0347 x + 0.2100 y - 27.4030
其中 (x, y) 是來自觸摸屏控制器的坐標,以及 (xd, yd) 是調整后的坐標值,以匹配顯示屏上顯示的內容。
示例摘要
如果在三個點上使用最小二乘技術,它將產生與三點校準相同的系數。因此,在數學上,將三點校準處理為具有三個未知數的三個聯立線性方程組比使用最小二乘技術進行較長的計算更容易。
審核編輯:郭婷
-
顯示器
+關注
關注
21文章
5017瀏覽量
140458 -
控制器
+關注
關注
112文章
16465瀏覽量
179614 -
觸摸屏
+關注
關注
42文章
2318瀏覽量
116822
發布評論請先 登錄
相關推薦
用ADS7846設計嵌入系統的觸摸屏
![用ADS7846設計嵌入<b class='flag-5'>系統</b>的<b class='flag-5'>觸摸屏</b>](https://file1.elecfans.com//web2/M00/A4/2B/wKgZomUMMvaAJI8-AACSpI5DjYY973.jpg)
電阻式觸摸屏的基本結構和工作原理及其校準算法的研究與設計
![電阻式<b class='flag-5'>觸摸屏</b>的基本結構和工作原理及其<b class='flag-5'>校準</b>算法的研究與設計](https://file.elecfans.com/web2/M00/4A/0D/pYYBAGKhvI-AVPNUAAAuSDBn2rI252.png)
電阻式觸摸屏校準算法的優化_電阻式觸摸屏工作原理
四線電阻觸摸屏校準算法的實現
Android的觸摸屏進行校準的方法詳細說明
![Android的<b class='flag-5'>觸摸屏</b>進行<b class='flag-5'>校準</b>的方法詳細<b class='flag-5'>說明</b>](https://file.elecfans.com/web1/M00/A2/BD/o4YBAF1RIUSALB4VAARbg3dvsmU112.png)
評論