资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
谈谈NITE 2的姿势探测识别和手势探测识别主要内容姿势探测识别手势探测识别一、姿势探测识别i.i内容介绍NITE 2的姿势探测识别功能和人体骨骼跟踪一样,是由UserTra cker提供的,在NiTE 2.0版本中,提供了两种姿势:“POSE_PSI” (我称它为“投降姿势”)和“POSE_CROSS_HAND”(称之为“双 手抱胸”),除此之外,我们没办法提供自己设定的特定姿势的探测和 识别。在之前的版本中,由于“POSE_PSI”是用来做骨架跟踪校正的标 志姿势使用的,但后来NITE提供了不用校正姿势的情况下就可以进行 骨架跟踪了,所以在没有特殊使用的情况下,本人(:炎谈NITE 2与O penCV结合的第二个程序(提取人体骨骼坐标)觉得在骨骼跟踪上, 姿势的探测已然成为了多余的了;但对于使用姿势识别有关方面的研究 的,我想这个姿势探测识别应该还是重要的,没准在NITE后面的版本 中提供”自制的特定姿势“跟踪识别了。由于在NITE中主要提供的是人体跟踪和手的跟踪,而人体姿势探 测属于前者,所以姿势探测识别和人体骨骼跟踪一样,都是使用UserTracker。首先通过获得新的使用者信息;然后根据指定使用者,利用 UserTracker开始进行姿势的探测;最后根据每次探测到最新的姿势资 料,进行判定识别,以及开始我们自己需要的处理工作。1.2代码介绍同样的,直接上代码说明如何利用UserTracker进行姿势探测。#include stdafx.h#include viostream/载入NiTE头文件#include / using namespaceusing namespace std;using namespace nite;int main( int argc, char* argv )/初始化NiTE环境NiTE:initialize();/创建UserTracker跟踪器UserTracker mUserTracker;mUserTracker.create();while(true)/读取帧信息UserTrackerFrameRef mUserFrame;mUserTracker.readFrame( &mUserFrame);/通过帧信息,获得用户数据UserDataconst ArrayvUserData& aUsers = mUserFrame.getUsers();for( int i = 0; i aUsers.getSize(); + i )const UserData& rUser = aUsersi; const UserId& uID = rUser.getId();NDS );ANDS );if( rUser.isNew()cout User uID found. endl;/为每一个新用户进行姿势探测cout Start pose detection ulDvv endl;/探测uID的两种姿势mUserTracker.startPoseDetection( uID, POSE_PSI );mUserTracker.startPoseDetection( uID, POSE_CROSSED_HAelse if( rUser.isLost()cout User uID lost. endl;else/读取用户的“POSI_PS啲姿势状态const PoseData& rPosePSI = rUser.getPose( POSE_PSI );/ 当做了“POSI_PSI”时:if( rPosePSI.isEntered()cout 开始-投降姿势(PSI pose) endl;if( rPosePSI.isHeld()cout 保持-投降姿势(PSI pose) endl;/当做完了“POSI_PSI”后,双手放下时:if( rPosePSI.isExited()cout 停止投降姿势(PSI pose) endl;/同样的读取“POSE_CROSSED_HANDS”的姿势状态const PoseData& rPCH = rUser.getPose( POSE_CROSSED_Hif( rPCH.isEntered()cout 开始双手抱胸(Cross Hand pose) endl;if( rPCH.isHeld()cout 保持-双手抱胸(Cross Hand pose) endl;if( rPCH.isExited()cout 停止-双手抱胸(Cross Hand pose) pose pose pose pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pos e、 pse pse pse pse pse pse pse pose pose pose pose pose pose pose pose pose pose pose pose pose pose IGGGGSSSSSSSSSSSSSISSSSSSSSSSPPFFFFFFFFIIIIIIIIIIII II SSSSSSSSSSISS F F F F F F F F F F s F FcLe因因因却旨因却旨却旨却自自因e d 去.去.去.扌亍玄J玄J玄J玄J玄J玄宁.圭彳宁.圭彳宁.圭彳宁.玄.玉.玉.玉.玉.玉.玉.玄.去.去.去.去.去.去.了宁去去扌 se口麦浚浚投KKKKKKKKKKKKKK投投投投投投投段段段段段段投投投矗投投S - .1 - .1 - .1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - . - . - . - . - . - . - . - . . . . . . . . - . - . - . - . - . - . - . . - . . - . . - . .-r LI.一,.: 一,. 心3_ _ 4V _ _ -P5 二二二二二二11I.-.ZI - .1 - .1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - . - . - . - . - . - . - . - . H. H. H. H. H. H. H. -. -. -. -. -. -. - . - . - . - . +* I .1 I- I- I- 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. . S1 -.- -.- - - - - - - - - - - - - - - - - - - - - - - - - - - - -peJ_Qsrl - ggfll讴申peJ_ SZDqTiigigw症泪版*俅粽因川()p 七 XLUS 一dpoHS 一dptzuLUs 一竝m州祐殳4 dl sodsod6caEecpsod -邮e檢奖S淋型骰KSE 旺空s祐殳4d 1 sod 匚 sn PI ssuot; 4 CIQSOd 七 3s:QpeJ_Qsfv (W s、in 淋型册虽BS )具蚩淋型袈fc旺骰期友 OS岁刼片LUEtsnE - Eed岁粵縊旺驱m;、eWHfflis# uj eiopgldsncaoLueipe xpel SZD-哑型昼粘SI野空S oEeypelSZD-粘SI野QpelSZD删逼ON_e:-EU=LLJ_L乏-W凶LU-UNM袈恐 sgilssi、s( SQNV HnLUSSOHUdsod)淋型s、sffiK、s回艮仝代徉泪-也ossg型SW症泪版*俅縊因川()PX4S 一 艮)POHS 一opeeulus 一 1二手势探测识别2.1内容介绍在NITE中,手势探测识别主要是由HandTracker类提供的,和 UserTracker 样,HandTracker还提供的手部位置的跟踪(谈谈NI TE 2的第一个程序HandViewer和谈谈NITE 2与OpenCV结合的第 一个程序,以及谈谈NITE 2与OpenCV结合提取指尖坐标等处都做 了介绍了)。根据目前的NITE提供的手势跟踪和之前的版本个人感觉 差不多。首先都是不针对指定用户的手势识别(这点和姿势探测识别不 一样),而是针对整个界面帧信息进行分析,找到符合的手势;其次探 测识别的手势只有三个:” GESTURE_WAVE “(挥手)、” GESTURE_C LICK (手掌前推在缩回来)和GESTURE_HAND_RAISE (手举起)。 最后目前都没有提供自制的手势探测(这点和姿势探测一样)。2.2代码说明#include stdafx.h#include viostream/载入NiTE头文件#include / using namespace using namespace std;using namespace nit
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号