一種觸摸屏觸摸區(qū)域定位方法
【專利摘要】本發(fā)明涉及觸摸屏技術,特別涉及一種觸摸屏觸摸區(qū)域定位方法。本發(fā)明是通過以下技術方案得以實現的:一種觸摸屏觸摸區(qū)域定位方法,包括以下步驟:(1)得出所有被擋住的光路;(2)將被擋住的光路轉化為多邊形數據;(3)假定同角度光路的集合為一層光路層;將一層光路層中的多邊形與另一層光路層中的多邊形相交,得到一組新的多邊形,再將該組新多邊形與再另一層光路層中的多邊形相交,以再次得到新的多邊形;如此重復至完成所有光路層的多邊形相交,從而得到最后一組多邊形,該最后組多邊形至少包括一個多邊形單體,并記錄該組多邊形數據,該組多邊形數據由所有多邊形單體數據組成。本發(fā)明對觸摸區(qū)域的識別耗時短,效率高。
【專利說明】一種觸摸屏觸摸區(qū)域定位方法
【技術領域】
[0001]本發(fā)明涉及觸摸屏技術,特別涉及一種觸摸屏觸摸區(qū)域定位方法。
【背景技術】
[0002]現有技術中的多點識別定位方法,如申請公布號為CN102419662A的發(fā)明專利申請所公開的一種紅外觸摸屏的多點識別方法及系統,其首先生成與紅外觸摸屏在一次識別過程中軸對應的軸圖像;然后在軸圖像中提取觸摸點信息;然而此種基于圖像處理的識別方法,觸摸點的判定需全局處理,因此耗時較長。
【發(fā)明內容】
[0003]本發(fā)明的目的是提供一種觸摸屏觸摸區(qū)域定位方法,該方法對觸摸區(qū)域的識別耗時短,效率高。
[0004]本發(fā)明的上述技術目的是通過以下技術方案得以實現的:一種觸摸屏觸摸區(qū)域定位方法,包括以下步驟:
(1)檢測所有光路,得出所有被擋住的光路;
(2)將被擋住的光路轉化為多邊形數據,即確定每個紅外發(fā)射元件及紅外接收元件的座標,從而確定被擋住光路的頂點的坐標;
(3)假定同角度光路的集合為一層光路層;將一層光路層中的多邊形與另一層光路層中的多邊形相交,得到一組新的多邊形,再將該組新多邊形與再另一層光路層中的多邊形相交,以再次得到新的多邊形;如此重復至完成所有光路層的多邊形相交,從而得到最后一組多邊形,該最后組多邊形至少包括一個多邊形單體,并記錄該組多邊形數據,該組多邊形數據由所有多邊形單體數據組成。
[0005]以從一個紅外發(fā)射元件至一個紅外接收元件的光路為單元光路;每個紅外發(fā)射元件所確定的光路起點的光寬應相等于每個紅外接收元件所確定的光路終點的光寬,假定每個紅外發(fā)射元件所確定的光路起點的光寬為單位光寬;依據觸摸屏分辨率,確定單位光寬為η ;從而建立一個坐標XY系,使每個紅外發(fā)射元件及紅外接收元件都由兩個坐標限定。
[0006]作為本發(fā)明的優(yōu)選,所述步驟(I)與步驟(2)之間還具有如下步驟:以一個紅外發(fā)射元件至一個紅外接收元件所形成的光路為單元光路,步驟(I)所得到光路,即是所有被擋住的單元光路,將所有被擋住的單元光路進行檢測,若在同一層光路層存在相鄰的單元光路,則將這些相鄰單元光路進行合并,從而形成一組光路組。
[0007]作為本發(fā)明的優(yōu)選,所述步驟(2)具體為:將被擋住的單元光路和/或光路組轉化為多邊形數據,即確定每個紅外發(fā)射元件及紅外接收元件的座標,從而確定被擋住光路的頂點的坐標。
[0008]作為本發(fā)明的優(yōu)選,所述步驟(3)之后還包括篩選真觸摸區(qū)域的步驟,該步驟包括
a、對經步驟(3)得到的最后組多邊形中的所有多邊形單體進行檢測,判定由最多層光
路層相交得到的多邊形單體為真觸摸發(fā)生區(qū)域;若多邊形單體由小于m層的光路層相交得至|J,則判定該多邊形單體為假觸摸發(fā)生區(qū)域;m小于光路層總層數。
[0009]作為本發(fā)明的優(yōu)選,所述篩選真觸摸區(qū)域的步驟還包括
b、若最后組多邊形中的多邊形單體由大于等于m層且小于總光路層層數的光路層相交得到,則檢測經過該多邊形單體的所有被擋住的光路,若存在經過該多邊形單體但不經過已判定為真觸摸發(fā)生區(qū)域的多邊形單體的光路,則判定該多邊形單體為真觸摸發(fā)生區(qū)域,若不存在,則判定為假觸摸發(fā)生區(qū)域。
[0010]綜上所述,本發(fā)明具有以下有益效果:本發(fā)明對每條單元光路定義至一個紅外發(fā)射元件與一個紅外接收元件,從而根據觸摸屏的分辨率對每個紅外發(fā)射元件與每個紅外接收元件的位置通過坐標定位,從而相當于對每條單元光路所形成的多邊形通過坐標定位;在識別觸摸點時,首先通過光路掃描,得出被擋住的單元光路,從而縮小了觸摸發(fā)生區(qū)域的判定范圍,因此節(jié)省了時間,提高了識別效率,同時由于根據分辨率對每條單元光路都進行了坐標定位,使得在判定觸摸發(fā)生區(qū)域時更為精準;本發(fā)明在確定光路層的角度時,無需連續(xù)的角度。
【專利附圖】
【附圖說明】
[0011]圖1是實施例2觸摸發(fā)生區(qū)域K示意圖;
圖2是實施例2中被擋住光路意圖;
圖3是實施例2中光路A與光路B相交示意圖;
圖4是實施例2中區(qū)域G與光路C相交示意圖;
圖5是實施例2中同角度單元光路合并示意圖;
圖6是實施例4中觸摸發(fā)生區(qū)域示意圖。
【具體實施方式】
[0012]以下結合附圖對本發(fā)明作進一步詳細說明。
[0013]本具體實施例僅僅是對本發(fā)明的解釋,其并不是對本發(fā)明的限制,本領域技術人員在閱讀完本說明書后可以根據需要對本實施例做出沒有創(chuàng)造性貢獻的修改,但只要在本發(fā)明的權利要求范圍內都受到專利法的保護。
[0014]實施例1:如圖1所示,觸摸屏四邊分別設有紅外發(fā)射元件I及紅外接收元件2。
[0015]假定從一個紅外發(fā)射元件I至一個紅外接收元件2的光路為單元光路。
[0016]以紅外發(fā)射元件I作為光路起點,紅外接收元件2作為光路終點,每個紅外發(fā)射元件I所確定的光路起點的光寬應相等于每個紅外接收元件2所確定的光路終點的光寬,假定每個紅外發(fā)射元件I所確定的光路起點的光寬為單位光寬。
[0017]依據觸摸屏分辨率,確定單位光寬為η ;從而建立一個坐標XY系,如圖1,觸摸屏左下角的點為原點(0,0),右上角的點為(Xmax,Yfflax);從而使每個紅外發(fā)射元件及紅外接收元件都由兩個坐標限定。
[0018]基于多邊形的觸摸區(qū)域定位方法,包括以下步驟:
(1)硬件初始化,從而確定,每個紅外發(fā)射元件及紅外接收元件所對應的座標,假定同角度單元光路的集合為一層光路層,確定光路層層數Hlmax及每層光路層的角度;
(2)在一幀內,檢測所有單元光路,得出所有被擋住的單元光路;(3 )檢測每層光路層中被擋住的單元光路,若該層光路層中被擋住的單元光路中具有相鄰的單元光路則將這些相鄰的單元光路進行合并,以形成一組光路;
(4)將經步驟(3)得到的每組光路和/或每個單元光路轉化為多邊形數據,即根據步驟
(I)所確定的每個紅外發(fā)射元件及紅外接收元件所對應的座標,記錄形成由步驟(3)得到的每組光路和/每個光路的頂點的坐標,并存儲在內存中,每組光路或每個單兀光路對應一個多邊形;
(5)將一層光路層中的多邊形與另一層光路層中的多邊形相交,根據兩個任意多邊形相交得到一個新的多邊形的邏輯算法,得到一組新的多邊形,該組新的多邊形包括一個或一個以上的多邊形單體,存儲在內存中;
(6)將步驟(5)得到的該組新多邊形再與另一層光路層中的多邊形相交,根據步驟(5)的邏輯算法,再次得到一組新的多邊形,存儲于內存中;
(7)重復步驟(6) 至完成所有光路層的多邊形相交,從而得到最后一組多邊形;
(8)對經步驟(7)得到最后組多邊形中的每個多邊形進行篩選,從而得到觸摸發(fā)生區(qū)域。
[0019]步驟(8)中的篩選方法包括以下步驟:
a、對經步驟(4)得到的最后組多邊形中的所有多邊形單體進行檢測,判定由最多層光路層相交得到的多邊形單體為真觸摸發(fā)生區(qū)域;若多邊形單體由小于m層的光路層相交得到,則判定該多邊形單體為假觸摸發(fā)生區(qū)域;m小于光路層總層數;
b、若最后組多邊形中的多邊形單體由大于等于m層且小于總光路層層數的光路層相交得到,則檢測經過該多邊形單體的所有被擋住的光路,若存在經過該多邊形單體但不經過已判定為真觸摸發(fā)生區(qū)域的多邊形單體的光路,則判定該多邊形單體為真觸摸發(fā)生區(qū)域,若不存在,則判定為假觸摸發(fā)生區(qū)域。
[0020]當實際觸摸發(fā)生區(qū)域比較小時,有些角度的光路由于擋住的紅外線分量比較小,導致紅外對管的信號波動不是很大,使得步驟2中對光路擋住的判斷有誤,從而出現邏輯上本因出現的光路缺失現象,因此出現某些真觸摸發(fā)生區(qū)域由小于m層的光路層相交得到。
[0021]所述兩個任意多邊形相交得到一個新的多邊形的邏輯算法是基于直線相交得到交點的邏輯算法。
[0022]直線相交得到交點的邏輯算法為:
設直線 A (x1; Y1) (x2, y2)直線 B (x3, y3) (x4, y4)
int IiDx1=X2-X1 ;
int HDy1=Y2-Y1 ;
int nDx2=x4_x3 ;
int nDy2=y4-y3 ;
int nB^nDy^x^nDx^y!;
int nB2-nOj2^χ3~η?)χ2^J3 ;
int HD=IiDx1^nDy2-1iDx2氺IiDy1 ;
float fBD^ (float) nB^nD ;
float fBD2= (float) nB2/nD ;IiB1= (int) (fBD-nDXi);
nB2= (int) (fBD^nDxa);
X= (_signed_short) (nBfnBj ;
IiB1= (int) (IfBD2=^nDy1);
nB2= (int) (IfBD1=^nDy2);
y= (_signed_short) (nBfnBj ;
直線A與直線B的交點為(x,y)。
[0023]當然兩個多邊形相交必然得到另一個多邊形,其中的算法也是多種多樣,并不局限于上述一種算法。
[0024]實施例2:如圖1所示,觸摸區(qū)域發(fā)生的區(qū)域K,對該區(qū)域K的識別步驟如下, (1)在一幀內,進行所有光路層掃描,在圖2中,相同角度的虛線及實線代表一層光路層,得出所有被擋住的單元光路,該單元光路為三條,分別為A、B、C,如圖2中實線區(qū)域,并獲得此三條光路的坐標,即光路A的四個頂點為A1 (Xal, Yal)、A2 (Xa2,Ya2), A3 (Xa3,Ya3)、A4(Xa4,Ya4),由于三條光路為單元光路,Xa2_Xal=n,Yal=Ya2=Ymax, Xa3_Xa4=n,Ya3=Ya4=O ;
光路 B 的四個頂點為 B1 (Xbl,Ybl)、B2 (Xb2, Yb2),B3 (Xb3,Yb3)、B4 (Xb4,Yb4),由于三條光路為單元光路,Xb2-Xbl=n, Ybl=Yb2=Ymbx, Xb3-Xb4=n,Yb3=Yb4=O ;
光路 C 的四個頂點為 C1 (Xcl,Ycl)>C2 (Xc2,Yc2)>C3 (Xc3,Yc3)>C4 (Xc4,Yc4),由于三條光路為單元光路,Xc2-Xcl=n, Ycl=Yc2=Ymcx, Xc3-Xc4=n,Yc3=Yc4=O ;
(2)如圖3所示,先將光路A與光路B相交,得到多邊形結果,即區(qū)域G,即可根據上述直線相交邏輯算法,得出區(qū)域G四個頂點的坐標,即G1 (Xgl, Ygl),G2 (Xg2, Yg2),G3 (Xg3,Yg3)、G4 (Xg4,Yg4
(3)如圖4所示,再將區(qū)域G與光路C相交,得到另一多邊形結構,即區(qū)域K,再根據上述直線相交邏輯算法,得出區(qū)域K五個頂點的坐標,即K1 (Xkl, Ykl), K2 (Xk2, Yk2), K3 (Xk3,Yk3)、K4 (Xk4,Yk4),K5 (Xk5,Yk5),其中 K5 (Xk5,Yk5)即為 G2 (Xg2,Yg2);
若區(qū)域K跨至少兩個單元光路,如圖5所示,區(qū)域K跨單元光路E與單元光路F,即區(qū)域K同時擋住相同角度且相鄰的單元光路E與單元光路F,則需將相同角度的相鄰單元光路進行合并,形成一組光路H,以便于和其它光路相交得到多邊形結果。
[0025]實施例3:同時產生至少兩個觸摸點,識別方式與實施例1類似,只是在計算多邊形結果坐標時,同時計算兩個或多個多邊形結果坐標。
[0026]實施例4:如圖6所示,觸摸發(fā)生區(qū)域為KpK2與K4,識別這兩個觸摸發(fā)生區(qū)域的過程如下:假定光路層mmax為六層,分別A、B、C、D、E及F ;每層光路層都用不同角度的虛線及實線在圖6中示出。
[0027]按實施例1得到被擋住的光路為:光路層A中為ApA2、A3 ;光路層B中為B1;光路層C中為Cp C1 ;光路層D中為D1 ;光路層E中為E1 ;光路層F為Fp F2 ;這些光路在圖6中用實線表示;從而得到五個多邊形結果,分別為1、K2, K3, K4, K5,當然實際得到的多邊形不止這五個,本實施例只是選取這五個多邊形進行示例;
確定由三層以下,不包括三層的光路層相交得到的多邊形結果為假觸摸發(fā)生區(qū)域,由當前最多層光路層相交得到的多邊形結果為真觸摸發(fā)生區(qū)域。
[0028]1^、1(2、1(3、1(4、1(5五個多邊形結果,其中K1由四層光路層中的相應光路相交得到;K2由五層光路層中的相應光路相交得到;κ3由三層光路層中的相應光路相交得到;κ4由三層光路層中的相應光路相交得到;Κ5由兩層光路層中的相應光路相交得到。
[0029]從而確定K5為假觸摸發(fā)生區(qū)域,K2為真觸摸發(fā)生區(qū)域;其余三個多邊形單體需進一步篩選;檢測經過K1的所有光路,發(fā)現存在光路F2,且該光路不經過K2,因此判定K1為真觸摸發(fā)生區(qū)域;檢測經過K3的所有光路,發(fā)現所有光路都經過判定為真觸摸發(fā)生區(qū)域的多邊形單體K1或K2,因此判定K3為假觸摸發(fā)生區(qū)域;檢測經過K4的所有光路,發(fā)現存在光路A1,且該光路不經過判定為真觸摸發(fā)生區(qū)域的多邊形單體,因此判定K4為真觸摸發(fā)生區(qū)域。
【權利要求】
1.一種觸摸屏觸摸區(qū)域定位方法,其特征在于,包括以下步驟: (1)檢測所有光路,得出所有被擋住的光路; (2)將被擋住的光路轉化為多邊形數據,即確定每個紅外發(fā)射元件及紅外接收元件的座標,從而確定被擋住光路的頂點的坐標; (3)假定同角度光路的集合為一層光路層;將一層光路層中的多邊形與另一層光路層中的多邊形相交,得到一組新的多邊形,再將該組新多邊形與再另一層光路層中的多邊形相交,以再次得到新的多邊形;如此重復至完成所有光路層的多邊形相交,從而得到最后一組多邊形,該最后組多邊形至少包括一個多邊形單體,并記錄該組多邊形數據,該組多邊形數據由所有多邊形單體數據組成。
2.根據權利要求1所述的一種觸摸屏觸摸區(qū)域定位方法,其特征在于,所述步驟(I)與步驟(2)之間還具有如下步驟:以一個紅外發(fā)射元件至一個紅外接收元件所形成的光路為單元光路,步驟(I)所得到光路,即是所有被擋住的單元光路,將所有被擋住的單元光路進行檢測,若在同一層光路層存在相鄰的單元光路,則將這些相鄰單元光路進行合并,從而形成一組光路組。
3.根據權利要求2所述的一種觸摸屏觸摸區(qū)域定位方法,其特征在于,所述步驟(2)具體為:將被擋住的單元光路和/或光路組轉化為多邊形數據,即確定每個紅外發(fā)射元件及紅外接收元件的座標,從而確定被擋住光路的頂點的坐標。
4.根據權利要求1或2或3所述的一種觸摸屏觸摸區(qū)域定位方法,其特征在于,所述步驟(4)之后還包括篩選真觸摸區(qū)域的步驟,該步驟包括 a、對經步驟(4)得到的最后組多邊形中的所有多邊形單體進行檢測,判定由最多層光路層相交得到的多邊形單體為真觸摸發(fā)生區(qū)域;若多邊形單體由小于m層的光路層相交得至IJ,則判定該多邊形單體為假觸摸發(fā)生區(qū)域;m小于光路層總層數。
5.根據權利要求4所述的一種觸摸屏觸摸區(qū)域定位方法,其特征在于,所述篩選真觸摸區(qū)域的步驟還包括 b、若最后組多邊形中的多邊形單體由大于等于m層且小于總光路層層數的光路層相交得到,則檢測經過該多邊形單體的所有被擋住的光路,若存在經過該多邊形單體但不經過已判定為真觸摸發(fā)生區(qū)域的多邊形單體的光路,則判定該多邊形單體為真觸摸發(fā)生區(qū)域,若不存在,則判定為假觸摸發(fā)生區(qū)域。
【文檔編號】G06F3/042GK103984449SQ201410236907
【公開日】2014年8月13日 申請日期:2014年5月30日 優(yōu)先權日:2014年5月30日
【發(fā)明者】王迪, 李金鵬, 齊洋 申請人:湖州佳格電子科技有限公司