SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Kinect for Windows SDK
       开发初体验
      马宁_aawolf
“下面的内容非常严肃”
八卦一下




   Kirsten Price
再重申一遍:
“下面的内容非常严肃”
Agend
•   什么是 Kinect?
•   Kinect历史
•   Kinect for Windows SDK简介
•   设置Kinect开发环境
•   Kinect开发介绍
•   Kinect示例
What’s is Kinect?
• Kinect是XBox 360的外接体感设备
 – 动作捕捉
 – 语音识别
• Kinect无需借助任何外设进行动作捕捉
• 目前只支持人类动作的捕捉
• Rare负责软件开发,Range 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.2–3.5 m,扩展区域0.7–6 m
•   可视区域 : 水平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 Supply
• 软件
 – Kinect for Windows SDK
 http://research.microsoft.com/en-
 us/um/redmond/projects/kinectsdk/download.aspx
 – Coding4Fun Kinect Toolkit
 http://c4fkinect.codeplex.com/
添加引用
• 添加引用
 – Microsoft.Research.Kinect
 – Coding4Fun.Kinect.Wpf.dll (可选)
• 命名空间
 – using Microsoft.Research.Kinect.Nui;
 – using Microsoft.Research.Kinect.Audio;
 – using Coding4Fun.Kinect.Wpf;
初始化Runtime
  Runtime nui;
  nui = new Runtime();
  nui.Initialize(RuntimeOptions.UseColor| RuntimeOptions.UseDepth
               | RuntimeOptions.UseDepthAndPlayerIndex
               | RuntimeOptions.UseSkeletalTracking);




• Runtime
  – 封装一个Kinect sensor的功能
• RutimeOptions
  – 指定Kinect sensore能够使用的功能
Camera Fundamentals
 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();
 }

• VideoFrameReady事件
• ImageFrameReadyEventArgs参数
  – ImageFrame.Image属性:PlanarImage
  – 使用Coding4Fun Kinect Toolkit
获取Depth信息
nui.DepthFrameReady +=
          new EventHandler<ImageFrameReadyEventArgs>(nui_DepthFrameReady);
nui.DepthStream.Open(ImageStreamType.Depth, 2,
         ImageResolution.Resolution320x240, 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)
nui = new Runtime();
nui.Initialize(RuntimeOptions.UseSkeletalTracking);
nui.SkeletonFrameReady +=
          new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);

void nui_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
SkeletonFrame allSkeletons = e.SkeletonFrame;
//get the first tracked skeleton
SkeletonData 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.Initialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTrackin
//register for event
nui.DepthFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_DepthFrame
//DepthAndPlayerIndex ImageType
nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240,
ImageType.DepthAndPlayerIndex);
}
void nui_DepthFrameReady(object sender, ImageFrameReadyEventArgs e)
{}
Sample Project
• 光剑
• 虚拟试衣间
• 超级玛丽
总结
• Kinect是一种廉价的动作捕捉设备
• 有可能成为鼠标之后计算机交互的新时代
• 在专业领域和消费者领域均有机会
 – 专业领域发展会快于消费者领域
• 如何为好的技术寻找成功的应用场景?

Weitere ähnliche Inhalte

Andere mochten auch

Minit mesyuarat dengan ajk 3 FIESTA
Minit mesyuarat dengan ajk 3 FIESTAMinit mesyuarat dengan ajk 3 FIESTA
Minit mesyuarat dengan ajk 3 FIESTAMohd Ikmal
 
Minit mesyuarat opkim 1
Minit mesyuarat opkim 1Minit mesyuarat opkim 1
Minit mesyuarat opkim 1Mohd Ikmal
 
Gambar larian amal
Gambar larian amalGambar larian amal
Gambar larian amalMohd Ikmal
 
Transcription BIOLOVE ed. 1
Transcription BIOLOVE ed. 1Transcription BIOLOVE ed. 1
Transcription BIOLOVE ed. 1Mohd Ikmal
 
PERANCANGAN PROJEK - OPKIM
PERANCANGAN PROJEK - OPKIMPERANCANGAN PROJEK - OPKIM
PERANCANGAN PROJEK - OPKIMMohd Ikmal
 
Chapter 3 heart ed.
Chapter 3 heart ed.Chapter 3 heart ed.
Chapter 3 heart ed.Mohd Ikmal
 
LAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMA
LAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMALAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMA
LAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMAMohd Ikmal
 
