kinect of windows sdk 微软已经发布,
而且网上有人已经针对Kinect的USB驱动程序,提供了OpenKinect
如下是在下的摸索开发心得
准备工作 Vs 2011,Win 7,.Net Framework 4.0
下载 sdk
1 硬件安装 (USB连接到PC)
Kinect和AC Adapter/ Power Supply
2 Kinect SDK安装 (下一步到底)
3. 环境测试
Kinect SDK安装完成后,我们将Kinect转接口的USB接口插入到PC中。PC会发现新硬件,并且自动查找驱动程序安装。
Xbox NUI Audio 不正常,忽略
4 打开Kinect SDK中自带的Sample Skeletal Viewer就可以很方便地检测Kinect设备是否与PC已经连接好了
---------------
获取Camer和Sensor
A)开始开发
1. 创建WPF或者windows form平台框架, XNA框架也可以。 silverLight还没人成功过
2. 引用Kinect程序集
Microsoft.Research.Kinect
3. 引入Coding4Fun
Coding4Fun.Kinect.WPF...
4. MainWindow.xaml,添加2个Image控件(用于RGB图片和Depth信息)
5. MainWindow.xaml.cs中,
using Microsoft.Research.Kinect.Nui;
using Microsoft.Research.Kinect.Audio;
using Coding4Fun.Kinect.Wpf;
6. 事件中找到 Loaded和Closed 方法,分别双击,添加事件
声明 Runtime nui,
Loaded(...)
{//初始化Runtime的代码
nui = new Runtime();
nui.Initialize(RuntimeOptions.UseColor| RuntimeOptions.UseDepth | RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking);
}
Closed(...)
{//关闭Runtime的代码
nui.Uninitialize();
}
备注: Runtime是KinectSDK中,最主要的类,
Kinect所有的操作,有Runtime类进行封装
构造函数无参,但有个显式的初始化函数Initialize,指定将调用Kinect中的哪些功能
RuntimeOptions.UserColor
RuntimeOptions.UseDepth
RuntimeOptions.UseSkeletalTracking 骨骼追踪
RuntimeOptions.UseDepth And PlayerIndex
使用深度和播放机指数
--
过RGB Camera来获取实时的图像数据
nui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_VideoFrameReady);
void nui_VideoFrameReady(object sender, ImageFrameReadyEventArgs e)
{
PlanarImage imageData = e.ImageFrame.Image;
image1.Source = BitmapSource.Create(imageData.Width, imageData.Height, 96, 96,
PixelFormats.Bgr32, null, imageData.Bits, imageData.Width * imageData.BytesPerPixel);
//image1.Source = e.ImageFrame.ToBitmapSource();
}