今天玩个简单的有趣易懂的!
说真的,kinectv2的资料挺少的,C#的相关资料更是少之又少,对于像我这种直接从2代体感器学起的真心感觉无爱,不过kinectv2真心好玩,让我放弃了多年爱玩游戏的习惯
投身于编程学习事业中。
这次是仿照1代体感做的,用2代也来弄一个,看着很爽,当然是针对于小白,用的是控制台程序。久了没写控制台程序还浪费了我一点时间,好吧,我表示学C#就是直接从winform写起的,然后再开始XAML。好像我为了工作和体感器学C#直接跳过了开始从半截出道,不容易啊!
来直接放上代码:(供小白观看)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Kinect;
namespace ConsoleApplication1
{
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);
foreach (short pix in dfData)
{
Console.Write(pix);
}
}
}
}
}
}
一下是效果图:
好了,今天就稍微发布一下这个,之后是WPF写的,跟官方的效果差不多,不过简洁的多,供跟我一样想快速用C#学会kinectv2编程学习吧!