上图是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毫秒
- }
本文转自桂素伟51CTO博客,原文链接: http://blog.51cto.com/axzxs/1184767
,如需转载请自行联系原作者