如何自动改变kinect传感器角度?

时间:2013-04-10 07:58:07

标签: c# kinect angle elevation automatic-updates

是否可以自动更改kinect电机的仰角?

我的意思是,到现在为止我有这个代码(c#):

private void CameraAngleSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            int angle = (int)CameraAngleSlider.Value;
            KinectSensorManager.ElevationAngle = angle;
        }

我使用名为CameraAngleSlider的滑块手动更改角度。

只是一个例子:我想象当kinect开始会话时,我放在kinect前面,传感器试图调整与我位置相关的角度。

2 个答案:

答案 0 :(得分:0)

这应该是完全可能的,但是您必须手动编程并考虑到调整速度不是很快。此外,kinect传感器在调整角度时不会推送任何数据。

您有两种情况:

1)骨架已被跟踪

=&GT;当头部太靠近屏幕顶部时向上移动角度

=&GT;当头部低于屏幕高度的一半时,将角度向下移动

2)没有跟踪骨架

=&GT;你将不得不猜测..我建议上下移动角度,直到你得到一个跟踪的骨架(并在几次尝试后中止,所以它不会只是继续调整)

答案 1 :(得分:0)

根据玩家的位置,您可以在Kinect上设置没有标记或功能让它找到最佳的跟踪位置。 Kinect确实检测到剪辑,并且可以查询玩家的一部分是否在FOV之外。

允许您检测骨架剪裁的两个函数是:

根据您的应用程序的操作方式,您可以监控其中任何一个,并在检测到Skeleton剪辑时,相应地调整KinectSensor.ElevationAngle