Bukti hp3- mohd ikmal A145513
Bukti hp3- mohd ikmal A145513Bukti hp3- mohd ikmal A145513
Bukti hp3- mohd ikmal A145513Mohd Ikmal
 
OpenPicus FlyPort Technology Introduction
OpenPicus FlyPort Technology IntroductionOpenPicus FlyPort Technology Introduction
OpenPicus FlyPort Technology IntroductionopenPicus
 
Ringkasan ekse (syarikat)
Ringkasan ekse (syarikat)Ringkasan ekse (syarikat)
Ringkasan ekse (syarikat)Mohd Ikmal
 
Minit mesyuarat kdd3
Minit mesyuarat kdd3Minit mesyuarat kdd3
Minit mesyuarat kdd3Mohd Ikmal
 
Minit mesyuarat dengan ajk 2 FIESTA
Minit mesyuarat dengan ajk 2 FIESTAMinit mesyuarat dengan ajk 2 FIESTA
Minit mesyuarat dengan ajk 2 FIESTAMohd Ikmal
 
Laporan program keseluruhan (1)
Laporan program keseluruhan (1)Laporan program keseluruhan (1)
Laporan program keseluruhan (1)Mohd Ikmal
 
Minit mesyuarat kedua
Minit mesyuarat keduaMinit mesyuarat kedua
Minit mesyuarat keduaMohd Ikmal
 

Andere mochten auch (15)

Minit mesyuarat dengan ajk 3 FIESTA
Minit mesyuarat dengan ajk 3 FIESTAMinit mesyuarat dengan ajk 3 FIESTA
Minit mesyuarat dengan ajk 3 FIESTA
 
Minit mesyuarat opkim 1
Minit mesyuarat opkim 1Minit mesyuarat opkim 1
Minit mesyuarat opkim 1
 
Gambar larian amal
Gambar larian amalGambar larian amal
Gambar larian amal
 
Transcription BIOLOVE ed. 1
Transcription BIOLOVE ed. 1Transcription BIOLOVE ed. 1
Transcription BIOLOVE ed. 1
 
Paperwork fst
Paperwork fstPaperwork fst
Paperwork fst
 
PERANCANGAN PROJEK - OPKIM
PERANCANGAN PROJEK - OPKIMPERANCANGAN PROJEK - OPKIM
PERANCANGAN PROJEK - OPKIM
 
Chapter 3 heart ed.
Chapter 3 heart ed.Chapter 3 heart ed.
Chapter 3 heart ed.
 
LAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMA
LAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMALAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMA
LAPORAN KEWANGAN PROGRAM KUMPUL DAN DERMA
 
Bukti hp3- mohd ikmal A145513
Bukti hp3- mohd ikmal A145513Bukti hp3- mohd ikmal A145513
Bukti hp3- mohd ikmal A145513
 
OpenPicus FlyPort Technology Introduction
OpenPicus FlyPort Technology IntroductionOpenPicus FlyPort Technology Introduction
OpenPicus FlyPort Technology Introduction
 
Ringkasan ekse (syarikat)
Ringkasan ekse (syarikat)Ringkasan ekse (syarikat)
Ringkasan ekse (syarikat)
 
Minit mesyuarat kdd3
Minit mesyuarat kdd3Minit mesyuarat kdd3
Minit mesyuarat kdd3
 
Minit mesyuarat dengan ajk 2 FIESTA
Minit mesyuarat dengan ajk 2 FIESTAMinit mesyuarat dengan ajk 2 FIESTA
Minit mesyuarat dengan ajk 2 FIESTA
 
Laporan program keseluruhan (1)
Laporan program keseluruhan (1)Laporan program keseluruhan (1)
Laporan program keseluruhan (1)
 
Minit mesyuarat kedua
Minit mesyuarat keduaMinit mesyuarat kedua
Minit mesyuarat kedua
 

Ähnlich wie Kinect+sdk

20131221 victor gau - kinect 簡介
20131221   victor gau - kinect 簡介20131221   victor gau - kinect 簡介
20131221 victor gau - kinect 簡介Victor Gau
 
AR擴增實境簡介與案例分享
AR擴增實境簡介與案例分享AR擴增實境簡介與案例分享
AR擴增實境簡介與案例分享Ellis Wu
 
Kinect 2.0 Programming (4)
Kinect 2.0 Programming (4)Kinect 2.0 Programming (4)
Kinect 2.0 Programming (4)IngChyuan Wu
 
1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdfFEG
 
