Loading [MathJax]/extensions/tex2jax.js

2015-02-17

Kinect v2にて骨格情報を取ってくる

Kinect v2にて骨格情報を取ってくる方法です。クラス名に変更がありますが、やり方はほぼ同じですね。
BodyFrameReader bodyFrameReader;
Body[] bodies;
private void Window_Loaded(object sender, RoutedEventArgs e){
KinectSensor kinect = KinectSensor.GetDefault();
if(kinect!=null){
kinect.Open();
// Bodyを入れる配列を作る
bodies = new Body[kinect.BodyFrameSource.BodyCount];
// ボディーリーダーを開く
bodyFrameReader = kinect.BodyFrameSource.OpenReader();
bodyFrameReader.FrameArrived += bodyFrameReader_FrameArrived;
}
void bodyFrameReader_FrameArrived(object sender, BodyFrameArrivedEventArgs e){
using (var bodyFrame = e.FrameReference.AcquireFrame()) {
if (bodyFrame == null) {
return;
}
// ボディデータを取得する
bodyFrame.GetAndRefreshBodyData(bodies);
//認識しているBodyに対して
foreach (var body in bodies.Where(b => b.IsTracked)) {
//左手のX座標を取得
System.Diagnostics.Debug.WriteLine("X="+body.Joints[JointType.HandLeft].Position.X);
}
}
}


0 件のコメント:

コメントを投稿