專利名稱:一種基于多點觸摸的圖像操作交互系統及方法
技術領域:
本發明涉及觸摸屏應用技術領域,特別涉及一種基于多點觸摸的圖像操作交互系
統及方法。
背景技術:
目前,多點觸摸技術正迅速應用于人們的日常生活中,如蘋果公司的多點觸摸PC 以及windows 7操作系統對多點觸摸的支持。由于多點觸摸技術具有很好的互動性及直觀 性,而且還具有操作便捷等優點,且尤其適用于圖形演示系統,使得人們對多點觸摸技術的 需求日趨迫切。 但是當前的多點觸摸技術僅適用于Mac系統及Windows 7操作系統,該項技術封 裝集成在特定版本的操作系統內核中,是操作系統的一部分,無法進行單獨的安裝和卸載, 需要通過操作系統提供的已有的系統函數對多點觸摸功能進行調用,比如一臺windows XP 系統就無法使用多點觸摸技術,由于windows,mac系統的內核機制與Li皿x不同,目前已有 的多點觸摸交互技術完全無法適用于當前應用廣泛的Li皿x操作系統,而Li皿x系統下的 X Window系統如今日趨成熟,圖形界面不斷完善,演示功能的不斷加強,加上Li皿x的開放 性和低成本的優勢,人們迫切需要一種能夠適用于多種操作系統的實現多點觸摸交互的方 法。
發明內容
根據上述現有技術中存在的問題,本發明的目的在于提供一種能夠適用于多種操 作系統中的基于多點觸摸的圖像操作交互系統及方法。
為達到上述目的,本發明采用以下技術方案
—種基于多點觸摸的圖像操作交互系統,其包括 觸摸屏設備,用于顯示圖像,并接收用戶的多個觸摸點的觸摸指令,獲取各觸摸點 的物理坐標并生成對應的代碼,每隔第一時間周期發送其生成的代碼; 內核驅動模塊,用于根據所述觸摸屏設備發送代碼的時間周期采集所述觸摸屏設 備生成的代碼并進行運算分析,根據運算分析的結果產生對應的消息碼,發送所述消息碼 至圖像處理模塊; 圖像處理模塊,用于根據接收到的消息碼,對所述觸摸屏設備當前顯示的圖像進 行對應的圖像處理操作。 進一步地,所述內核驅動模塊包括 數據讀取單元,用于每隔第一時間周期采集所述觸摸屏設備生成的代碼并發送給 坐標分析及消息產生單元; 坐標分析及消息產生單元,用于每隔第二時間周期運算分析所述數據讀取單元采 集到的代碼,根據所述坐標分析單元運算分析的結果,產生對應的消息碼;
消息發送單元,用于發送所述消息碼。
該系統還包括通信接口,其用于將所述內核驅動模塊中的消息發送單元發送的消 息碼傳送給所述圖像處理模塊。 所述圖像處理模塊具體包括消息接收單元,用于接收所述通信接口傳送過來的 消息碼;存儲單元,用于存儲不同消息碼對應的消息,所述消息與圖像處理單元一一對應; 消息分析單元,用于對所述接收到的消息碼進行分析,從所述存儲單元中查找到對應的消 息,并調用該消息所對應的圖像處理單元;圖像處理單元,用于對觸摸屏設備當前顯示的圖 像進行相應的處理。 本發明還提供了一種基于多點觸摸的圖像操作交互方法,其包括以下步驟
A、觸摸屏設備顯示圖像,并接收用戶的多個觸摸點的觸摸指令,獲取各觸摸點的 物理坐標并生成對應的代碼,每隔第一時間周期發送其生成的代碼;
B、每隔第一時間周期采集一次觸摸屏設備生成的代碼; C、分析所述觸摸屏設備生成的代碼,根據分析運算的結果產生不同的消息碼;
D、根據接收到的消息碼,對所述觸摸屏設備當前顯示的圖像進行對應的圖像處理 操作。 根據上述本發明的一種基于多點觸摸的圖像操作交互系統及方法,由于采用了內 核驅動模塊進行觸摸點物理坐標數據采集,并根據采集的數據進行分析運算產生相應的消 息,再根據消息調用對應的圖像處理模塊來實現多點觸摸的圖像操作,不需要依賴操作系 統中的其他函數或處理模塊;使得本發明能夠適用于多種操作系統中。
圖1是本發明的一種基于多點觸摸的圖像操作交互系統的系統結構示意圖;
圖2是本發明觸摸屏的坐標分布示意圖; 圖3是本發明的一種基于多點觸摸的圖像操作交互系統在一種實施方式中的結 構示意圖; 圖4是圖3中存儲單元的具體示意圖; 圖5是本發明的一種基于多點觸摸的圖像操作交互方法的流程圖。
具體實施例方式
圖1是本發明的一種基于多點觸摸的圖像操作交互系統的系統結構示意圖,該系 統涉及一種Li皿xOS下X Window系統基于紅外定位觸摸屏利用多點觸摸進行人機交互 的方法,適用于X Window系統下利用多點觸摸進行圖形演示。可以應用于當前安裝了X Window系統的多種Linux版本。 本發明的一種基于多點觸摸的圖像操作交互系統,其包括 觸摸屏設備l,用于顯示圖像,并接收用戶的多個觸摸點的觸摸指令,獲取各觸摸 點的物理坐標并生成對應的代碼;一般來說,用戶習慣用兩根手指來進行兩點觸摸操作, 比如兩個觸摸點分開、兩個觸摸點合攏、觸摸點快速水平滑動、一點固定另一點繞其旋轉等 等;觸摸屏可以選用紅外觸摸屏;觸摸屏設備根據各觸摸點的物理坐標生成的代碼為一串 16進制碼,每隔特定的時間周期將該16進制碼發送給內核驅動模塊3,大約可以是16毫秒 發送一次;當同時只有兩個觸摸點時,16進制碼中就包含第一觸摸點和第二觸摸點在觸摸屏上的坐標即兩點的物理坐標;參考圖2,觸摸屏的水平方向是橫坐標X,垂直方向是縱坐 標Y,觸摸屏的左上頂點的坐標即為(0,0); 內核驅動模塊3,用于每隔特定的時間周期采集一次上述觸摸屏設備生成的16進 制碼,該采集的時間周期與上述觸摸屏設備1發送16進制碼的周期同步,同時,每隔一段時 間,大約O. 5秒一次,對采集到的16進制碼進行運算分析,根據運算分析的結果產生對應的
消息碼,例如1、2、3......;消息碼代表對應的消息,不同的消息又對應不同的圖像操作類
型; 通信接口 4,用于將所述內核驅動模塊3產生的消息碼發送給應用層的圖像處理 模塊5 ;該通信接口可以利用li皿x提供的netlink通信機制,netlink是li皿x下內核驅 動模塊與應用層通信的一種方法,利用netlink通信機制可以直接向應用程序發送特定數 值來進行控制操作;netlink socket是一種通用的簡單的內核空間與用戶空間進行通信的 方法,還有內核啟動參數,模塊參數和sysfs (procfs) , sysctl, ioctl均可實現內核空間與 用戶空間的通信接口,但其他的方法使用起來不如netlink簡單方便,通用性也不好,還有 一些制約條件,所以本發明選擇netlink來實現通信交互的功能。 圖像處理模塊5,用于根據接收到的消息碼,對所述觸摸屏當前顯示的圖像進行對 應的圖像處理操作,該模塊可以通過特定的圖像處理程序來實現,屬于應用層,是配合內核 驅動模塊的一個特定應用程序,它是一個可執行文件。 本發明在li皿x系統下編寫了特定的驅動,即本發明的內核驅動模塊3,用此模塊 接收觸摸屏數據和進行處理,對于現有的li皿x系統,只需安裝該內核驅動模塊即可。通過 使用本發明,將多點觸摸技術首次應用到Li皿xOS下X Window系統中,無需Linux系統內 核對多點觸摸提供函數支持,滿足了人們對X Window系統多點觸摸交互的需要,可方便的 應用于Li皿xOS下X Window系統中進行多點觸摸圖像演示。同時,通過使用本發明,使得 多點觸摸技術不再局限于windows, mac等操作系統,擴展了該項技術的使用平臺。并且由 于無需安裝配套功能組件,只需安裝內核驅動(內核驅動模塊)即可,加之Li皿x系統相對 其他系統更具有開放性,低成本性,此項發明可大大降低此項技術的使用成本。僅需一條命 令加載即可安裝,因此安裝方便,簡單。另外,由于本發明中的內核驅動模塊不屬于操作系 統內核,因此不需要用的時候可以進行卸載,多點功能即失效,便于用戶操作。
以下列舉一個上述內核處理模塊3的具體實現方式,參考圖3,圖1中的內核驅動 模塊3具體可以包括以下單元 數據讀取單元34,該單元每隔一段時間采集一次觸摸屏設備上由觸摸點的物理坐 標生成的16進制碼,比如每隔0. 5秒采集一次兩個觸摸點的物理坐標生成對應的16進制 碼; 坐標分析單元31,用于運算分析所述數據讀取單元34采集的16進制碼; 消息產生單元32,用于根據所述坐標分析單元31運算分析的結果,產生對應的消
息碼; 消息發送單元33,用于將所述消息產生單元32產生的消息碼發送給所述通信接 □。 舉例說明,如果數據讀取單元采集到的16進制碼中包括兩個觸摸點的物理坐標, 則坐標分析單元計算第一組兩個觸摸點之間的第一物理距離,隔0. 5秒以后再計算當前采集到的兩個觸摸點之間的第二物理距離,判斷第二物理距離減去第一物理距離的差是大于 零還是小于零,若小于零則消息產生單元產生第一消息碼l,若大于零則產生第二消息碼 2 ; 判斷第二觸摸點的水平坐標是否比第一觸摸點的水平坐標大,如果是若第一觸 摸點的物理坐標不變,第二觸摸點的縱坐標在第一時間周期(比如0. 5秒)前后增大的值 大于某一特定值(該特定值可以預先設定,比如2或3cm),則發送第三消息碼3 ;若第二觸 摸點的縱坐標在第一時間周期(比如0.5秒)前后減小的值大于某一特定值,則發送第四 消息碼4; 如果數據讀取單元采集到的代碼中只包括一個觸摸點的物理坐標,坐標分析單元 判斷0. 5秒前后采集到的觸摸點的物理坐標的水平坐標值是增大還是減小,若水平坐標值 增大的值大于某一設定值(該設定值可以預先設定,比如1cm或2cm或3cm)則發送第五消 息碼5,若水平坐標值減小的值大于某一設定值(比如1cm或2cm或3cm)則發送第六消息 碼6 ; 同樣,為了方便用戶更加清晰的理解本發明,以下是圖像處理模塊5的一個具體 實施例,該圖像處理模塊5具體包括以下單元 消息接收單元51,用于接收所述通信接口傳送過來的消息碼;
存儲單元52,用于存儲不同消息碼對應的消息及對應的圖像處理單元54 ;參考圖 4,圖中顯示了不同消息所對應的圖像處理功能,例如,消息X1兩觸摸點分開,對應的圖像 處理功能為放大圖像531 ;消息X2兩觸摸點合攏,對應的圖像處理功能為縮小圖像532 ;消 息X3觸摸點迅速向右滑動,對應的圖像處理功能為顯示下一張圖片533 ;消息X4觸摸點迅 速向左滑動,對應的圖像處理功能為顯示上一張圖片534 ;消息X5先固定一觸摸點另一點 繞其順時針旋轉,對應的圖像處理功能為順時針旋轉圖片535,消息X6先固定一觸摸點另 一點繞其逆時針旋轉,對應的圖像處理功能為逆時針旋轉圖片536 ; 消息分析單元53,用于對所述接收到的消息碼進行分析,從所述存儲單元中查找 到對應的消息,并調用該消息所對應的圖像處理單元;例如,若收到第一消息碼則對所述觸 摸屏設備當前顯示的圖像進行圖像縮小處理;若收到第二消息碼則對所述觸摸屏設備當前 顯示的圖像進行圖像放大處理;若收到第三消息碼則對所述觸摸屏設備當前顯示的圖像進 行順時針旋轉;若收到第四消息碼則對所述觸摸屏設備當前顯示的圖像進行逆時針旋轉; 若收到第五消息碼則讓所述觸摸屏設備顯示下一張圖片;若收到第六消息碼則讓所述觸摸 屏設備顯示上一張圖片。 圖像處理單元54,用于對觸摸屏當前顯示的圖像進行相應的處理。包括圖像放大 縮小處理、旋轉處理等。 參考圖5,本發明提供的一種基于多點觸摸的圖像操作交互方法,該方法可以皆由 上述的基于多點觸摸的圖像操作交互系統實現,可以通過其他具有類似功能的圖像操作交 互系統來實現,通過該方法可以實現通過多點觸摸手勢對圖片顯示進行操作,完成圖片的 放大,縮小,切換到前(后) 一張圖片,順時針旋轉,逆時針旋轉等操作。該方法包括以下步 驟 S101、觸摸屏設備顯示圖像,并接收用戶的多個觸摸點的觸摸指令,獲取各觸摸點 的物理坐標并生成對應的代碼;每隔一段特定的時間周期發送一次上述代碼;大約可以是16毫秒發送一次; S102、每隔一段特定的時間周期(與觸摸屏設備發送代碼的時間周期同步)采集 一次觸摸屏上由各個觸摸點的物理坐標生成的代碼; S103、分析代碼中各個觸摸點的物理坐標,根據物理坐標的變化產生不同的消息 碼; S104、根據接收到的消息碼,對所述觸摸屏當前顯示的圖像進行對應的圖像處理 操作。 具體地,在內核驅動模塊中加入坐標分析及產生消息的功能,將采集到的物理坐 標進行分析,根據兩個觸摸點物理坐標值的變化產生不同的消息,通過通信接口與圖像處 理模塊進行交互通信,將分析產生出的消息發送至圖像處理模塊中的圖形顯示應用程序, 由圖形顯示應用程序完成對消息的接收和處理。 當兩點同時觸摸操作時,內核驅動模塊對接收到的紅外觸摸屏設備發送上來的16 進制碼進行分析,分析出兩觸摸點的物理坐標(紅外觸摸屏中的坐標),第一點物理坐標為 先觸摸紅外觸摸屏設備的那點產生的物理坐標,第二點物理點坐標為后觸摸紅外觸摸屏設 備的那點產生的物理坐標(兩點的物理坐標包含在16進制數據碼的不同位中,第一觸摸點 和第二觸摸點可根據16進制數據碼進行判斷區分)。 對第一觸摸點和第二觸摸點的物理坐標進行邏輯判斷,通過兩點物理坐標計算兩 點之間的距離,并記錄該距離數值,每0. 5秒記錄一次距離數值,并與上一次記錄的距離數 值進行比較,當距離數值大于前0. 5秒記錄的數值則向圖形顯示應用程序(圖像處理單元) 發送對圖片進行放大操作的自定義指令碼,圖形顯示應用程序收到該碼后,對當前顯示圖 片放大一定比例,若兩觸摸點距離持續加大,圖片將持續放大。相反,若兩觸摸點距離縮小, 則對圖片進行縮小操作。 當第一個觸摸點(此操作只需單點即可)快速向右滑動,根據物理坐標判斷是否 在一時間內滑動的距離大于一個設定值(比如lcm或2cm或3cm),若是則發送顯示下一張 圖的指令碼,圖形顯示應用程序收到后切換顯示下一張圖,同理向左快速滑動切換顯示上 一張圖。 若第一觸摸點固定不動,第二觸摸點在第一點右側快速下滑,發送給圖形顯示應 用程序順時針旋轉指令;若第一觸摸點固定不動,第二觸摸點在第一點右側快速上滑,此 時則發送給圖形顯示應用程序逆時針旋轉指令,圖形顯示應用程序收到后進行相應圖形操 作,發送的指令碼均由內核驅動模塊定義,并對兩點物理坐標比較判斷后決定發送何種指 令操作。 圖形顯示應用程序可以通過Li皿x下gtk組件自行開發,具備顯示圖片、放大縮小 圖片、切換顯示前一張(后一張)圖片、順時針(逆時針)旋轉圖片的功能,在圖形顯示應 用程序中通過Li皿x提供的netlink技術創建配合內核驅動的通信接口,使兩者可以相互 通信,圖形顯示應用程序不斷監聽內核驅動通過兩者的通信接口發送過來的自定義的消息 碼。 本發明與現有技術相比,具有如下優點和有益效果 1、將多點觸摸技術首次應用到Li皿xOS下X Window系統中,無需Li皿x系統內核 對多點觸摸提供函數支持,滿足了人們對X Window系統多點觸摸交互的需要,可方便的應用于Li皿xOS下X Window系統中進行多點觸摸圖像演示。 2、使得多點觸摸技術不在局限于windows、 mac等操作系統,擴展了該項技術的使 用平臺。 3、使用成本低,無需安裝配套功能組件,只需安裝內核驅動(內核驅動模塊)即 可,加之Linux系統相對其他系統更具有開放性和低成本性,此項發明可大大降低使用成 本。安裝方便簡單,僅需一條命令加載即可。 以上所述的本發明實施方式,并不構成對本發明保護范圍的限定。任何在本發明 的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發明的權利要求保護范 圍之內。
權利要求
一種基于多點觸摸的圖像操作交互系統,其特征在于該系統包括觸摸屏設備,用于顯示圖像,并接收用戶的多個觸摸點的觸摸指令,獲取各觸摸點的物理坐標并生成對應的代碼,每隔第一時間周期發送其生成的代碼;內核驅動模塊,用于根據所述觸摸屏設備發送代碼的時間周期采集所述觸摸屏設備生成的代碼并進行運算分析,根據運算分析的結果產生對應的消息碼,發送所述消息碼至圖像處理模塊;圖像處理模塊,用于根據接收到的消息碼,對所述觸摸屏設備當前顯示的圖像進行對應的圖像處理操作。
2. 根據權利要求1所述的基于多點觸摸的圖像操作交互系統,其特征在于,所述內核 驅動模塊包括數據讀取單元,用于每隔第一時間周期采集所述觸摸屏設備生成的代碼并發送給坐標 分析及消息產生單元;坐標分析及消息產生單元,用于每隔第二時間周期運算分析所述數據讀取單元采集到 的代碼,根據所述坐標分析單元運算分析的結果,產生對應的消息碼;消息發送單元,用于發送所述消息碼。
3. 根據權利要求2所述的基于多點觸摸的圖像操作交互系統,其特征在于,還包括通 信接口,其用于將所述內核驅動模塊中的消息發送單元發送的消息碼傳送給所述圖像處理 模塊。
4. 根據權利要求3所述的基于多點觸摸的圖像操作交互系統,其特征在于,所述通信 接口通過netlink socket機制將所述消息碼傳送至所述圖像處理模塊。
5. 根據權利要求4所述的基于多點觸摸的圖像操作交互系統,其特征在于,所述圖像 處理模塊具體包括消息接收單元,用于接收所述通信接口傳送過來的消息碼;存儲單元,用于存儲不同消息碼對應的消息,所述消息與圖像處理單元一一對應; 消息分析單元,用于對所述接收到的消息碼進行分析,從所述存儲單元中查找到對應 的消息,并調用該消息所對應的圖像處理單元;圖像處理單元,用于對觸摸屏設備當前顯示的圖像進行相應的處理。
6. —種基于多點觸摸的圖像操作交互方法,其特征至于包括A、 觸摸屏設備顯示圖像,并接收用戶的多個觸摸點的觸摸指令,獲取各觸摸點的物理 坐標并生成對應的代碼;每隔第一時間周期發送其生成的代碼;B、 每隔第一時間周期采集一次觸摸屏設備生成的代碼;C、 分析所述觸摸屏設備生成的代碼,根據分析運算的結果產生不同的消息碼;D、 根據接收到的消息碼,對所述觸摸屏設備當前顯示的圖像進行對應的圖像處理操作。
7. 根據權利要求6所述的基于多點觸摸的圖像操作交互方法,其特征在于,所述步驟 A之后步驟B之前還包括以下步驟所述觸摸屏設備每隔特定的時間周期發送其生成的代碼。
8. 根據權利要求7所述的基于多點觸摸的圖像操作交互方法,其特征在于,所述步驟C 具體包括如果采集到的代碼中包括兩個觸摸點的物理坐標,則計算第一組兩個觸摸點之間的第 一物理距離,隔第二時間周期以后再計算當前采集到的兩個觸摸點之間的第二物理距離, 判斷第二物理距離減去第一物理距離的差是大于零還是小于零,若小于零則發送第一消息 碼,若大于零則發送第二消息碼;如果采集到的代碼中包括兩個觸摸點的物理坐標,判斷第二觸摸點的水平坐標是否比 第一觸摸點的水平坐標大,如果是若第一觸摸點的物理坐標不變,且第二觸摸點的縱坐標 在第二時間周期前后增大的值大于某一特定值,則發送第三消息碼;若第一觸摸點的物理 坐標不變,第二觸摸點的縱坐標在第二時間周期前后減小的值大于某一特定值,則發送第 四消息碼;如果采集到的代碼中只包括一個觸摸點的物理坐標,判斷第二時間周期前后采集到的 觸摸點的物理坐標的水平坐標值是增大還是減小,若水平坐標值增大的值大于某一設定值 則發送第五消息碼,若水平坐標值減小的值大于某一設定值則發送第六消息碼;所述步驟D具體為,若收到第一消息碼則對所述觸摸屏設備當前顯示的圖像進行圖像 縮小處理;若收到第二消息碼則對所述觸摸屏設備當前顯示的圖像進行圖像放大處理;若 收到第三消息碼則對所述觸摸屏設備當前顯示的圖像進行順時針旋轉;若收到第四消息碼 則對所述觸摸屏設備當前顯示的圖像進行逆時針旋轉;若收到第五消息碼則讓所述觸摸屏 設備顯示下一張圖片;若收到第六消息碼則讓所述觸摸屏設備顯示上一張圖片。
全文摘要
本發明提供了一種基于多點觸摸的圖像操作交互系統,該系統包括觸摸屏設備,用于顯示圖像,并接收用戶的多個觸摸點的觸摸指令,獲取各觸摸點的物理坐標并生成對應的代碼;每隔第一時間周期發送其生成的代碼;內核驅動模塊,用于根據觸摸屏設備發送代碼的時間周期采集觸摸屏設備生成的代碼并進行運算分析,根據運算分析的結果產生對應的消息碼,發送消息碼至圖像處理模塊;圖像處理模塊,用于根據接收到的消息碼,對觸摸屏設備當前顯示的圖像進行對應的圖像處理操作。本發明還提供了一種基于多點觸摸的圖像操作交互方法。本發明能夠適用于多種操作系統中,尤其適用于LinuxOS下XWindow系統。
文檔編號G06F3/048GK101719046SQ20091019431
公開日2010年6月2日 申請日期2009年11月30日 優先權日2009年11月30日
發明者周曉旭 申請人:廣東威創視訊科技股份有限公司