浏览器渲染与web前端开发
浏览器渲染与web前端开发浏览器渲染与web前端开发
浏览器渲染与web前端开发Duoyi Wu
 
Html5移动网站开发实践
Html5移动网站开发实践Html5移动网站开发实践
Html5移动网站开发实践Web Zhao
 
[students AI workshop] Pytorch
[students AI workshop]  Pytorch[students AI workshop]  Pytorch
[students AI workshop] PytorchTzu-Wei Huang
 
數位產品設計與行銷
數位產品設計與行銷數位產品設計與行銷
數位產品設計與行銷doku18
 
LinkIt Smart 7688 Duo and MCS basics
LinkIt Smart 7688 Duo and MCS basicsLinkIt Smart 7688 Duo and MCS basics
LinkIt Smart 7688 Duo and MCS basicsCAVEDU Education
 
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座FinalCAVEDU Education
 
HoloLens 2的 MR(Mixed Reality)開發入門
HoloLens 2的 MR(Mixed Reality)開發入門HoloLens 2的 MR(Mixed Reality)開發入門
HoloLens 2的 MR(Mixed Reality)開發入門Chen Yu Pao
 
Android 4-app
Android 4-appAndroid 4-app
Android 4-applydiafly
 
Android workshop - 01. Getting started on android phone
Android workshop - 01. Getting started on android phoneAndroid workshop - 01. Getting started on android phone
Android workshop - 01. Getting started on android phoneJohnny Sung
 
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具HO-HSUN LIN
 
分会场九Windows 7迁移最佳实践
分会场九Windows 7迁移最佳实践分会场九Windows 7迁移最佳实践
分会场九Windows 7迁移最佳实践ITband
 
SDN ryu 專題安裝
SDN ryu 專題安裝SDN ryu 專題安裝
SDN ryu 專題安裝承樺 董
 
虚拟全景概述
虚拟全景概述虚拟全景概述
虚拟全景概述mazhenglu
 
杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧增强 杜
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 

Ähnlich wie Kinect+sdk (20)

20131221 victor gau - kinect 簡介
20131221   victor gau - kinect 簡介20131221   victor gau - kinect 簡介
20131221 victor gau - kinect 簡介
 
AR擴增實境簡介與案例分享
AR擴增實境簡介與案例分享AR擴增實境簡介與案例分享
AR擴增實境簡介與案例分享
 
Kinect 2.0 Programming (4)
Kinect 2.0 Programming (4)Kinect 2.0 Programming (4)
Kinect 2.0 Programming (4)
 
1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf
 
浏览器渲染与web前端开发
浏览器渲染与web前端开发浏览器渲染与web前端开发
浏览器渲染与web前端开发
 
Html5移动网站开发实践
Html5移动网站开发实践Html5移动网站开发实践
Html5移动网站开发实践
 
LinkIt 7697 IoT tutorial
LinkIt 7697 IoT tutorialLinkIt 7697 IoT tutorial
LinkIt 7697 IoT tutorial
 
[students AI workshop] Pytorch
[students AI workshop]  Pytorch[students AI workshop]  Pytorch
[students AI workshop] Pytorch
 
數位產品設計與行銷
數位產品設計與行銷數位產品設計與行銷
數位產品設計與行銷
 
LinkIt Smart 7688 Duo and MCS basics
LinkIt Smart 7688 Duo and MCS basicsLinkIt Smart 7688 Duo and MCS basics
LinkIt Smart 7688 Duo and MCS basics
 
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
 
HoloLens 2的 MR(Mixed Reality)開發入門
HoloLens 2的 MR(Mixed Reality)開發入門HoloLens 2的 MR(Mixed Reality)開發入門
HoloLens 2的 MR(Mixed Reality)開發入門
 
Android 4-app
Android 4-appAndroid 4-app
Android 4-app
 
Android workshop - 01. Getting started on android phone
Android workshop - 01. Getting started on android phoneAndroid workshop - 01. Getting started on android phone
Android workshop - 01. Getting started on android phone
 
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
 
分会场九Windows 7迁移最佳实践
分会场九Windows 7迁移最佳实践分会场九Windows 7迁移最佳实践
分会场九Windows 7迁移最佳实践
 
SDN ryu 專題安裝
SDN ryu 專題安裝SDN ryu 專題安裝
SDN ryu 專題安裝
 
虚拟全景概述
虚拟全景概述虚拟全景概述
虚拟全景概述
 
杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 

