随风飞世 发表于 2018-6-15 09:48:24

Kinect for windows的重力感应和角度马达


  上图是Kinect的重力感应方向图,Kinect右边为X正方向,最大值为1,反方向为-1,Kinect下方为Y正方向,最大值为1,反方向为-1,Kinect后面为Z正方向,最大值为1,反方向为-1。
获取重力值的代码如下:
  


[*] //kinectsensor为连接的Kinect设备对象
[*]if (kinectsensor != null)
[*]{
[*]    Vector4 v4 = kinectsensor.AccelerometerGetCurrentReading();
[*]    this.label3.Text ="   X:" + v4.X + "   Y:" + v4.Y + "   Z:" + v4.Z;
[*]}
  


重力感觉主要是让程序获取Kinect所放置的环境,好来调整获取的骨骼坐标,让数据更准确。

Kinect在垂直方向上可以上下各调27度,可以通过调整Kinect的马达来实现,这样可以增加Kinect在垂直方向的角度。代码如下:
  


[*]//kinectsensor为连接的Kinect设备对象
[*]if (kinectsensor != null)
[*]   {
[*]       kinectsensor.ElevationAngle = Convert.ToInt32(this.trackBar1.Value); //注意赋的值为-25到25的整数,trackBar1为一个最大值为25,最小值为-25,步长为1的一个TrackBar控件
[*]       System.Threading.Thread.Sleep(1350); //马达的调整最好要间隔一段时间,通常大于1350毫秒
[*]}
页: [1]
查看完整版本: Kinect for windows的重力感应和角度马达