《Kinect开发入门-详细教程》由会员分享,可在线阅读,更多相关《Kinect开发入门-详细教程(17页珍藏版)》请在金锄头文库上搜索。
1、Kinect入门,湖南大学 周圣韬 http:/,2,安装环境,Kinect for Windows SDK的下载地址: http:/ 操作系统:Windows 7 (x86 or x64) 硬件需求:2.66-GHz DirectX 9.0c 2 GB of RAM Kinect 软件需求: Microsoft Visual Studio 2010 Express or other Visual Studio 2010 edition Microsoft .NET Framework 4.0 (installed with Visual Studio 2010),3,推荐,肯奶中国:http
2、:/ 语言编译器:visual studio 2010 C# Kinect SDK的视频开发教程: http:/ Kinect SDK的开发指南: http:/ Kinect SDK的官方论坛: http:/,4,安装步骤,1. 硬件安装 下面的图片是Kinect和AC Adapter/ Power Supply:,5,安装步骤,2. Kinect SDK安装 Kinect SDK的安装过程非常简单,无需任何设置,直接安装即可。,6,安装步骤,3. 环境测试 Kinect SDK安装完成后,我们将Kinect转接口的USB接口插入到PC中。PC会发现新硬件,并且自动查找驱动程序安装。下图是安装
3、完成后的示意图:,7,安装步骤,4. 测试程序 我们打开Kinect SDK中自带的Sample Skeletal Viewer就可以很方便地检测Kinect设备是否与PC已经连接好了。,8,C# 程序的应用接口,1.引用rence Microsoft.Research.Kinect.dll. 2.调用库 namespaces: For the NUI API, include: using Microsoft.Research.Kinect.Nui For the Audio API, include: using Microsoft.Research.Kinect.Audio,9,The
4、NUI API: An Overview,NUI API是针对windows平台的kinect的库,他支持: Kinect传感器,是连接到电脑。 获取图像和深度的数据流从Kinect图像传感器。 形象和深度处理的数据支持骨骼跟踪。,10,Kinect 连接驱动,1.创建一个 Runtime C# code: nui = new Runtime(); 2. 初始化Runtime.Initialize nui.Initialize(RuntimeOptions.UseSkeletalTracking); 或者 nui.Initialize(RuntimeOptions.Depth); 或者. 3添
5、加 相应接口 4.关闭 Runtime.Shutdown nui.Uninitialize();,11,NUI操作摄像头,12,NUI操作摄像头,/建立连接 nui = new Runtime(); /设置 初始化 nui.Initialize(RuntimeOptions.UseColor); /视屏 打开 nui.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640 x480, ImageType.Color); /事实 视屏数据 nui.VideoFrameReady +=new EventHan
6、dler(nui_VideoFrameReady); /获取视屏数据 private void nui_VideoFrameReady(object sender, ImageFrameReadyEventArgs e) image1.Source = e.ImageFrame.ToBitmapSource(); ,13,NUI景深,14,NUI景深,/new 和 初始化 nui = new Runtime(); nui.Initialize(RuntimeOptions.UseDepth); /打开视屏流 nui.DepthStream.Open(ImageStreamType.Depth,
7、 2, ImageResolution.Resolution320 x240, ImageType.Depth); nui.DepthFrameReady+=new EventHandler(nui_DepthFrameReady); /景深 private void nui_DepthFrameReady(object sender, ImageFrameReadyEventArgs e) image1.Source = e.ImageFrame.ToBitmapSource(); ,15,NUI骨骼跟踪,16,NUI骨骼跟踪,/new 初始化 nui = new Runtime(); nu
8、i.Initialize(RuntimeOptions.UseSkeletalTracking); /加入驱动事件 nui.SkeletonFrameReady+=new EventHandler(nui_SkeletonFrameReady); /获得所有骨骼 SkeletonFrame skeletonSet = e.SkeletonFrame; / 获得骨骼关节点的数据,类似于条件搜索 SkeletonData data = (from s in skeletonSet.Skeletons where s.TrackingState = SkeletonTrackingState.Tracked select s).FirstOrDefault();,湖大 周圣韬,感谢您的关注,