您的位置:首页 > 编程语言 > C#

C#中配置kinect以及使用

2017-04-11 09:56 531 查看
[align=center]C#中配置kinect以及使用[/align]
[align=left]网上C++与kinect之间配置文章很多,但C#相关资料很少,这里说明其之间的配置以及如何调用。[/align]
[align=left]首先下载kinect2.0SDK,下载地址 http://pan.baidu.com/s/1hsFqGPe。[/align] [align=left]下载完成后打开VS,点击添加引用[/align]
[align=left][/align]
[align=left]
[/align]
[align=left]后点击搜索[/align]
[align=left]
[/align]
[align=left][/align]
[align=left]
[/align]
[align=left]这时,在代码中添加 using Microsoft.Kinect即完成kinect环境的配置,下面测试配置是否完成。[/align]
[align=left]上一个控制台代码,新建控制台程序将此代码拷贝进去测试配置是否完成。[/align]
[align=left]
[/align]
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++;
}
}
}
}
}
}

[align=left]
[/align]
[align=left]测试打印深度数据,与C++大体相似:reader->Descripion->Sendor等。[/align]
[align=left]
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