手勢操控方法和系統的制作方法
【技術領域】
[0001]本發明涉及交互控制技術領域,特別是涉及一種手勢操控方法和一種手勢操控系統。
【背景技術】
[0002]隨著圖像識別技術的發展,手勢交互已經成為一種方便的操控智能設備的方式。在于操控界面交互時,有時需要定位屏幕光標,此時需要將手勢的空間位置轉換為操控界面的坐標,才能實現利用手勢定位屏幕光標的目的。
[0003]傳統的實現方法中,一般將用戶手勢限制在一個固定的區域內,這樣才可以方便檢測和實現空間位置與操控界面的對應關系。而當手勢落在固定區域之外時,檢測就會失效,需要重新激活一個固定區域才能讓用戶在新的位置重新進行操作,給用戶的操作帶來太多的不便。
【發明內容】
[0004]基于此,有必要提供一種可以跟蹤用戶手部位置,方便在任何可檢測區域進行操作的手勢操控方法。
[0005]此外,還提供一種手勢操控系統。
[0006]—種手勢操控方法,基于深度相機獲取手部的空間位置,包括如下步驟:
[0007]獲取操控界面的大小;
[0008]檢測手部是否處在一個預先設定的空間范圍內,若是,則將手部的空間位置映射為操作光標在操控界面中的位置;
[0009]當進行位置映射時,若檢測到手部超出所述設定空間范圍,則將所述設定空間范圍根據手部超出的大小進行相應的平移調整,并相應調整操控界面與調整后的空間范圍的映射關系。
[0010]在其中一個實施例中,還包括:
[0011 ] 根據手部的初始位置,對所述操控界面中的操作光標的起始位置進行初始化。
[0012]在其中一個實施例中,所述操作光標的起始位置位于操控界面的中心。
[0013]在其中一個實施例中,激活手勢所處的位置為所述手部的初始位置。
[0014]在其中一個實施例中,還包括:
[0015]檢測手部在設定空間范圍內的移動,并將手部在第一方向上的移動轉換為觸擊操作;其中,所述第一方向為:從遠離操作界面到靠近操作界面的方向,且手部在所述第一方向上的移動速度大于設定的閾值。
[0016]—種手勢操控系統,包括:
[0017]映射模塊,用于獲取操控界面的大小和設定空間范圍,并檢測手部是否處在一個預先設定的空間范圍內,若是,則將手部的空間位置映射為操作光標在操控界面中的位置;
[0018]映射調整模塊,用于在檢測到手部超出所述設定空間范圍時,將所述設定空間范圍根據手部超出的大小進行相應的平移調整,并相應調整操控界面與調整后的空間范圍的映射關系。
[0019]在其中一個實施例中,還包括初始化模塊;所述初始化模塊用于根據手部的初始位置,對所述操控界面中的操作光標的起始位置進行初始化。
[0020]在其中一個實施例中,所述初始化模塊將所述操作光標的起始位置置于操控界面的中心。
[0021]在其中一個實施例中,所述初始化模塊在激活手勢之后開始工作,且記錄激活手勢所處的位置為所述手部的初始位置。
[0022]在其中一個實施例中,還包括觸擊模塊;所述觸擊模塊用于檢測手部在設定空間范圍內的移動,并將手部在第一方向上的移動轉換為觸擊操作;其中,所述第一方向為:從遠離操作界面到靠近操作界面的方向,且手部在所述第一方向上的移動速度大于設定的閾值。
[0023]上述方法和系統,通過在超出邊界時調整空間范圍,可以始終讓用戶的手勢保持在一個設定大小的范圍內,使操控界面和空間范圍之間的映射更加簡單,同時也不會出現手勢因超出范圍無法檢測的情況。
【附圖說明】
[0024]圖1為一實施例的手勢操控方法流程圖;
[0025]圖2為一個設定空間范圍的示意圖;
[0026]圖3為設定空間范圍向右平移的示意圖;
[0027]圖4a?4f為手部在各個不同的方向超出設定空間范圍的情況示意圖;
[0028]圖5為另一實施例的手勢操控方法流程圖;
[0029]圖6為又一實施例的手勢操控方法流程圖;
[0030]圖7為一實施例的手勢操控系統模塊圖。
【具體實施方式】
[0031]以下結合附圖和實施例進行進一步說明。
[0032]圖1為一實施例的手勢操控方法流程圖。該手勢操控方法包括如下步驟:
[0033]步驟S101:獲取操控界面的大小。本實施例的方法可以應用于用戶與智能電視的遙控交互。此時操控界面就是智能電視的顯示界面。本實施例的方法還可以用于與其他設備的交互,例如投影儀等。操控界面的大小一般用顯示的像素數(或者圖像分辨率)來表示,圖像分辨率一般會受限于顯示器的物理分辨率。操作界面上的任一位置都可以用圖像上的像素的位置來表示。
[0034]獲取操控界面的大小,實際上就是獲取操控界面上的像素范圍。
[0035]步驟S102:檢測手勢在設定空間范圍內的空間位置,并將手勢的空間位置映射為操作光標在操控界面中的位置;所述設定空間范圍與操控界面的大小對應。
[0036]設定空間范圍是指三維空間的一個區域,通常可選取為一個塊狀區域。參考圖2。當用戶的手勢在圖2所示的設定空間范圍移動時,手勢的運動可以分解為XYZ三個方向上的分量。
[0037]在將手勢的空間位置映射為操作光標在操控界面中的位置時,可以忽略Z軸分量。手勢在X軸上的位移就映射到操控界面的橫向位移,手勢在Y軸上的位移就映射到操控界面的縱向位移。
[0038]所述設定空間范圍與操控界面的大小對應,具體是指,XY截面的大小與操控界面的大小對應。可以使XY截面的高寬比與操控界面的高寬比相同。例如當前顯示分辨率為1024X768,則可設置XY截面的尺寸為1024cmX 768cm。
[0039]這樣,當用戶手勢在設定空間范圍內、在X軸方向上移動1cm時,操控界面上對應在橫向上移動一個像素的距離。可以理解,XY截面的尺寸還可以是其他類似的設置,而操控界面與XY截面之間的映射關系則相應調整。
[0040]步驟S103:檢測手勢是否超出所述設定空間范圍,若是,則執行步驟S104 ;否則返回步驟S102。
[0041]—般地,前述設定空間范圍是以一個初始的手勢位置為參照生成的,例如以初始的手勢位置為中心擴展為一個塊狀區域。設定空間范圍確定后就不再變動。用戶在做出手勢時,則可能超出該設定空間范圍。當超出設定空間范圍時,按照原有的、操控界面與設定空間范圍之間的對應關系,就不再能夠正確地定位操作光標,此時需要進一步處理,執行步驟 S104。
[0042]步驟S104:將所述設定空間范圍根據手勢超出的大小進行相應的平移調整,并相應調整操控界面與調整后的空間范圍的映射關系。
[0043]參考圖3,將初始的設定空間范圍稱為第一空間范圍100,平移調整后的空間范圍稱為第二空間范圍200。具體的調整方式為,若手勢超出第一空間范圍100的縱向邊界,則以手勢超出的距離d,將第一空間范圍100橫向平移距離d,得到第二空間范圍200,具體可參考圖3 ;類似的,若手勢超出第一空間范圍100的橫向邊界,則以手勢超出的距離d,將第一空間范圍100縱向平移距離d,得到第二空間范圍200。
[0044]第二空間范圍200在空間位置上、以第一空間范圍100為基礎發生了整體的移動,因此,操控界面與第一空間范圍100之間原有的映射關系不再有效,需要調整為與第二空間范圍200之間的映射關系。
[0045]如圖4a?4f,當進行操作時,手勢可能會在各個方向(前、后、上、下、左、右)上超出設定空間范圍,此時都參照上述方法重新調整設定空間范圍,使該空間范圍跟隨手部移動。圖4a為向后收回手臂超出范圍的情況;圖4b是向前推出手臂超出范圍的情況;圖4c為向上移動手部超出范圍的情況;圖4d是向下移動手部超出范圍的情況;圖4e為向右移動手部超出范圍的情況;圖4f是向左移動手部超出范圍的情況。可以理解,非上述標準移動方向的移動均可以分解為上述標準移動,從而使得該設定空間范圍始終跟隨手部,使手部保持處于該設定空間沮圍內。
[0046]當手部持續往設定空間的邊緣外部移動時,屏幕光標始終停留在屏幕的邊緣。
[0047]上述方法,可以始終讓用戶的手勢保持在一個設定大小的范圍內,使操控界面和空間范圍之間的映射更加簡單,同時也不會出現手勢因超出范圍無法檢測的情況。
[0048]圖5為另一實施例的手勢操控方