1.一种手势识别系统,其特征是,包括以下步骤:
(1)OpenNI/NITE平台下的骨骼提取;
(2)获取手部坐标;
(3)Kalman滤波器的手部追踪;
(4)识别手部起始位置;
(5)识别手部动作;
(6)触发键盘/鼠标事件控制设备。
2.根据权利要求1所述的一种手势识别系统,其特征是,上述步骤(1)中,所述骨骼提取包括以下步骤:
①获取深度图像,提取人物信息,使用OpenNI中DepthGener-ator和UserGenerator生产节点,产生深度图像和人物信息;
②根据获取的人物信息生成骨骼信息,使用NITE中预先定义的矫正用姿势“Psi”;
③当人物摆出的“Psi”姿势且NITE正确识别后,调用Skeleton进行人体骨骼的校正和分析;
④当骨骼校正成功后,对骨骼关节点追踪,通过GetSkeleton函数获取骨骼点信息;如果骨骼校正失败,则重新校正;
⑤当骨骼追踪成功后,通过OpenNI中的GetSkeletonJoint()来读取骨骼的信息。
3.根据权利要求2所述的一种手势识别系统,其特征是,上述步骤⑤中,函数具体声明如下:
XnStatus xn::Skeleton Capability::GetSkeleton Joint(XnUserID user,XnSkeletonJoint eJoint,Xn Skeleton JointTransformation&joint);其中,user为追踪的用户的ID;eJoint指定系统要追踪哪个关节。
4.根据权利要求1所述的一种手势识别系统,其特征是,上述步骤(5)中,识别手部动作的具体方法为:
将手起始位置设为原点,手的起始位置与终止位置之间的夹角在 表示在执行“向右挥手”这个动作;设当手部在同一位置停留时间超过一定时间时,该位置为手的起始位置;针对终点位置确定,与起始位置略有不同,从确定起点位置时刻算起,经过一段时间后的Kalman预测位置设为终点位置;若手势的起始位置为P1(x1,y1),结束位置为P2(x2,y2),他们之间的夹角为θ,则 通过对 与P1,P2值的判断,识别出手
势所表达的意思,系统根据识别出手部的动作,触发键盘keybd_event()或鼠标事件mouse_event(),进而实现对设备的控制。