小编Des*_*tro的帖子

使用Kinect v2查找胸部尺寸

我需要找到任何使用Kinect的人在面对镜头时的胸部前部尺寸.我目前的解决方案是:

  1. 当MultiFrameSource到达时获取颜色(以显示ui中的主体)主体(获取关节)和bodyIndex帧.

  2. 使用以下方法将BodyIndexFrame复制到byte [] _bodyData:

    bodyIndexFrame.CopyFrameDataToArray(_bodyData);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我得到了Joint对象:spineShoulder和spineMid.我认为胸部总是在这些点之间.

  4. 我通过使用将两个关节转换为CameraSpacePoint(x,y,z)并从CameraSpacePoint转换为DepthSpacePoint(x,y)

    _sensor.CoordinateMapper.MapCameraPointToDepthSpace(jointPosition);
    
    Run Code Online (Sandbox Code Playgroud)

我仍然保留对spineShoulder的z值的引用.

  1. 第二个假设=> 从spineShoulderY开始到spineMidY我试图找到播放器区域中最宽的点.为了做到这一点,我将尝试找到spineShoulderX和找到的第一个不属于玩家的左边区域之间的最长段,以及发现不属于玩家的spineShoulderX和第一个右侧区域之间的最长段.找到的两个x段必须位于相同的y坐标中.

    /***************
     * Returns the distance between 2 points
     */
    private static int getDistanceToMid(int pointX, int midX)
    {
        if (midX > pointX)
        {
            return (midX - pointX);
        }
        else if (pointX > midX)
        {
            return (pointX - midX);
        }
        else
        {
            return 0;
        }
    }
    
    
    /*********
     * Loops through the bodyData array 
     * It will look for the longest x distance from midX to the last left …
    Run Code Online (Sandbox Code Playgroud)

c# coordinates measure kinect

21
推荐指数
1
解决办法
1133
查看次数

标签 统计

c# ×1

coordinates ×1

kinect ×1

measure ×1