張劍平
(蘇州長風航空電子有限公司 江蘇省蘇州市 215000)
隨著機載顯示器交互元素的日益豐富,作為交互手段的觸屏功能也從單點觸摸向多點觸摸提出了新要求。目前,紅外觸摸屏技術(shù)作為機載顯示器有效的觸摸實現(xiàn)方案,具備高透光率率,不受電流、電壓和靜電干擾的優(yōu)勢。但紅外觸摸屏本身也存在易受到陽光干擾,分辨率低以及多點識別困難的缺陷。本文針對其中多點識別困難問題(“詭點”識別率準確率低),在現(xiàn)有觸摸識別算法上,通過改進,進一步提升“詭點”識別準確率。
如圖1 所示。軟件在水平和垂直方向掃描,檢測到水平方向和垂直方向均存在雙點觸摸區(qū)域后,并不能就此確定,真實兩個觸摸點是“(M,N)”還是“(M’,N’)”。其中之一為真實觸摸雙點,另外之一則為“詭點”。識別真實雙點亦是“詭點”識別的過程。
為了識別“詭點”,一種紅外軟件采用如圖2 算法。即在垂直方向或水平方向,進一步斜掃描。以垂直方向斜掃描為例,通過垂直方向斜掃描和水平坐標(或者水平方向斜掃描和垂直坐標)計算出坐標點C,比較其與點M 和點M’的距離,如果C 靠近M,則M 為真實觸摸點;否則,M’為真實觸摸點。
該識別算法弊端在于:識別出錯概率大。原因在于:
(1)斜掃描的偏移燈管xdelt遠遠小于Ynum,ydelt遠遠小于Xnum,斜掃描的投射分別率不夠,導致識別出錯,如圖2 所示,“點M”和“點M’”越近,“點A”和“點B”發(fā)生重疊(或者不足以區(qū)分)的概率就越大;
(2)存在識別盲區(qū)的問題。如圖2 所示,灰色區(qū)域存在掃描盲區(qū)。這個盲區(qū)隨著xdelt和ydelt變大而變大。
降低識別出錯概率的原理是:將雙點置于不同的坐標體系下進行掃描。每一種坐標體系下,掃描結(jié)果都包含兩個真實觸摸點和兩個詭點。其特征是:對于真實觸摸點來說,不同的坐標系下掃描出的位置基本重合,而產(chǎn)生的兩個詭點卻有比較大的位置偏差。計算每種坐標體系下真實點的位置偏差,以及詭點位置偏差,對四個偏差進行排序,最小的兩個點即為真實觸摸點。如圖3 所示。
實際上,不同的坐標下掃描,水平和垂直方向也包含兩個真實觸摸點和兩個詭點,如圖4 所示。因此,整個掃描包括:
(1)坐標系XOY 下進行掃描,掃描結(jié)果四個點: M、N、M' 和N'。
(2)將坐標系XOY 順時針旋轉(zhuǎn)一個偏移角度θ,得到一個新的坐標系XθOYθ。坐標系XθOYθ下進行掃描, 垂直方向,獲取兩根掃描直線X0_Lθ和X1_Lθ;水平方向,獲取兩根掃描直線Y0_Lθ和Y1_Lθ。
圖1:“詭點”產(chǎn)生示意圖
圖2:一種紅外去“詭點”算法示意圖
圖3:改進算法掃描示意圖
(3)將坐標系XOY 順時針旋轉(zhuǎn)一個偏移角度-θ,得到一個新的坐標系X-θOY-θ。坐標系X-θOY-θ下進行掃描,垂直方向,獲取兩根掃描直線X0_L-θ和X1_L-θ;水平方向,獲取兩根掃描直線Y0_L-θ和Y1_L-θ。
圖4:θ、-θ 和政教坐標系下掃描結(jié)果
圖5:改進之后的雙點識別解決方案
圖6:原雙點縮放運動劃線軌跡效果圖
圖7:改進后雙點縮放運動劃線軌跡效果圖
(4)計算直線矩陣[X0_LθX0_L-θ]與[Y1LθY1_L-θ]T
根據(jù)公式(1)可以計算出四個坐標矩陣:
根據(jù)公式(2)可以計算出四個坐標矩陣
根據(jù)公式(3)可以計算出四個坐標矩陣
根據(jù)公式(4)可以計算出四個坐標矩陣
對三種坐標系下的點偏差進行統(tǒng)計和排序,誤差最小的兩個即為真實觸摸點。
因為掃描盲區(qū)的原因,實際過程中,諸如X0_Lθ和X1_Lθ這些掃描直線不存在,解決這個做法是,使用X0_L0和X1_L0替換到公式(1)~(4)中,這樣可以避免盲區(qū)的出現(xiàn)。
圖5 說明了軟件實現(xiàn)流程圖。
表1:紅外觸摸屏性能指標對比
圖8:原雙點旋轉(zhuǎn)運動劃線軌跡效果圖
圖9:改進后雙點旋轉(zhuǎn)運動劃線軌跡效果圖
圖10:改進后雙點W 波浪型劃線操作效果圖
圖11:改進后雙點8 字型劃線操作效果圖
為了更好的對新方案算法效果展示,在測試時,將其與原有紅外觸摸軟件(2C_JZC300-001CX)觸摸效果進行了劃線操作對比;操作包括縮放運動操作、旋轉(zhuǎn)運動操作、W 字型劃線操作、倒8 字劃線操作。同時也與XYJ-104 的雙點觸摸功能(華東光電供)進行了對比,對比結(jié)果有優(yōu)勢,也存在改進的空間。具體如下:
圖6 展示了原紅外觸摸軟件雙點縮放運動沿135°對角線縮放操作的軌跡效果。從軌跡來看,雙點坐標相互干擾,雜亂無章。
圖7 展示了重新設(shè)計之后的紅外觸摸軟件雙點斜對角線縮放運動的軌跡。對比圖6,可以發(fā)現(xiàn)于劃線軌跡平滑,沒有詭點。
圖8 展示了原紅外觸摸軟件雙點交叉旋轉(zhuǎn)運動的軌跡效果。圖中可以說明,兩個觸摸點之間坐標相互影響。坐標相互交叉。運動軌跡不呈現(xiàn)弧形。
圖9 展示了重新設(shè)計之后的紅外觸摸軟件雙點交叉旋轉(zhuǎn)運動的軌跡效果。圖中可以說明,兩個觸摸點相互獨立。運動軌跡呈現(xiàn)弧形,完全反應(yīng)了旋轉(zhuǎn)操作過程。
圖10 和圖11 分別展示了改進后的雙點進行“W 字型”和“倒8 字型”操作的劃線軌跡。可以看到,劃線軌跡平滑順暢,無跳躍點和明顯鋸齒。其中,黑色代表先按下的點(第一個點),紅色代表后按下的點(第二個點)。兩個點被識別成有序序列。比如:抬起其中第一個點,未抬起的的一點仍然可以被識別為第二個點;抬起其中第二個點,未抬起的一點仍然可以被識別為第一個點。且,這些功能是在改進后紅外軟件中處理實現(xiàn)的,以固定的協(xié)議格式上報給應(yīng)用軟件,不需要作圖應(yīng)用軟件自己處理。
表1 給出了改進之后、改進之前的紅外軟件以及XYJ-104 的紅外軟件,在軟件觸摸功能上的性能對比。
本文探討一種改進的多點觸摸算法實現(xiàn)。更好的解決了目前機載紅外觸摸雙點識別錯誤率高的問題,提高了“詭點”識別正確率以及解決了識別盲區(qū)問題。性能指標對于同類算法和產(chǎn)品,也具有一定的優(yōu)勢,具有較高的工程應(yīng)用價值。