【问题标题】:Kinect Manipulate Skeleton DataKinect 操纵骨架数据
【发布时间】:2012-07-31 12:39:44
【问题描述】:

我有一个来自SkeletonFrameReady 事件的Skeleton skeleton。而且我有一个在窗户上画骷髅的功能,

void DrawSkeleton(Skeleton s),

它将骨架作为输入并将骨架的 2D 图像绘制到我的窗口。

现在,我想更改例如右手的 x 和 y 值,并使用相同的函数 void DrawSkeleton(Skeleton s) 将其绘制在窗口上。

但是,当我尝试执行以下操作时:

skeleton.Joints[JointType.HandRight].Position.X = 3;

它不允许我这样做:

无法修改“Microsoft.Kinect.Joint.Position”的返回值,因为它不是变量。

这可能是因为Position 不是变量,是属性。

问题:

如何复制Skeleton 对象并更改该对象上Joints 的Position 值。

【问题讨论】:

    标签: c# .net kinect


    【解决方案1】:

    是的,你可以。

    您只需创建一个新的 Position 对象并覆盖您喜欢的 Position。

    var movedPosition = new SkeletonPoint
    {
        X = (float)(mouseJoint.Position.X - 0.4),
        Y = (float)(mouseJoint.Position.Y - 0.3)
    };
    
    var movedJoint = new Joint
    {
        Position = movedPosition
    };
    

    这是一个实际项目中的示例,我们希望在不实际修改骨架的情况下纠正手的位置以调整鼠标

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多