一種服務器觸摸屏的多實點識別算法
【技術領域】
[0001]本發明涉及服務器的人機交互與嵌入式領域,具體涉及一種服務器觸摸屏的多實點識別算法。
【背景技術】
[0002]觸摸屏作為一種逐漸發展起來的新興的人機交互方式,在服務器領域越來越得到廣泛的應用,在服務器的觸摸屏端可實現對服務器各項工作參數的實時監控,并進行相關的操作,同時在云計算與物聯網的應用層中也逐漸在使用觸摸屏的方式實現其與人的交互。
[0003]紅外觸摸屏的結構大體可分為內嵌式和外掛式兩種,通過一系列成對的紅外管實現位置的定位控制,并完成相應的操作。紅外觸摸屏不受電壓、電流以及靜電等因素的干擾,適用于工作環境比較惡劣的地方,成本較低。但是,紅外觸摸屏在實現兩點及兩點以上觸摸時,會產生與實點相對應的虛點。由于虛點的出現以及自然光的影響,往往使系統的觸摸判斷過程復雜化,從而容易在處理過程中出現點跳動和點重合等問題,導致誤判率的產生,不能準確、快速識別虛實點。
【發明內容】
[0004]為了解決上述問題,本發明提出了一種服務器觸摸屏的多實點識別算法,能夠準確、快速地識別紅外觸摸屏上的虛實點,實現精確定位。
[0005]為了達到上述目的,本發明提出了一種服務器觸摸屏的多實點識別方法,該方法包括:
[0006]A、當η個外物進入紅外觸摸屏中預先形成的紅外掃描矩陣時,檢測第一組紅外接收管中的哪η個紅外接收管沒有接收到與該η個紅接收管直接相對應的第一組紅外發射管中的η個紅外發射管發射的紅外光;其中,第一組紅外發射管中的紅外發射管與第一組紅外接收管中的紅外接收管一一對應。
[0007]B、通過檢測出的η個紅外接收管的橫坐標和/或與檢測出的η個紅外接收管相對應的η個紅外發射管的橫坐標確定η個外物在紅外掃描矩陣中形成的η個實點的橫坐標。
[0008]C、選取η個實點中的第一實點所對應的第一橫坐標,并確定第一橫坐標所對應的第一紅外發射管和第一紅外接收管,確定第一橫坐標所在的第一縱軸。
[0009]D、將第一組紅外發射管按照預設的順序依次點亮并循環掃描,在第一組紅外發射管中確定發出的斜軸紅外光能夠掃描到第一縱軸的m個紅外發射管,并從應該接收到該m個紅外發射管發射出的斜軸紅外光的紅外接收管中確定未接收到該斜軸紅外光的h個紅外接收管,并根據h個紅外接收管確定向其發射斜軸紅外光的h個紅外發射管;將該h個紅外接收管中的每一個紅外接收管分別與向該紅外接收管發射斜軸紅外光的紅外發射管相連接,通過獲得的多個連線的交叉點和/或一條連線與第一橫坐標的交點確定第一實點的縱坐標;其中,斜軸紅外光是指與水平方向或垂直方向分別形成預設對稱角度的紅外光;
[0010]E、重復步驟C至步驟D,依次確定η個實點中除第一實點以外的其他n-1個實點的縱坐標。
[0011]其中,n、m、h均為正整數。
[0012]優選地,該方法還包括:通過以下步驟預先形成紅外掃描矩陣:
[0013]位于紅外觸摸屏上周邊的第一組紅外發射管中的每個紅外發射管發射出第一組紅外光。
[0014]位于紅外觸摸屏下周邊的所述第一組紅外接收管中的每個紅外接收管接收第一組紅外光。
[0015]位于紅外觸摸屏左周邊的第二組紅外發射管中的每個紅外發射管發射出第二組紅外光。
[0016]位于紅外觸摸屏右周邊的與第二組紅外發射管中的每個紅外發射管一一對應的第二組紅外接收管中的每個紅外接收管接收第二組紅外光。
[0017]位于第一組紅外發射管和第一組紅外接收管之間的第一組紅外光與位于第二組紅外發射管和第二組紅外接收管之間的第二組紅外光相互交叉形成該紅外掃描矩陣;并且,第一組紅外光的發射方向的反方向為紅外掃描矩陣的縱坐標方向,第二組紅外光的發射方向為紅外掃描矩陣的橫坐標方向。
[0018]其中,當豎直放置該紅外觸摸屏時,將紅外觸摸屏的四個周邊中與地平線平行的兩個周邊分別定義為紅外觸摸屏上周邊和紅外觸摸屏下周邊;離地平線距離大的周邊為紅外觸摸屏上周邊,離地平線距離小的周邊為紅外觸摸屏下周邊;將紅外觸摸屏的四個周邊中與地平線垂直的兩個周邊分別定義為紅外觸摸屏左周邊和紅外觸摸屏右周邊;位于左手邊的周邊為紅外觸摸屏左周邊,位于右手邊的周邊為紅外觸摸屏右周邊。
[0019]優選地,該方法還包括:
[0020]每個紅外發射管點亮的同時有三個紅外接收管選通,形成三條紅外光路,該三條紅外光路包括一條直射到與該紅外發射管相對應的紅外發射管的直射光路以及兩條與水平方向或垂直方向分別成預設的對稱角度的斜軸光路。
[0021]為了達到上述目的,本發明還提出了一種服務器觸摸屏的多實點識別系統,該系統包括:檢測模塊、確定模塊、選取模塊和掃描模塊。
[0022]檢測模塊,用于當η個外物進入紅外觸摸屏中預先形成的紅外掃描矩陣時,檢測第一組紅外接收管中的哪η個紅外接收管沒有接收到與該η個紅接收管直接相對應的第一組紅外發射管中的η個紅外發射管發射的紅外光;其中,第一組紅外發射管中的紅外發射管與第一組紅外接收管中的紅外接收管一一對應。
[0023]確定模塊,用于通過檢測出的η個紅外接收管的橫坐標和/或與檢測出的η個紅外接收管相對應的η個紅外發射管的橫坐標確定η個外物在紅外掃描矩陣中形成的η個實點的橫坐標。
[0024]選取模塊,用于選取η個實點中的第一實點所對應的第一橫坐標,并確定第一橫坐標所對應的第一紅外發射管和第一紅外接收管,確定第一橫坐標所在的第一縱軸。
[0025]掃描模塊,用于將第一組紅外發射管按照預設的順序依次點亮并循環掃描,在第一組紅外發射管中確定發出的斜軸紅外光能夠掃描到第一縱軸的m個紅外發射管,并從應該接收到該m個紅外發射管發射出的斜軸紅外光的紅外接收管中確定未接收到該斜軸紅外光的h個紅外接收管,并根據h個紅外接收管確定向其發射斜軸紅外光的h個紅外發射管;將h個紅外接收管中的每一個紅外接收管分別與向該紅外接收管發射斜軸紅外光的紅外發射管相連接,通過獲得的多個連線的交叉點和/或一條連線與第一橫坐標的交點確定第一實點的縱坐標;其中,斜軸紅外光是指與水平方向或垂直方向分別形成預設對稱角度的紅外光。
[0026]選取模塊,還用于依次確定η個實點中除第一實點以外的其他η-1個實點。
[0027]掃描模塊,還用于確定除第一實點以外的其他η-1個實點的縱坐標。
[0028]其中,n、m、h均為正整數。
[0029]優選地,該系統還包括:紅外掃描矩陣形成模塊;紅外掃描矩陣形成模塊通過以下步驟預先形成紅外掃描矩陣:
[0030]位于紅外觸摸屏上周邊的第一組紅外發射管中的每個紅外發射管發射出第一組紅外光。
[0031]位于紅外觸摸屏下周邊的所述第一組紅外接收管中的每個紅外接收管接收第一組紅外光。
[0032]位于紅外觸摸屏左周邊的第二組紅外發射管中的每個紅外發射管發射出第二組紅外光。
[0033]位于紅外觸摸屏右周邊的與第二組紅外發射管中的每個紅外發射管一一對應的第二組紅外接收管中的每個紅外接收管接收第二組紅外光。
[0034]位于第一組紅外發射管和第一組紅外接收管之間的第一組紅外光與位于第二組紅外發射管和第二組紅外接收管之間的第二組紅外光相互交叉形成該紅外掃描矩陣;并且,第一組紅外光的發射方向的反方向為紅外掃描矩陣的縱坐標方向,第二組紅外光的發射方向為紅外掃描矩陣的橫坐標方向。
[0035]其中,當豎直放置紅外觸摸屏時,將紅外觸摸屏的四個周邊中與地平線平行的兩個周邊分別定義為紅外觸摸屏上周邊和紅外觸摸屏下周邊;離地平線距離大的周邊為紅外觸摸屏上周邊,離地平線距離小的周邊為紅外觸摸屏下周邊;將紅外觸摸屏的四個周邊中與地平線垂直的兩個周邊分別定義為紅外觸摸屏左周邊和紅外觸摸屏右周邊;位于左手邊的周邊為紅外觸摸屏左周邊,位于右手邊的周邊為紅外觸摸屏右周邊。
[0036]優選地,
[0037]每個紅外發射管點亮的同時有三個紅外接收管選通,形成三條紅外光路,三條紅外光路包括一條直射到與紅外發射管相對應的紅外發射管的直射光路以及兩條與水平方向或垂直方向分別成預設的對稱角度的斜軸光路。