c# - KINECT:如何使用 Kinect 识别用户何时向上或向下行走?

标签 c# kinect

我只需要创建一个控制台程序,它输出一个字符串,其中标识该人正在走上还是走下?

您知道将其用于 KINECT 的示例吗?

我是 SDK 的新手。 提前致谢。

最佳答案

查看我的博客以获取骨架关节的位置(https://naokinect.wordpress.com/2012/02/06/kinectcomment-recuperer-les-coordonnees-des-joints-dun-squelette/)

1 -> 保存人的初始位置。当用户准备好时从右脚开始位置(为此,我要求用户将右手放在头前的功能中)示例:

函数“checkuserisready”:

if(_coord[4] != null && _coord[0] != null && _coord[8] != null){
if (_coord[4].X <= _coord[8].X + 0.1 && _coord[4].X >= _coord[8].X - 0.1 
&& _coord[4].Y <= _coord[8].Y+0.1 && _coord[4].Y >= _coord[8].Y-0.1)
{
_initPos = _coord[9];

2 -> 在“checkuserisready”中创建虚拟行(实际上在用户的前面和后面):

float _anteriorSafeLine = (float)_initPos.Z - 0.2f;
float _posteriorSafeLine = (float)_initPos.Z + 0.2f;

3 -> 循环检查用户是否越线

if ((_anteriorControlLine <= _coord[9].Z) && (_coord[9].Z <= _anteriorSafeLine)){

//move forward

}

与后退安全线相同

编辑(针对以下评论):

每个_coord 是一个骨骼关节。它只是一个 Vector3 数组。

例如:

_coord[0] = new Vector3(joint.Position.X,joint.Position.Y,joint.Position.Z);

//0 -> HandLeft
//1 -> ElbowLeft
//2 -> ShoulderLeft
//3 -> hipLeft
//4 -> HandRight
//5 -> ElbowRight
//6 -> ShoulderRight
//7 -> hipRight
//8 -> Head
//9 -> FootRight

关于c# - KINECT:如何使用 Kinect 识别用户何时向上或向下行走?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9595663/

相关文章:

three.js - 如何?为 three.js 示例 webgl_kinect 从 kinect 数据创建 webm 视频

c# - 如何从kinect深度数据中确定 "real world"x,y坐标?

c# - Kinect SDK播放器检测

image - 如何改进关键点检测和匹配

c# - 创建 Silverlight 覆盖用户控件

c# - 命令模式还是策略模式更适合客户端-服务器调用?

c# - MS Chart X 轴标签重复 - 显示单个项目的多个点 [Range Bar]

c# - Kinect 中的手形指针

c# - 将 C# DateTime 转换为 MongoDB 格式

c# - 类 System.Dynamic.DynamicObject .. 为什么不抽象?