C#中配置kinect以及使用

C#中配置kinect以及使用
网上C++与kinect之间配置文章很多,但C#相关资料很少,这里说明其之间的配置以及如何调用。
首先下载kinect2.0SDK,下载地址 http://pan.baidu.com/s/1hsFqGPe。
下载完成后打开VS,点击添加引用

后点击搜索


这时,在代码中添加 using Microsoft.Kinect即完成kinect环境的配置,下面测试配置是否完成。
上一个控制台代码,新建控制台程序将此代码拷贝进去测试配置是否完成。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Kinect;
using System.Threading.Tasks;

namespace CsharpKinect
{
    class Program
    {
        static void Main(string[] args)
        {
            //控制台背景色
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            KinectSensor kinectSensor = KinectSensor.GetDefault();//获得传感器
            //开帧阅读
            DepthFrameReader depthFrameReader = kinectSensor.DepthFrameSource.OpenReader();
            //开帧描述
            FrameDescription depthFrameDescription = kinectSensor.DepthFrameSource.FrameDescription;
            //帧到达
            depthFrameReader.FrameArrived += depthFrameReader_FrameArrived;
            kinectSensor.Open();
            while(Console.ReadKey().Key!=ConsoleKey.Enter)
            {
                
            }
            kinectSensor.Close();
        }
        static void depthFrameReader_FrameArrived(object sender, DepthFrameArrivedEventArgs e)
        {
            using (DepthFrame df = e.FrameReference.AcquireFrame())
            {
                if (df != null)
                {
                    ushort[] dfdata = new ushort[512 * 424];
                    df.CopyFrameDataToArray(dfdata);
                    int i = 0;
                    foreach(short pix in dfdata)
                    {
                        Console.Write("第"+i + "个:");
                        Console.Write(pix);
                        i++;
                    }
                }
            }
        }
    }
}

测试打印深度数据,与C++大体相似:reader->Descripion->Sendor等。

你可能感兴趣的:(Kinect)