文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.023
中文引用格式: 裴成龍,魏智鵬,楊亮. 基于ARM的四攝像頭光學觸摸屏系統(tǒng)研制[J].電子技術(shù)應(yīng)用,2016,42(6):84-86.
英文引用格式: Pei Chenglong,Wei Zhipeng,Yang Liang. Four camera optical touch screen system developed based on the ARM[J].Application of Electronic Technique,2016,42(6):84-86.
0 引言
隨著計算機交互技術(shù)的快速發(fā)展,觸摸屏因其具有操作便捷、人機交互性強等特點,已被廣泛應(yīng)用于現(xiàn)有生活中。目前其技術(shù)大多應(yīng)用在一些小尺寸便攜式設(shè)備中,如手機、平板電腦、電子游戲機等,這是因為現(xiàn)有的電阻式或電容式觸摸屏都是通過一些硬件材料來實現(xiàn)觸摸技術(shù),如果將這些技術(shù)應(yīng)用在超大尺寸觸摸屏上,將會產(chǎn)生價格昂貴、通用性差等眾多普通用戶無法接受的問題[1]??萍己褪袌銎惹行枰霈F(xiàn)一種新的觸摸式交互技術(shù)。
基于以上需求,通過采用圖像識別技術(shù)研制了四攝像頭光學觸摸屏系統(tǒng),該系統(tǒng)通過安裝在4個頂點的COMS圖像傳感器同步采集觸摸屏交互區(qū)域的圖像,采集的圖像數(shù)據(jù)利用ARM微處理器的DCMI接口實現(xiàn)數(shù)據(jù)的存儲,然后對圖像數(shù)據(jù)進行觸摸點圖像檢測,根據(jù)觸點的成像位置和攝像頭標定的光心位置得到4條觸點方向的直線,最后通過任意兩條直線相交來定位觸點的位置。該系統(tǒng)通過視覺成像檢測技術(shù)解決了超大觸摸屏價格昂貴的問題,同時又保留了原有系統(tǒng)方便、靈活的特點。
1 系統(tǒng)方案設(shè)計
系統(tǒng)由人機交互顯示屏、圖像采集模塊、數(shù)據(jù)處理模塊、ARM微處理器模塊、觸點定位顯示模塊五部分組成,如圖1所示。
該系統(tǒng)的總體設(shè)計思路是在一個矩形的人機交互屏的4個頂點上安裝CMOS攝像頭,對交互屏區(qū)域同步采集圖像。每個攝像頭都由一個數(shù)據(jù)處理模塊驅(qū)動控制,接收攝像頭采集到的數(shù)據(jù)并進行處理。ARM微處理器整合分析數(shù)據(jù)處理模塊發(fā)送的數(shù)據(jù)構(gòu)建觸點方向的直線坐標方程,結(jié)合攝像頭標定算法計算出觸點位置坐標,并將其結(jié)果顯示在定位液晶屏上。
2 硬件平臺設(shè)計
本系統(tǒng)的硬件框架(人機交互屏)為一個47英寸的16:9的矩形框。主控芯片采用ARM Cortex-M3系列的STM32F407VGT6,時鐘頻率168 MHz,這為大量的圖像數(shù)據(jù)處理提供了足夠的運算速度[2]。該芯片提供了DCMI攝像頭數(shù)據(jù)接口,利用DCMI接口,攝像頭采集到的數(shù)據(jù)可以迅速輸入到DCMI緩存器,并且可以利用硬件DMA將數(shù)據(jù)直接送到液晶顯示或者送到內(nèi)部RAM中,以便數(shù)據(jù)的處理。芯片屬于大容量存儲,自帶的RAM達到64 KB,為圖像存儲提供了足夠的存儲空間。
圖2是圖像傳感器OV7670與ARM微處理器STM-32F407的連接方式。
ARM微處理器的時鐘輸出引腳CLKOUT為傳感器OV7670提供24 MHz時鐘信號。圖像傳感器像素時鐘輸出PCLK為ARM微處理器提供外部參考時鐘。將OV7670的像素信號、行信號、幀信號分別與DCMI的像素信號、行信號、幀信號引腳相連接,每當檢測到DCMI_CLK信號的上升沿時,圖像傳感器就將一個8 bit數(shù)據(jù)寫入DCMI緩沖區(qū)中,實現(xiàn)圖像數(shù)據(jù)的同步傳輸。行信號(HREF)高電平期間使DCMI數(shù)據(jù)緩沖區(qū)寫有效,保證傳輸有效的圖像數(shù)據(jù)。場信號(VSYNC)中斷ARM微處理器新一幀圖像的到來以達到與CMOS圖像場同步的目的。傳感器的數(shù)據(jù)輸出管腳Y[7:0]和ARM微處理器的DCMI_D[7:0]相連,傳輸實際的圖像數(shù)據(jù)。
3 軟件算法設(shè)計
系統(tǒng)軟件流程如圖3所示,首先系統(tǒng)進行初始化,根據(jù)攝像頭的安裝位置和角度完成攝像頭的標定,獲得整個系統(tǒng)攝像頭的光心坐標,然后攝像頭采集完一幀圖像,通過圖像處理單元進行二值化處理,ARM微處理器進行觸點檢測,若存在觸摸點則將計算其坐標并在液晶屏實時跟蹤顯示,否則重復進行下一幀圖像操作。
3.1 觸摸點識別
主控芯片通過I2C總線(SCL與SDA)控制圖像傳感器OV7670,該圖像傳感器幀率最高達到30幀/s,分辨率為320×240,輸出數(shù)據(jù)格式為RGB656或YUV。本設(shè)計用一個控制器實現(xiàn)對四路攝像頭圖像的同步采集。為了節(jié)省圖像存儲空間和提高圖像的采樣率,將每路攝像頭的圖像開窗成320×5,在一幀圖像的時間內(nèi)完成四路攝像頭數(shù)據(jù)的傳輸。將采集到的圖像二值化后,在沒有接觸物觸摸的情況下,攝像頭采集到的是觸摸屏四周的白色擋板,成一條白色的亮帶;如果有觸摸物(手指),則會在亮帶相應(yīng)的地方出現(xiàn)陰影。二值化后的圖像如圖4所示。
3.2 觸摸點定位
根據(jù)攝像頭成像特性,從攝像頭光心出發(fā)的某直線上的所有觸點目標在攝像頭中將成像在同一位置,從而攝像頭采集的亮帶圖像的陰影位置代表了觸點目標在該攝像頭中的方向。通過對每路攝像頭的內(nèi)外參數(shù)和光心位置進行標定[3](此過程稱為攝像頭標定),對其在每路攝像頭中的成像位置和在交互區(qū)的物理位置進行標定,則可為每個觸點目標分別構(gòu)建在每路攝像頭中的方向線。融合四路攝像頭采集到的觸點目標圖像,構(gòu)建觸點目標在每路攝像頭中的方向線,聯(lián)立這4條線構(gòu)成的方程組求解,得到的解即為觸點位置,從而實現(xiàn)觸點目標的定位。
3.2.1 單點觸摸定位
只有一個觸點時,系統(tǒng)會求得觸點與4個攝像頭之間連線的坐標方程,如圖5所示。此時只需聯(lián)立任意兩個直線方程組,便可求得觸點的位置。為了提高單點觸摸定位的精確度,可通過求出任意兩兩直線的交點,然后將得到的交點求平均值,所得便是觸點位置坐標。
3.2.2 兩點觸摸定位
兩點觸摸時觸點坐標的計算原理基本相同,但是要注意對偽點的判斷剔除。偽點是指由于光學觸控系統(tǒng)本身實現(xiàn)原理的限制[4],使得在兩點或者多點觸摸時會產(chǎn)生一些實際不存在的“假點”,從而出現(xiàn)觸點位置不準確的現(xiàn)象。
如圖6所示,P1、P2為目標觸點,1號攝像頭會引出兩條直線L11和L12,2號攝像頭會引出兩條直線L21和L22,那么求出來的交點就有4個(兩個觸點與攝像頭在一條直線上的情況除外),但是實際上只有兩個真實觸點P1和P2,那么另外兩個就是偽點,如圖中的F1和F2。去除偽點的方法便示,L31與1號攝像頭的兩條直線交于P1和一個偽點,L32與2號攝像頭的兩條直線交于P2和另一個偽點,所以只要在程序中加個判斷:1號攝像頭和2號攝像頭的直線方程組求得的交點集合與3號攝像頭和1號、2號攝像頭的直線方程組求得的交點集合的交集便是觸點。
4 實驗分析
系統(tǒng)運行時,采用的圖像序列分辨率為320×5像素,攝像頭采樣率為30 幀/s,系統(tǒng)實時跟蹤顯示觸摸點位置。為了對系統(tǒng)的觸點定位誤差進行分析,在觸摸區(qū)粘貼上網(wǎng)格坐標紙,然后用戶用手指對整個區(qū)域任意位置進行觸摸測試,記錄系統(tǒng)觸摸定位坐標值和相應(yīng)網(wǎng)格坐標實際值的數(shù)據(jù)。分析測試結(jié)果如表1所示。
實驗結(jié)果表明,單點觸摸定位誤差相對于兩點觸摸要低,而由于受到攝像頭視角的限制,觸摸屏的四角區(qū)域的定位誤差比中間區(qū)域稍大,但系統(tǒng)的最大誤差率小于2%。
5 結(jié)論
本系統(tǒng)運用攝像頭標定和圖像識別技術(shù),實現(xiàn)47英寸光學觸摸屏系統(tǒng)的設(shè)計。ARM Cortex-M3微處理器采用STM32F407VGT6芯片,選用4個OV7670攝像頭模組進行圖像的采集,將觸摸點位置和坐標顯示在2.8寸TFT彩色液晶顯示屏上。系統(tǒng)實現(xiàn)單點觸摸和兩點觸摸的定位、跟蹤,并在LCD上顯示實際的物理坐標和軌跡,定位誤差小于2%,能迅速響應(yīng)點擊、放大、縮小觸摸操作。
參考文獻
[1] 董士海.人機交互的進展及面臨的挑戰(zhàn)[J].計算機輔助設(shè)計與圖形學學報,2004,16(1):1-13.
[2] 周亦鵬.雙目視覺技術(shù)在計算機輔助檢測中的應(yīng)用研究[J].計算機測量與控制,2008,16(5):47-60.
[3] 黃侃.計算機立體視覺中的攝像機標定算法的研究與應(yīng)用[D].沈陽:沈陽工業(yè)大學,2007.
[4] 王德鑫,張茂軍.四路攝像頭分組重建的多觸點定位方法[J].電子與信息學報,2010,32(2):495-499.