新型光學觸摸屏的實現
CMOS攝像頭放在觸摸區域左上角,攝像頭上綁有紅外線LED燈。在觸摸區域做一個垂直的固定裝置用來放置兩個反光條,反光條高度5毫米。LED燈照射在反光條上時,攝像頭會抓拍到如圖7所示的圖像,圖中出現亮暗相間的畫面。

由于攝像頭、紅外線LED燈和兩張反光條之間的角度,兩反光條交匯的地方對應的圖像區域亮點更密,即畫面中對應于由A到B的區域亮點越來越密集,對應于由B到C的區域亮點變得越來越稀疏。由于圖像亮點間隔的變化的規律性,在像素平面標示一個亮點只需要一維坐標,同時在觸摸平面上標示反光條上的一點只需二維坐標。選B點所在位置為世界坐標系原點,BA所在的直線為坐標系x軸,BC所在的直線為坐標系y軸,在兩個反光條上選取多個點,要求這些點在攝像頭視野為亮點,(2-3)可簡化為:

其中像素坐標系被設定為一維, u0為光學中心,fu為歸一化焦距,世界坐標系設定為二維。R和T分別為攝像機坐標系到世界坐標系的2×2單位正交旋轉矩陣和2×1平移矩陣,R含有一個未知參數,T含有兩個未知參數,μ/Zc為像素點在像素坐標系中的坐標,( Xw,Yw )為觸摸平面上一點在世界坐標系中的坐標。M1為內參數矩陣,含有兩個未知參數,只與攝像頭自身相關,M2為外參數矩陣,與攝像頭所在的位置相關,含3個未知參數,M為透視變換矩陣。(2-4)相對于(2-3)把世界坐標系、圖像所在的物理坐標系、像素坐標系都做了降維處理,把內參數矩陣、外參數矩陣做了降階處理,這樣就簡化了內參數的求取過程。
2.3 方案所用攝像頭各參數求解
2.3.1 內參數矩陣的求取
在觸摸區域內移動附有反光條的垂直裝置,每移動一次反光條的位置用左上角的攝像頭拍下一幅亮暗相間的圖像。拍下多幅圖后,記錄下每幅圖中N個點(即圖7所示的亮點對應于觸摸平面上反光條上的點)在像素坐標系中的像素數。由于世界坐標系的坐標軸選取在BA、BC所在的直線上,反光條移動時這N個點在世界坐標系中的坐標不會發生變化。對于每幅圖所選取的點的世界坐標和對應的像素數,根據式子(2-4)可求取一個內參數矩陣。對求取的多個內參數矩陣進行優化(Levenberg-Marquardt)優化以求取最優解。拍攝更多的圖、每幅圖選取更多的點進行計算,可有效地減少誤差。本方案拍攝了5幅圖,取N=17。
每幅圖求取一個內參數矩陣的步驟如下:
1) 根據每幅圖的17個點的坐標按照式(2-4)列出超定方程;
2) 用Levenberg-Marquardt算法優化透視變換矩陣;
3) 由透視矩陣分解出內參數矩陣和外參數矩陣;
4) 用Levenberg-Marquardt算法優化內參數矩陣;
設由五幅圖求出的內參數矩陣、外參數矩陣、透視變換矩陣分別為:Ai、Rti 、ARti (i=1,2,3,4,5),Rti對應的旋轉矩陣和平移矩陣分別為Ri、Ti。由式(2-4),設Ai的兩個未知參數分別為ai1、ai2,Ri有一個參數,設為為ri,Ti有兩個參數,設為ti1 、ti2 。
用Levenberg-Marquardt算法優化內參數矩陣的步驟如下:
1)先優化Rti( i=1,2,3,4,5)的各項參數。假定A1較為精確,把A1帶入(2-4)求取第i幅圖17個點的像素數誤差之和εi(i=1,2,3,4,5),εi 為關于ri、ti1、ti2的函數,用Levenberg-Marquardt算法獲取最優的r1 、ti1、ti2,使得εi最小。
2)優化完Rti再優化內參數矩陣Ai。對5幅圖的ri、ti1、ti2進行優化之后,求取5幅圖的所有點的像素數誤差加之和ε,此時ε為關于A1中的參數a11、a12的函數,用Levenberg-Marquardt算法獲取最優的a11、a12,使得ε最小。具體實驗過程及數據如下:
5幅圖中17個點的世界坐標是相同的,列舉如表1 (單位mm)。5幅圖中17個點對應的像素數列舉如表2。

3)由透視矩陣分解出內參數矩陣和外參數矩陣,并把求取的內參數矩陣和外參數矩陣代入(2-4)求取每幅圖對應的單點平均像素數誤差,對實驗數據保留兩位小數,如表3所示。

波段開關相關文章:波段開關原理
攝像頭相關文章:攝像頭原理













評論