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]