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