本發(fā)明涉及觸控設(shè)備檢測(cè)技術(shù)領(lǐng)域,特別涉及一種基于體感操控應(yīng)用程序的方法和裝置。
背景技術(shù):
目前,隨著電子領(lǐng)域的發(fā)展,支持體感功能的設(shè)備越來(lái)越多,這就對(duì)支持體感功能的設(shè)備的操作提高了越來(lái)越高的要求。傳統(tǒng)技術(shù)中,上述設(shè)備對(duì)人體的動(dòng)作識(shí)別速率低,識(shí)別的準(zhǔn)確性差;再者,上述設(shè)備對(duì)多手勢(shì)操控設(shè)備的實(shí)現(xiàn)具有受限的弊端,缺乏應(yīng)用的可靠性與靈活性。
技術(shù)實(shí)現(xiàn)要素:
鑒于此,有必要針對(duì)傳統(tǒng)技術(shù)存在的問(wèn)題,提供了一種基于體感操控應(yīng)用程序的方法和裝置,能夠?qū)崿F(xiàn)對(duì)人體的動(dòng)作識(shí)別準(zhǔn)確性,且具有執(zhí)行應(yīng)用程序操控的準(zhǔn)確性、可靠性與靈活性。
為達(dá)到發(fā)明目的,提供一種基于體感操控應(yīng)用程序的方法,所述方法包括:通過(guò)設(shè)備獲取人體骨架信息,并從所述人體骨架信息中提取人體右手的坐標(biāo)信息,其中,所述人體骨架信息包括:頭部信息、肩部信息、腰部信息、腿部信息、腳部信息、手臂信息以及雙手信息,所述人體右手的所述坐標(biāo)信息通過(guò)三維坐標(biāo)的形式進(jìn)行記錄;對(duì)所述人體右手的所述坐標(biāo)信息進(jìn)行分析,判斷所述手勢(shì)狀態(tài),并記錄當(dāng)前手勢(shì)的位置,其中,所述手勢(shì)狀態(tài)包括手勢(shì)張開(kāi)狀態(tài)以及手勢(shì)握拳狀態(tài);根據(jù)所述當(dāng)前手勢(shì)的位置與相鄰的上一位置計(jì)算預(yù)選空間軸的移動(dòng)方向的位移,并對(duì)連續(xù)多個(gè)所述預(yù)選空間軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果;判斷所述計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行所述應(yīng)用程序的相應(yīng)操控操作。
在其中一個(gè)實(shí)施例中,所述通過(guò)設(shè)備獲取人體骨架信息的步驟之前包括:架設(shè)所述設(shè)備,并確定所檢測(cè)的人體。
在其中一個(gè)實(shí)施例中,確定所檢測(cè)的人體包括:默認(rèn)設(shè)置與所述設(shè)備之間的距離為最小值的人體為所檢測(cè)的人體;或若與所述設(shè)備之間的距離不為最小值,但在預(yù)設(shè)距離范圍內(nèi),則操控者通過(guò)舉起左手完成所檢測(cè)的人體的操作。
在其中一個(gè)實(shí)施例中,所述設(shè)備包括kinect體感器、深度相機(jī)的至少一種。
在其中一個(gè)實(shí)施例中,所述對(duì)連續(xù)多個(gè)所述預(yù)選空間軸的移動(dòng)方向的位移的和進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果包括:對(duì)預(yù)先獲取的連續(xù)的三個(gè)z軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算。
在其中一個(gè)實(shí)施例中,所述對(duì)所述人體右手的所述坐標(biāo)信息進(jìn)行分析包括:右手為所述手勢(shì)張開(kāi)狀態(tài),移動(dòng)到被打開(kāi)所述應(yīng)用程序位置;
右手為所述手勢(shì)握拳狀態(tài),通過(guò)調(diào)用第一預(yù)設(shè)函數(shù)執(zhí)行所述應(yīng)用程序的選定操作;
其中,所述預(yù)設(shè)函數(shù)為:
win32apimouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MO VE,DWORD dx,DWORD dy,
7,0,0);mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
其中dx,dy分別為當(dāng)前手勢(shì)光標(biāo)所在的位置坐標(biāo)。
在其中一個(gè)實(shí)施例中,所述判斷所述計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行所述應(yīng)用程序的相應(yīng)操控操作包括:當(dāng)所述計(jì)算結(jié)果大于預(yù)設(shè)閾值時(shí),則通過(guò)鼠標(biāo)雙擊操作的方式執(zhí)行所述應(yīng)用程序的打開(kāi)操作;
其中,所述鼠標(biāo)雙擊操作的方式為通過(guò)調(diào)用第二預(yù)設(shè)函數(shù)來(lái)執(zhí)行;
其中,所述第二預(yù)設(shè)函數(shù)為:win32api的
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,x,y,0,0);mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0)。
基于同一發(fā)明構(gòu)思的一種基于體感操控應(yīng)用程序的裝置,所述裝置包括:獲取與提取模塊,用于通過(guò)設(shè)備獲取人體骨架信息,并從所述人體骨架信息中提取人體右手的坐標(biāo)信息,其中,所述人體骨架信息包括:頭部信息、肩部信息、腰部信息、腿部信息、腳部信息、手臂信息以及雙手信息,所述人體右手的所述坐標(biāo)信息通過(guò)三維坐標(biāo)的形式進(jìn)行記錄;分析模塊,用于對(duì)所述人體右手的所述坐標(biāo)信息進(jìn)行分析,判斷所述手勢(shì)狀態(tài),并記錄當(dāng)前手勢(shì)的位置,其中,所述手勢(shì)狀態(tài)包括手勢(shì)張開(kāi)狀態(tài)以及手勢(shì)握拳狀態(tài);計(jì)算模塊,用于根據(jù)所述當(dāng)前手勢(shì)的位置與相鄰的上一位置計(jì)算預(yù)選空間軸的移動(dòng)方向的位移,并對(duì)連續(xù)多個(gè)所述預(yù)選空間軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果;判斷與執(zhí)行模塊,用于判斷所述計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行所述應(yīng)用程序的相應(yīng)操控操作。
在其中一個(gè)實(shí)施例中,還包括:檢測(cè)模塊,用于架設(shè)所述設(shè)備,并確定所檢測(cè)的人體。
在其中一個(gè)實(shí)施例中,所述設(shè)備包括kinect體感器、深度相機(jī)的至少一種。
本發(fā)明提供的一種基于體感操控應(yīng)用程序的方法和裝置。通過(guò)設(shè)備獲取人體骨架信息,并從人體骨架信息中提取人體右手的坐標(biāo)信息,其中,人體骨架信息包括:頭部信息、肩部信息、腰部信息、腿部信息、腳部信息、手臂信息以及雙手信息,人體右手的坐標(biāo)信息通過(guò)三維坐標(biāo)的形式進(jìn)行記錄;對(duì)人體右手的坐標(biāo)信息進(jìn)行分析,判斷手勢(shì)狀態(tài),并記錄當(dāng)前手勢(shì)的位置,其中,手勢(shì)狀態(tài)包括手勢(shì)張開(kāi)狀態(tài)以及手勢(shì)握拳狀態(tài);根據(jù)當(dāng)前手勢(shì)的位置與相鄰的上一位置計(jì)算預(yù)選空間軸的移動(dòng)方向的位移,并對(duì)連續(xù)多個(gè)預(yù)選空間軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果;判斷計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行應(yīng)用程序的相應(yīng)操控操作。該方法解決了傳統(tǒng)技術(shù)中,體感設(shè)備對(duì)手勢(shì)識(shí)別與執(zhí)行控制操作受限的弊端的問(wèn)題,實(shí)現(xiàn)了手勢(shì)操控應(yīng)用程序的可靠性與靈活性。
附圖說(shuō)明
圖1為本發(fā)明一個(gè)實(shí)施例中的一種基于體感操控應(yīng)用程序的方法的步驟流程圖;以及
圖2為本發(fā)明一個(gè)實(shí)施例中的一種基于體感操控應(yīng)用程序的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明基于體感操控應(yīng)用程序的方法和裝置進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,為一個(gè)實(shí)施例中的一種基于體感操控應(yīng)用程序的方法的步驟流程圖。具體包括以下步驟:
步驟102,通過(guò)設(shè)備獲取人體骨架信息,并從人體骨架信息中提取人體右手的坐標(biāo)信息,其中,人體骨架信息包括:頭部信息、肩部信息、腰部信息、腿部信息、腳部信息、手臂信息以及雙手信息,人體右手的所述坐標(biāo)信息通過(guò)三維坐標(biāo)的形式進(jìn)行記錄,且設(shè)備包括kinect體感器、深度相機(jī)的至少一種。
本實(shí)施例中,通過(guò)設(shè)備獲取人體骨架信息的步驟之前包括:架設(shè)設(shè)備,并確定所檢測(cè)的人體。具體的,確定所檢測(cè)的人體包括:默認(rèn)設(shè)置與設(shè)備之間的距離為最小值的人體為所檢測(cè)的人體;或若與設(shè)備之間的距離不為最小值,但在預(yù)設(shè)距離范圍內(nèi),則操控者通過(guò)舉起左手完成所檢測(cè)的人體的操作。
步驟104,對(duì)人體右手的坐標(biāo)信息進(jìn)行分析,判斷手勢(shì)狀態(tài),并記錄當(dāng)前手勢(shì)的位置,其中,手勢(shì)狀態(tài)包括手勢(shì)張開(kāi)狀態(tài)以及手勢(shì)握拳狀態(tài)。
本實(shí)施例中,對(duì)人體右手的坐標(biāo)信息進(jìn)行分析包括:右手為手勢(shì)張開(kāi)狀態(tài),移動(dòng)到被打開(kāi)應(yīng)用程序位置;右手為手勢(shì)握拳狀態(tài),通過(guò)調(diào)用第一預(yù)設(shè)函數(shù)執(zhí)行應(yīng)用程序的選定操作。
其中,預(yù)設(shè)函數(shù)為:
win32apimouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MO VE,DWORD dx,DWORD dy,
7,0,0);mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);其中dx,dy分別為當(dāng)前手勢(shì)光標(biāo)所在的位置坐標(biāo)。
步驟106,根據(jù)當(dāng)前手勢(shì)的位置與相鄰的上一位置計(jì)算預(yù)選空間軸的移動(dòng)方向的位移,并對(duì)連續(xù)多個(gè)預(yù)選空間軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果。
本實(shí)施例中,對(duì)連續(xù)多個(gè)預(yù)選空間軸的移動(dòng)方向的位移的和進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果包括:對(duì)預(yù)先獲取的連續(xù)的三個(gè)z軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算。
步驟108,判斷計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行應(yīng)用程序的相應(yīng)操控操作。
本實(shí)施例中,判斷計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行應(yīng)用程序的相應(yīng)操控操作包括:當(dāng)計(jì)算結(jié)果大于預(yù)設(shè)閾值時(shí),則通過(guò)鼠標(biāo)雙擊操作的方式執(zhí)行應(yīng)用程序的打開(kāi)操作;其中,鼠標(biāo)雙擊操作的方式為通過(guò)調(diào)用第二預(yù)設(shè)函數(shù)來(lái)執(zhí)行。其中,第二預(yù)設(shè)函數(shù)為:win32api的
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,x,y,0,0);mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0)。
本發(fā)明提供的一種基于體感操控應(yīng)用程序的方法。通過(guò)設(shè)備獲取人體骨架信息,并從人體骨架信息中提取人體右手的坐標(biāo)信息,其中,人體骨架信息包括:頭部信息、肩部信息、腰部信息、腿部信息、腳部信息、手臂信息以及雙手信息,人體右手的坐標(biāo)信息通過(guò)三維坐標(biāo)的形式進(jìn)行記錄;對(duì)人體右手的坐標(biāo)信息進(jìn)行分析,判斷手勢(shì)狀態(tài),并記錄當(dāng)前手勢(shì)的位置,其中,手勢(shì)狀態(tài)包括手勢(shì)張開(kāi)狀態(tài)以及手勢(shì)握拳狀態(tài);根據(jù)當(dāng)前手勢(shì)的位置與相鄰的上一位置計(jì)算預(yù)選空間軸的移動(dòng)方向的位移,并對(duì)連續(xù)多個(gè)預(yù)選空間軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果;判斷計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行應(yīng)用程序的相應(yīng)操控操作。該方法解決了傳統(tǒng)技術(shù)中,體感設(shè)備對(duì)手勢(shì)識(shí)別與執(zhí)行控制操作受限的弊端的問(wèn)題,實(shí)現(xiàn)了手勢(shì)操控應(yīng)用程序的可靠性與靈活性。
基于同一發(fā)明構(gòu)思,還提供了一種基于體感操控應(yīng)用程序的裝置,由于此裝置解決問(wèn)題的原理與前述一種基于體感操控應(yīng)用程序的方法相似,因此,該裝置的實(shí)施可以按照前述方法的具體步驟實(shí)現(xiàn),重復(fù)之處不再贅述。
如圖2所示,為一個(gè)實(shí)施例中的一種基于體感操控應(yīng)用程序的裝置的結(jié)構(gòu)示意圖。該基于體感操控應(yīng)用程序的裝置10包括:獲取與提取模塊200、分析模塊400、計(jì)算模塊600和判斷與執(zhí)行模塊800。
其中,獲取與提取模塊200用于通過(guò)設(shè)備獲取人體骨架信息,并從人體骨架信息中提取人體右手的坐標(biāo)信息,其中,人體骨架信息包括:頭部信息、肩部信息、腰部信息、腿部信息、腳部信息、手臂信息以及雙手信息,人體右手的坐標(biāo)信息通過(guò)三維坐標(biāo)的形式進(jìn)行記錄;分析模塊400用于對(duì)人體右手的坐標(biāo)信息進(jìn)行分析,判斷手勢(shì)狀態(tài),并記錄當(dāng)前手勢(shì)的位置,其中,手勢(shì)狀態(tài)包括手勢(shì)張開(kāi)狀態(tài)以及手勢(shì)握拳狀態(tài);計(jì)算模塊600用于根據(jù)當(dāng)前手勢(shì)的位置與相鄰的上一位置計(jì)算預(yù)選空間軸的移動(dòng)方向的位移,并對(duì)連續(xù)多個(gè)預(yù)選空間軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果;判斷與執(zhí)行模塊800用于判斷計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行應(yīng)用程序的相應(yīng)操控操作。
本實(shí)施例中,設(shè)備包括kinect體感器、深度相機(jī)的至少一種。
在一個(gè)實(shí)施例中,該基于體感操控應(yīng)用程序的裝置10還包括:檢測(cè)模塊100(圖中未示出)用于架設(shè)設(shè)備,并確定所檢測(cè)的人體。
本發(fā)明提供的一種基于體感操控應(yīng)用程序的裝置。獲取與提取模塊200通過(guò)設(shè)備獲取人體骨架信息,并從人體骨架信息中提取人體右手的坐標(biāo)信息,其中,人體骨架信息包括:頭部信息、肩部信息、腰部信息、腿部信息、腳部信息、手臂信息以及雙手信息,人體右手的坐標(biāo)信息通過(guò)三維坐標(biāo)的形式進(jìn)行記錄;再通過(guò)分析模塊400對(duì)人體右手的坐標(biāo)信息進(jìn)行分析,判斷手勢(shì)狀態(tài),并記錄當(dāng)前手勢(shì)的位置,其中,手勢(shì)狀態(tài)包括手勢(shì)張開(kāi)狀態(tài)以及手勢(shì)握拳狀態(tài);再通過(guò)計(jì)算模塊600根據(jù)當(dāng)前手勢(shì)的位置與相鄰的上一位置計(jì)算預(yù)選空間軸的移動(dòng)方向的位移,并對(duì)連續(xù)多個(gè)預(yù)選空間軸的移動(dòng)方向的位移進(jìn)行相加計(jì)算,生成計(jì)算結(jié)果;最終通過(guò)判斷與執(zhí)行模塊800判斷計(jì)算結(jié)果與預(yù)設(shè)閾值之間的關(guān)系,執(zhí)行應(yīng)用程序的相應(yīng)操控操作。該裝置解決了傳統(tǒng)技術(shù)中,體感設(shè)備對(duì)手勢(shì)識(shí)別與執(zhí)行控制操作受限的弊端的問(wèn)題,實(shí)現(xiàn)了手勢(shì)操控應(yīng)用程序的可靠性與靈活性。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。