Kinect+sdk

  • 1. Kinect for Windows SDK 开发初体验 马宁_aawolf
  • 3. 八卦一下 Kirsten Price
  • 5. Agend • 什么是 Kinect? • Kinect历史 • Kinect for Windows SDK简介 • 设置Kinect开发环境 • Kinect开发介绍 • Kinect示例
  • 6. What’s is Kinect? • Kinect是XBox 360的外接体感设备 – 动作捕捉 – 语音识别 • Kinect无需借助任何外设进行动作捕捉 • 目前只支持人类动作的捕捉 • Rare负责软件开发,Range Camera技术 由PrimeSense提供 • 同类产品 – 任天堂 Wii – Play Station Move
  • 7. Kinect History • CodeName:Project Natal – 2009年E3公布,2010年10月上市 • 有史以来销售最快的消费类电子产品 – 截止2011年3月9日,销售超过一千万部 • 2011年6月发布Kinect for Windows SDK • 动作捕捉的机器学习技术获得2011 MacRobert Award工程创新大奖
  • 8. 技术指标 • 输出视频帧率为30Hz • 8-bit VGA 分辨率(640 × 480 pixels) • 最佳识别区域1.2–3.5 m,扩展区域0.7–6 m • 可视区域 : 水平57° 垂直 43° • 最多跟踪20个人体节点
  • 9. Kinect for Windows SDK • 非商业授权,商业授权将在下一个版本中 提供 • OS:Windows 7 • Visual Studio 2010 Express以上版本 • 支持C++, C# 和 VB.NET • 主要功能 – Raw sensor streams – Skeletal tracking – Advanced audio capabilities
  • 11. Setting Up Your Development Environment • 硬件 – Kinect Hardware – AC Adapter/ Power Supply • 软件 – Kinect for Windows SDK http://research.microsoft.com/en- us/um/redmond/projects/kinectsdk/download.aspx – Coding4Fun Kinect Toolkit http://c4fkinect.codeplex.com/
  • 12. 添加引用 • 添加引用 – Microsoft.Research.Kinect – Coding4Fun.Kinect.Wpf.dll (可选) • 命名空间 – using Microsoft.Research.Kinect.Nui; – using Microsoft.Research.Kinect.Audio; – using Coding4Fun.Kinect.Wpf;
  • 13. 初始化Runtime Runtime nui; nui = new Runtime(); nui.Initialize(RuntimeOptions.UseColor| RuntimeOptions.UseDepth | RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking); • Runtime – 封装一个Kinect sensor的功能 • RutimeOptions – 指定Kinect sensore能够使用的功能
  • 14. Camera Fundamentals 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(); } • VideoFrameReady事件 • ImageFrameReadyEventArgs参数 – ImageFrame.Image属性:PlanarImage – 使用Coding4Fun Kinect Toolkit
  • 15. 获取Depth信息 nui.DepthFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_DepthFrameReady); nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240, ImageType.Depth); void nui_DepthFrameReady(object sender, ImageFrameReadyEventArgs e) { image2.Source = e.ImageFrame.ToBitmapSource(); }
  • 17. Skeletal Tracking Fundamentals (1) • Kinect最多可以 追踪20个骨骼 点 • SkeletonFrame – 骨骼帧 • Skeletons – 骨骼点列表
  • 19. Skeletal Tracking Fundamentals (2) nui = new Runtime(); nui.Initialize(RuntimeOptions.UseSkeletalTracking); nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady); void nui_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { SkeletonFrame allSkeletons = e.SkeletonFrame; //get the first tracked skeleton SkeletonData skeleton = (from s in allSkeletons.Skeletons where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault(); }
  • 20. Working with Depth Data Runtime nui = new Runtime(); private void Window_Loaded(object sender, RoutedEventArgs e) { //UseDepthAndPlayerIndex and UseSkeletalTracking nui.Initialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTrackin //register for event nui.DepthFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_DepthFrame //DepthAndPlayerIndex ImageType nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240, ImageType.DepthAndPlayerIndex); } void nui_DepthFrameReady(object sender, ImageFrameReadyEventArgs e) {}
  • 21. Sample Project • 光剑 • 虚拟试衣间 • 超级玛丽
  • 22. 总结 • Kinect是一种廉价的动作捕捉设备 • 有可能成为鼠标之后计算机交互的新时代 • 在专业领域和消费者领域均有机会 – 专业领域发展会快于消费者领域 • 如何为好的技术寻找成功的应用场景?