本發(fā)明涉及通信技術(shù)/計算機技術(shù),具體涉及多指觸控操作識別方法和設(shè)備。
背景技術(shù):
為了在不具有觸控面板的放映平面上增加觸控功能,使人機交互更加便利,人們在原有的顯示屏和投影幕上通過增加激光發(fā)射器產(chǎn)生平行于顯示屏幕的、貼屏很近的激光幕,并在屏幕前方安裝紅外攝像頭用來通過采集觸控點來獲取觸控操作的位置,將這些觸控點與操作者的操作行為建立關(guān)系,從而實現(xiàn)人機交互。
由于上述觸控裝置一般安裝在較大的平面上,例如投影平面上,在這樣尺寸的平面上,操作者通常更習(xí)慣于多指指示交互動作。
在多點觸控時,多個觸控點時其他非主要觸控點通常不是靜止不動的,這導(dǎo)致對多指觸控的交互常有誤識別的情況。
技術(shù)實現(xiàn)要素:
鑒于上述問題,本發(fā)明提出了克服上述問題或者至少部分地解決上述問題的多指觸控操作識別方法和設(shè)備。
為此目的,第一方面,本發(fā)明提出多指觸控操作識別方法接收觸控區(qū)域上的所有觸點,每個觸點具有坐標(biāo)屬性;
根據(jù)坐標(biāo)屬性對所有的觸點進行聚類,獲得第一類觸點和第二類觸點;
根據(jù)第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果。
進一步,所述根據(jù)第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果包括:
根據(jù)第一類觸點中的觸點a的運動軌跡和第二類觸點中的觸點b的運動軌跡,得到操作動作的識別結(jié)果;
觸點a與觸點b是分別來自于第一類觸點和第二類觸點中距離最近的一對觸點。
進一步,所述根據(jù)坐標(biāo)屬性對所有的觸點進行聚類,獲得第一類觸點和第二類觸點包括:
判斷所有的觸點是否可以分為2類觸點,若無法分為2類觸點,則獲取上一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的觸點的坐標(biāo)屬性能將所有觸點分為2類。
進一步,所述根據(jù)坐標(biāo)屬性對所有的觸點進行聚類,獲得第一類觸點和第二類觸點包括:
判斷所有的觸點是否可以分為2類,若無法分為2類觸點,則等待獲取下一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的觸點的坐標(biāo)屬性能將所有觸點分為2類。
進一步,所述根據(jù)第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果,包括:
根據(jù)t1時刻到t2時刻第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果;
其中,在t1時刻到t2時刻,觸點個數(shù)不變,觸點一直在觸控區(qū)域內(nèi),且觸點id不變。
第二方面,本發(fā)明還提供多指觸控操作識別設(shè)備,包括觸控輸入模塊、觸點聚類分析模塊和觸點軌跡分析模塊;
觸控輸入模塊用于接收觸控區(qū)域上的所有觸點,每個觸點具有坐標(biāo)屬性;
觸點聚類分析模塊用于根據(jù)坐標(biāo)屬性對所有的觸點進行聚類,獲得第一類觸點和第二類觸點;
觸點軌跡分析模塊用于根據(jù)第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果。
進一步,所述觸點軌跡分析模塊用于根據(jù)第一類觸點中的觸點a的運動軌跡和第二類觸點中的觸點b的運動軌跡,得到操作動作的識別結(jié)果;觸點a與觸點b是分別來自于第一類觸點和第二類觸點中距離最近的一對觸點。
進一步,所述觸點聚類分析模塊用于判斷所有的觸點是否可以分為2類觸點,若無法分為2類觸點,則獲取上一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的坐標(biāo)屬性對所有的觸點進行聚類計算獲得第一類觸點和第二類觸點。
進一步,判斷所有的觸點是否可以分為2類,若無法分為2類觸點,則等待獲取下一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的坐標(biāo)屬性對所有的觸點進行聚類計算獲得第一類觸點和第二類觸點。
進一步,所述觸點軌跡分析模塊用于根據(jù)t1時刻到t2時刻第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果;
其中,在t1時刻到t2時刻,觸點個數(shù)不變,觸點一直在觸控區(qū)域內(nèi),且觸點id不變。
由上述技術(shù)方案可知,本發(fā)明通過對輸入?yún)^(qū)域內(nèi)的多個觸點進行分類,從而正確識別產(chǎn)生控制手勢的觸點,從而根據(jù)控制手勢的觸點所對應(yīng)的軌跡準(zhǔn)確識別出對應(yīng)的手勢。前面是提供對本發(fā)明一些方面的理解的簡要發(fā)明內(nèi)容。這個部分既不是本發(fā)明及其各種實施例的詳盡表述也不是窮舉的表述。它既不用于識別本發(fā)明的重要或關(guān)鍵特征也不限定本發(fā)明的范圍,而是以一種簡化形式給出本發(fā)明的所選原理,作為對下面給出的更具體的描述的簡介。應(yīng)當(dāng)理解,單獨地或者組合地利用上面闡述或下面具體描述的一個或多個特征,本發(fā)明的其它實施例也是可能的。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的方法示意圖;
圖2為本發(fā)明的一個實施例中,觸點分布圖;
圖3為本發(fā)明的一個實施例中,觸點分布變化示意圖;
圖4-1為本發(fā)明的一個實施例中,根據(jù)觸點軌跡平移目標(biāo)的初始狀態(tài)示意圖;
圖4-2為本發(fā)明的一個實施例中,根據(jù)觸點軌跡平移目標(biāo)的最終狀態(tài)示意圖;
圖5-1為本發(fā)明的一個實施例中,根據(jù)觸點軌跡旋轉(zhuǎn)目標(biāo)的初始狀態(tài)示意圖;
圖5-2為本發(fā)明的一個實施例中,根據(jù)觸點軌跡旋轉(zhuǎn)目標(biāo)的最終狀態(tài)示意圖;
圖6-1為本發(fā)明的一個實施例中,根據(jù)觸點軌跡縮放目標(biāo)的初始狀態(tài)示意圖;
圖6-2為本發(fā)明的一個實施例中,根據(jù)觸點軌跡縮放目標(biāo)的最終狀態(tài)示意圖;
圖7為本發(fā)明的一個實施例中設(shè)備的模塊示意圖;
附圖標(biāo)記說明:
1-6為觸點;
201、觸控界面;
202、觸控區(qū)域;
30、多指觸控操作識別設(shè)備;
301、觸控輸入模塊;
302、觸點聚類分析模塊;
303、觸點軌跡分析模塊。
具體實施方式
下面將結(jié)合示例性的系統(tǒng)描述本發(fā)明。
本發(fā)的一個實施例中,是在不具有觸控面板的平面(這個平面可以是顯示屏幕,也可以是桌面等)上通過增加激光發(fā)射器產(chǎn)生平行于平面的、貼平面很近的激光幕,并在屏幕前方安裝紅外攝像頭用來通過采集觸控點來獲取觸控操作的位置,將這些觸控點與操作者的操作行為建立關(guān)系,從而實現(xiàn)人機交互。
本領(lǐng)域技術(shù)人員應(yīng)可以理解,還可以通過電容屏、電阻屏甚至是以后出現(xiàn)的其他觸控面板產(chǎn)生觸點。
本發(fā)明提供應(yīng)用于識別有多個觸點的觸控面板的多指觸控操作識別方法,該方法包括步驟:s101接收觸控區(qū)域上的所有觸點,每個觸點具有坐標(biāo)屬性;
s102根據(jù)坐標(biāo)屬性對所有的觸點進行聚類,獲得第一類觸點和第二類觸點;
s103根據(jù)第一類觸點和第二類觸點的運動軌跡,識別操作動作的。
上述觸控區(qū)域可以是整個觸控面板,也可是觸控面板的局部區(qū)域。例如圖2中觸控面板的范圍是201,即在201上都能顯示觸點,而本方法僅應(yīng)用于識別圖中觸控區(qū)域202內(nèi)的觸點事件。
在其他實施例中,也本方法也可以是應(yīng)用于處理觸控面板201中所有的觸點事件,圖2中1-6為觸點,1-6也可以作為對應(yīng)的觸點的id。
觸點是觸端(例如手指、教鞭等)作用于觸控面板后,產(chǎn)生的信號。產(chǎn)生信號的位置,即其在觸控面板中的坐標(biāo)作為對應(yīng)觸點的坐標(biāo)屬性。對于所有觸點,依次具有對應(yīng)的id(identification,識別碼),在觸點個數(shù)減少后,消除對應(yīng)的id,并在觸點個數(shù)增加時,增加新的id,新的id用于指示新增加的觸點。但在一些實施例中相同的id也可以是指示不同的觸點,例如t1時刻觸點有5個,觸點id分別為id1,id2,id3,id4,id5,在t2時刻,抬起一個觸點,此時觸點id分別為id1,id2,id4,id5,在t3時刻,放下兩個觸點,此時觸點id分別為id1,id2,id3,id4,id5,id6;可以理解的是t3時刻的id3和t1時刻的id3所指代的觸點不是同一個。
根據(jù)觸點的坐標(biāo)屬性對觸點進行聚類,即用聚類算法對觸點進行分為2類。根據(jù)第一類觸點的軌跡和第二類觸點的軌跡識別操作動作,
第一類觸點的軌跡是,在一段時間(t1到t2)內(nèi)的第一類觸點中的某一個觸點的移動軌跡;第二類觸點的軌跡是,第二類觸點中的某一個觸點在一段時間內(nèi)(t1到t2)內(nèi)的移動軌跡。
本發(fā)明通過對輸入?yún)^(qū)域內(nèi)的多個觸點進行分類,從而正確識別產(chǎn)生控制手勢的觸點,從而根據(jù)控制手勢的觸點所對應(yīng)的軌跡準(zhǔn)確識別出對應(yīng)的手勢。
上述根據(jù)控制手勢的觸點所對應(yīng)的軌跡準(zhǔn)確識別出對應(yīng)的手勢,例如可以是:在t3到t4時間內(nèi)(t1<t3<t4<t2),第一類觸點中的某一個觸點和第二類觸點中的某一點移動方向一致,則對應(yīng)識別為平移操作,如圖4-1和圖4-2所示;如果第一類觸點中的某一個觸點和第二類觸點中的某一點觸點之間的連線方向改變,則對應(yīng)識別為旋轉(zhuǎn)操作,如圖5-1和圖5-2示;如果第一類觸點中的某一個觸點和第二類觸點中的某一點觸點之間的距離變化,那么操作動作是伸縮操作,如圖6-1和圖6-2所示。如果第一類觸點中的某一個觸點和第二類觸點中的某一點觸點之間同時存在平移、旋轉(zhuǎn)、伸縮變化,那么對應(yīng)的就是一個三者的復(fù)合操作。
若在t1到t2時間內(nèi),觸點個數(shù)發(fā)生改變,即觸點個數(shù)發(fā)生增加或減少事件,則重新以觸點個數(shù)發(fā)生改變的時刻為t1,計算接下來的一段時間內(nèi)(即新的t1到t2的時刻內(nèi))觸點的軌跡。
在本發(fā)明的一個實施例中,所述根據(jù)第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果包括:
根據(jù)第一類觸點中的觸點a的運動軌跡和第二類觸點中的觸點b的運動軌跡,得到操作動作的識別結(jié)果;
觸點a與觸點b是分別來自于第一類觸點和第二類觸點中距離最近的一對觸點。
即第一類觸點的軌跡是,在一段時間(t1到t2)內(nèi)第一類觸點中的觸點a的移動軌跡;第二類觸點的軌跡是,第二類觸點中的觸點b在一段時間內(nèi)(t1到t2)內(nèi)的移動軌跡。
觸點a通常為拇指產(chǎn)生的觸點,觸點b通常為食指產(chǎn)生的觸點。
上述識別方法中,食指和拇指為主要控制點,從而排除其他手指的操作對手勢識別的干擾,從而正確識別手勢。
在本發(fā)明的一個實施例中,由于一些操作,例如縮小,在某一時刻所有的觸點距離較近,使得無法對觸點進行分類,為了正確識別手勢,在所述獲得第一類觸點和第二類觸點之前,還包括:
判斷所有的觸點是否可以分為2類觸點,若無法分為2類觸點,則獲取上一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的觸點的坐標(biāo)屬性能將所有觸點分為2類。
所述判斷所有的觸點是否可以分為2類觸點可以是通過根據(jù)坐標(biāo)屬性對所有的觸點進行聚類,根據(jù)聚類的結(jié)果是否為2類進行判斷,若為1類或2類以上,則是無法分為2類的情況。
可以理解的是,在某一刻對觸點進行分類后,對觸點的分類可以一直延續(xù),直到觸點的個數(shù)發(fā)生改變??梢岳斫獾氖?,雖然人的手指的切換可以很快,但是對于電信號來說,還是相對緩慢的,因此在手指切換的過程中,實際發(fā)生了減少觸點和增加觸點的兩個事件。
在本發(fā)明的一個實施例中沒,由于一些操作,例如放大,在某一些時刻,所有的觸點距離較近,使得無法對觸點進行分類,為了正確識別手勢,在所述獲得第一類觸點和第二類觸點之前,還包括:
判斷所有的觸點是否可以分為2類,若無法分為2類觸點,則等待獲取下一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的觸點的坐標(biāo)屬性能將所有觸點分為2類。
根據(jù)顯示設(shè)備的時鐘頻率不同或中斷事件的時間間隔不同,下一時刻距離此刻的時間間隔是不同的。
所述根據(jù)第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果,包括:
根據(jù)t1時刻到t2時刻第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果;
其中,在t1時刻到t2時刻,觸點個數(shù)不變,且觸點一直在觸控區(qū)域內(nèi)。
對于所有觸點,依次具有對應(yīng)的id,在觸點個數(shù)減少后,消除對應(yīng)的id,并在觸點個數(shù)增加時,增加新的id,新的id用于指示新增加的觸點。根據(jù)id的變化判斷觸點的變化。
如圖7所示,本發(fā)明還提供多指觸控操作識別設(shè)備30用于實現(xiàn)上述方法,其特征在于,包括觸控輸入模塊301、觸點聚類分析模塊302和觸點軌跡分析模塊303;
觸控輸入模塊301用于接收觸控區(qū)域上的所有觸點,每個觸點具有坐標(biāo)屬性;
觸點聚類分析模塊302用于根據(jù)坐標(biāo)屬性對所有的觸點進行聚類,獲得第一類觸點和第二類觸點;
觸點軌跡分析模塊303用于根據(jù)第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果。
在本發(fā)明的一個實施例中,所述觸點軌跡分析模塊303用于根據(jù)第一類觸點中的觸點a的運動軌跡和第二類觸點中的觸點b的運動軌跡,得到操作動作的識別結(jié)果;觸點a與觸點b是分別來自于第一類觸點和第二類觸點中距離最近的一對觸點。
在本發(fā)明的一個實施例中,所述觸點聚類分析模塊302用于判斷所有的觸點是否可以分為2類觸點,若無法分為2類觸點,則獲取上一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的觸點的坐標(biāo)屬性能將所有觸點分為2類。
在本發(fā)明的一個實施例中,所述觸點聚類分析模塊302判斷所有的觸點是否可以分為2類,若無法分為2類觸點,則等待獲取下一時刻的每個觸點的坐標(biāo)屬性,直到根據(jù)某一時刻的觸點的坐標(biāo)屬性能將所有觸點分為2類。
在本發(fā)明的一個實施例中,所述觸點軌跡分析模塊302用于根據(jù)t1時刻到t2時刻第一類觸點和第二類觸點的運動軌跡,得到操作動作的識別結(jié)果;
其中,在t1時刻到t2時刻,觸點個數(shù)不變,且觸點一直在觸控區(qū)域內(nèi)。
本文中使用的“至少一個”、“一個或多個”以及“和/或”是開放式的表述,在使用時可以是聯(lián)合的和分離的。例如,“a、b和c中的至少一個”,“a、b或c中的至少一個”,“a、b和c中的一個或多個”以及“a、b或c中的一個或多個”指僅有a、僅有b、僅有c、a和b一起、a和c一起、b和c一起或a、b和c一起。
術(shù)語“一個”實體是指一個或多個所述實體。由此術(shù)語“一個”、“一個或多個”和“至少一個”在本文中是可以互換使用的。還應(yīng)注意到術(shù)語“包括”、“包含”和“具有”也是可以互換使用的。
本文中使用的術(shù)語“自動的”及其變型是指在執(zhí)行處理或操作時沒有實質(zhì)的人為輸入的情況下完成的任何處理或操作。然而,即使在執(zhí)行處理或操作時使用了執(zhí)行所述處理或操作前接收到的實質(zhì)的或非實質(zhì)的人為輸入,所述處理或操作也可以是自動的。如果輸入影響所述處理或操作將怎樣進行,則視該人為輸入是實質(zhì)的。不影響所述處理或操作進行的人為輸入不視為是實質(zhì)的。
本文中使用的術(shù)語“確定”、“運算”和“計算”及其變型可以互換使用,并且包括任何類型的方法、處理、數(shù)學(xué)運算或技術(shù)。更具體地,這樣的術(shù)語可以包括諸如bpel的解釋規(guī)則或規(guī)則語言,其中邏輯不是硬編碼的而是在可以被讀、解釋、編譯和執(zhí)行的規(guī)則文件中表示。
本文中使用的術(shù)語“模塊”或“工具”是指任何已知的或以后發(fā)展的硬件、軟件、固件、人工智能、模糊邏輯或能夠執(zhí)行與該元件相關(guān)的功能的硬件和軟件的組合。另外,雖然用示例性實施方式來描述本發(fā)明,但應(yīng)當(dāng)理解本發(fā)明的各方面可以單獨要求保護。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的要素。此外,在本文中,“大于”、“小于”、“超過”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
盡管已經(jīng)對上述各實施例進行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利保護范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍之內(nèi)。