马宁:如何开发一个有趣的Kinect应用.pdf

上传人:爱问知识人 文档编号:3335990 上传时间:2019-08-13 格式:PDF 页数:22 大小:761.41KB
返回 下载 相关 举报
马宁:如何开发一个有趣的Kinect应用.pdf_第1页
第1页 / 共22页
马宁:如何开发一个有趣的Kinect应用.pdf_第2页
第2页 / 共22页
马宁:如何开发一个有趣的Kinect应用.pdf_第3页
第3页 / 共22页
马宁:如何开发一个有趣的Kinect应用.pdf_第4页
第4页 / 共22页
马宁:如何开发一个有趣的Kinect应用.pdf_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《马宁:如何开发一个有趣的Kinect应用.pdf》由会员分享,可在线阅读,更多相关《马宁:如何开发一个有趣的Kinect应用.pdf(22页珍藏版)》请在三一文库上搜索。

1、Kinect for Windows SDK 开发初体验 马宁_aawolf “下“下面面的内容非常严肃”的内容非常严肃” 八卦一下 Kirsten Price 再重申一遍:再重申一遍: “下“下面面的内容非常严肃”的内容非常严肃” Agend 什么是 Kinect? Kinect历史 Kinect for Windows SDK简介 设置Kinect开发环境 Kinect开发介绍 Kinect示例 Whats is Kinect? Kinect是XBox 360的外接体感设备 动作捕捉 语音识别 Kinect无需借助任何外设进行动作捕捉 目前只支持人类动作的捕捉 Rare负责软件开发,Ran

2、ge Camera技术 由PrimeSense提供 同类产品 任天堂 Wii Play Station Move Kinect History CodeName:Project Natal 2009年E3公布,2010年10月上市 有史以来销售最快的消费类电子产品 截止2011年3月9日,销售超过一千万部 2011年6月发布Kinect for Windows SDK 动作捕捉的机器学习技术获得2011 MacRobert Award工程创新大奖 技术指标 输出视频帧率为30Hz 8-bit VGA 分辨率(640 480 pixels) 最佳识别区域1.23.5 m,扩展区域0.76 m 可

3、视区域 : 水平57 垂直 43 最多跟踪20个人体节点 Kinect for Windows SDK 非商业授权,商业授权将在下一个版本中 提供 OS:Windows 7 Visual Studio 2010 Express以上版本 支持C+, C# 和 VB.NET 主要功能 Raw sensor streams Skeletal tracking Advanced audio capabilities Kinect Hardware Setting Up Your Development Environment 硬件 Kinect Hardware AC Adapter/ Power S

4、upply 软件 Kinect for Windows SDK http:/ us/um/redmond/projects/kinectsdk/download.aspx Coding4Fun Kinect Toolkit http:/ 添加引用 添加引用 Microsoft.Research.Kinect Coding4Fun.Kinect.Wpf.dll (可选) 命名空间 using Microsoft.Research.Kinect.Nui; using Microsoft.Research.Kinect.Audio; using Coding4Fun.Kinect.Wpf; 初始化R

5、untime Runtime 封装一个Kinect sensor的功能 RutimeOptions 指定Kinect sensore能够使用的功能 Runtime nui; nui = new Runtime(); nui.Initialize(RuntimeOptions.UseColor| RuntimeOptions.UseDepth | RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking); Camera Fundamentals VideoFrameReady事件 ImageFrameR

6、eadyEventArgs参数 ImageFrame.Image属性:PlanarImage 使用Coding4Fun Kinect Toolkit nui.VideoFrameReady += new EventHandler(nui_VideoFrameReady); void nui_VideoFrameReady(object sender, ImageFrameReadyEventArgs e) PlanarImage imageData = e.ImageFrame.Image; image1.Source = BitmapSource.Create(imageData.Width

7、, imageData.Height, 96, 96, PixelFormats.Bgr32, null, imageData.Bits, imageData.Width * imageData.BytesPerPixel); /image1.Source = e.ImageFrame.ToBitmapSource(); 获取Depth信息 nui.DepthFrameReady += new EventHandler(nui_DepthFrameReady); nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Res

8、olution320x240, ImageType.Depth); void nui_DepthFrameReady(object sender, ImageFrameReadyEventArgs e) image2.Source = e.ImageFrame.ToBitmapSource(); Camera Data Skeletal Tracking Fundamentals (1) Kinect最多可以 追踪20个骨骼 点 SkeletonFrame 骨骼帧 Skeletons 骨骼点列表 Skeleton API Skeletal Tracking Fundamentals (2) n

9、ui = new Runtime(); nui.Initialize(RuntimeOptions.UseSkeletalTracking); nui.SkeletonFrameReady += new EventHandler(nui_SkeletonFrameReady); void nui_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) SkeletonFrame allSkeletons = e.SkeletonFrame; /get the first tracked skeleton Skeleton

10、Data skeleton = (from s in allSkeletons.Skeletons where s.TrackingState = SkeletonTrackingState.Tracked select s).FirstOrDefault(); Working with Depth Data Runtime nui = new Runtime(); private void Window_Loaded(object sender, RoutedEventArgs e) /UseDepthAndPlayerIndex and UseSkeletalTracking nui.In

11、itialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking); /register for event nui.DepthFrameReady += new EventHandler(nui_DepthFrameReady); /DepthAndPlayerIndex ImageType nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240, ImageType.DepthAndPlayerIndex); void nui_DepthFrameReady(object sender, ImageFrameReadyEventArgs e) Sample Project 光剑 虚拟试衣间 超级玛丽 总结 Kinect是一种廉价的动作捕捉设备 有可能成为鼠标之后计算机交互的新时代 在专业领域和消费者领域均有机会 专业领域发展会快于消费者领域 如何为好的技术寻找成功的应用场景?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1