C#中配置kinect以及使用

来源:互联网 发布:网络触摸广告机 编辑:程序博客网 时间:2024/06/07 14:14
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等。

0 0