新型光學(xué)觸摸屏的實(shí)現(xiàn)
CMOS攝像頭放在觸摸區(qū)域左上角,攝像頭上綁有紅外線LED燈。在觸摸區(qū)域做一個(gè)垂直的固定裝置用來放置兩個(gè)反光條,反光條高度5毫米。LED燈照射在反光條上時(shí),攝像頭會(huì)抓拍到如圖7所示的圖像,圖中出現(xiàn)亮暗相間的畫面。
由于攝像頭、紅外線LED燈和兩張反光條之間的角度,兩反光條交匯的地方對(duì)應(yīng)的圖像區(qū)域亮點(diǎn)更密,即畫面中對(duì)應(yīng)于由A到B的區(qū)域亮點(diǎn)越來越密集,對(duì)應(yīng)于由B到C的區(qū)域亮點(diǎn)變得越來越稀疏。由于圖像亮點(diǎn)間隔的變化的規(guī)律性,在像素平面標(biāo)示一個(gè)亮點(diǎn)只需要一維坐標(biāo),同時(shí)在觸摸平面上標(biāo)示反光條上的一點(diǎn)只需二維坐標(biāo)。選B點(diǎn)所在位置為世界坐標(biāo)系原點(diǎn),BA所在的直線為坐標(biāo)系x軸,BC所在的直線為坐標(biāo)系y軸,在兩個(gè)反光條上選取多個(gè)點(diǎn),要求這些點(diǎn)在攝像頭視野為亮點(diǎn),(2-3)可簡化為:
其中像素坐標(biāo)系被設(shè)定為一維, u0為光學(xué)中心,fu為歸一化焦距,世界坐標(biāo)系設(shè)定為二維。R和T分別為攝像機(jī)坐標(biāo)系到世界坐標(biāo)系的2×2單位正交旋轉(zhuǎn)矩陣和2×1平移矩陣,R含有一個(gè)未知參數(shù),T含有兩個(gè)未知參數(shù),μ/Zc為像素點(diǎn)在像素坐標(biāo)系中的坐標(biāo),( Xw,Yw )為觸摸平面上一點(diǎn)在世界坐標(biāo)系中的坐標(biāo)。M1為內(nèi)參數(shù)矩陣,含有兩個(gè)未知參數(shù),只與攝像頭自身相關(guān),M2為外參數(shù)矩陣,與攝像頭所在的位置相關(guān),含3個(gè)未知參數(shù),M為透視變換矩陣。(2-4)相對(duì)于(2-3)把世界坐標(biāo)系、圖像所在的物理坐標(biāo)系、像素坐標(biāo)系都做了降維處理,把內(nèi)參數(shù)矩陣、外參數(shù)矩陣做了降階處理,這樣就簡化了內(nèi)參數(shù)的求取過程。
2.3 方案所用攝像頭各參數(shù)求解
2.3.1 內(nèi)參數(shù)矩陣的求取
在觸摸區(qū)域內(nèi)移動(dòng)附有反光條的垂直裝置,每移動(dòng)一次反光條的位置用左上角的攝像頭拍下一幅亮暗相間的圖像。拍下多幅圖后,記錄下每幅圖中N個(gè)點(diǎn)(即圖7所示的亮點(diǎn)對(duì)應(yīng)于觸摸平面上反光條上的點(diǎn))在像素坐標(biāo)系中的像素?cái)?shù)。由于世界坐標(biāo)系的坐標(biāo)軸選取在BA、BC所在的直線上,反光條移動(dòng)時(shí)這N個(gè)點(diǎn)在世界坐標(biāo)系中的坐標(biāo)不會(huì)發(fā)生變化。對(duì)于每幅圖所選取的點(diǎn)的世界坐標(biāo)和對(duì)應(yīng)的像素?cái)?shù),根據(jù)式子(2-4)可求取一個(gè)內(nèi)參數(shù)矩陣。對(duì)求取的多個(gè)內(nèi)參數(shù)矩陣進(jìn)行優(yōu)化(Levenberg-Marquardt)優(yōu)化以求取最優(yōu)解。拍攝更多的圖、每幅圖選取更多的點(diǎn)進(jìn)行計(jì)算,可有效地減少誤差。本方案拍攝了5幅圖,取N=17。
每幅圖求取一個(gè)內(nèi)參數(shù)矩陣的步驟如下:
1) 根據(jù)每幅圖的17個(gè)點(diǎn)的坐標(biāo)按照式(2-4)列出超定方程;
2) 用Levenberg-Marquardt算法優(yōu)化透視變換矩陣;
3) 由透視矩陣分解出內(nèi)參數(shù)矩陣和外參數(shù)矩陣;
4) 用Levenberg-Marquardt算法優(yōu)化內(nèi)參數(shù)矩陣;
設(shè)由五幅圖求出的內(nèi)參數(shù)矩陣、外參數(shù)矩陣、透視變換矩陣分別為:Ai、Rti 、ARti (i=1,2,3,4,5),Rti對(duì)應(yīng)的旋轉(zhuǎn)矩陣和平移矩陣分別為Ri、Ti。由式(2-4),設(shè)Ai的兩個(gè)未知參數(shù)分別為ai1、ai2,Ri有一個(gè)參數(shù),設(shè)為為ri,Ti有兩個(gè)參數(shù),設(shè)為ti1 、ti2 。
用Levenberg-Marquardt算法優(yōu)化內(nèi)參數(shù)矩陣的步驟如下:
1)先優(yōu)化Rti( i=1,2,3,4,5)的各項(xiàng)參數(shù)。假定A1較為精確,把A1帶入(2-4)求取第i幅圖17個(gè)點(diǎn)的像素?cái)?shù)誤差之和εi(i=1,2,3,4,5),εi 為關(guān)于ri、ti1、ti2的函數(shù),用Levenberg-Marquardt算法獲取最優(yōu)的r1 、ti1、ti2,使得εi最小。
2)優(yōu)化完Rti再優(yōu)化內(nèi)參數(shù)矩陣Ai。對(duì)5幅圖的ri、ti1、ti2進(jìn)行優(yōu)化之后,求取5幅圖的所有點(diǎn)的像素?cái)?shù)誤差加之和ε,此時(shí)ε為關(guān)于A1中的參數(shù)a11、a12的函數(shù),用Levenberg-Marquardt算法獲取最優(yōu)的a11、a12,使得ε最小。具體實(shí)驗(yàn)過程及數(shù)據(jù)如下:
5幅圖中17個(gè)點(diǎn)的世界坐標(biāo)是相同的,列舉如表1 (單位mm)。5幅圖中17個(gè)點(diǎn)對(duì)應(yīng)的像素?cái)?shù)列舉如表2。
3)由透視矩陣分解出內(nèi)參數(shù)矩陣和外參數(shù)矩陣,并把求取的內(nèi)參數(shù)矩陣和外參數(shù)矩陣代入(2-4)求取每幅圖對(duì)應(yīng)的單點(diǎn)平均像素?cái)?shù)誤差,對(duì)實(shí)驗(yàn)數(shù)據(jù)保留兩位小數(shù),如表3所示。
波段開關(guān)相關(guān)文章:波段開關(guān)原理
攝像頭相關(guān)文章:攝像頭原理
評(píng)論