体感开发学习总结
從Kinect和Leap Motion談體感的開發
【編者按】本文作者David Cardinal,David具有20余年的科技行業技術從業經驗。他是DigitalPro for Windows的合作開發者,后者是Windows上首個專業的圖像管理解決方案。本文是其結合今年Build大會上微軟的開發經驗,對Kinect和Leap Motion的體感開發所做的
理解。
當年Leap Motion的CTO David Holz第一次告訴我不要將太多的精力放在他們的硬件上,理由是大部分的訣竅都在軟件——我半信半疑。而后來在微軟的Build大會上,Kinect開發的負責人Alisson Sol詳細描述了第一代Kinect是如何演變到今天時,我終于信服了。
體感開發的重點在于軟件。硬件當然要夠用,但不需要拔尖。從拆解的Leap來看,它帶有的僅僅是3個現成的LED以及2個普通價格的攝像頭。開發團隊大部分的辛苦工作都在于如何讓算法精確地識別出用戶的動作。微軟在Kinect上的抓握動作識別是研究體感開發很好的案例。
機器學習
在過去多年里,碼農們花了大量的精力用預先架構的精妙算法來節省計算資源。而機器學習在一定程度上把這事攬了過去。通過機器學習,現在我們可以將大量的數據丟給電腦讓它自行計算,同時只占用很低的CPU和GPU。當然,真正做起來比這復雜很多,并且做好了不
容易。但其結果將適用于一大類的識別——包括體感。
在開始機器學習之前,你首先要做的是收集大量的高質量數據。放在Kinect的例子就是數GB的深度標記的視頻,視頻中會有多名測試人員做出各種各樣的手勢、動作。然后這些視頻片段需要進行人工標記來說明哪個節點上測試人員做了什么動作,這個過程其實類似傳統
的科研數據收集過程。最后這些人肉標記的數據被稱為“底層事實”——也就是識別過程所依照的標準。
同時你還要注意的一個問題是明確方向。微軟的團隊過去在做抓握動作識別時采用的是判斷手掌的形狀是開放的還是閉合的,但很長時間沒有什么進展;而Sol的團隊采用的方式是直接判斷抓握和松手的動作——這才是他們改善抓握動作界面的關鍵。
從Kinect和Leap Motion談體感的開發
把數據變成特性
一旦你有了足夠多的標記數據,那下一步該是決定用數據的那些屬性(或者特性)來判斷一個手勢。這點做起來不僅是技術,而且是藝術——確實不容易把握。你用來做判斷的這些特性還要易于計算,比如Windows的Kinect團隊只有2毫秒的時間用于識別抓握的動作。
在這個動作的識別上,團隊最先采用的是計算距離掌心的像素數量(由骨架檢測子系統采集)作為機器學習算法的主要特性。但后來他們發現了比較麻煩的一點,手的位置不夠穩定所以這一特性很難準確地捕捉到。為此他們不得不為此開發了輔助算法——考慮了多種手
的位置以及識別過程中的位移??上н@個方法收效平平。
最后,Sol改用深度標志數據中,抓握或松手時圖像幀與幀之間的像素差異來判斷這一動作,也就是每個像素點較前一幀的變化都會參與共同決定動作的發生。
從Kinect和Leap Motion談體感的開發
讓你的輸出自己來完成代碼
跟常見的面向結果的編程方式不同,機器學習系統——比如Kinect中的系統依賴于一組原始的理想輸出(也就是最初標記的數據)來生成識別器(機器生成的代碼)。而生成的識別器可以在實際應用中識別目標手勢。
同時,你很快就會發現要計算上一步中選定的特性會變成一個大數據問題。30幀每秒的測試視頻每小時的幀數超過10萬,而每幀的像素數大約是30萬個(新版Kinect還要多)。
即使你只是關注手部周圍128×128的目標區域,那么每只手上要分析的像素點也超過1.6萬個——也就是每幀6.4萬個(出現了4只手)。爾后你將提取出來的特性輸入到機器學習系統(應該叫眾多的開放系統的變體)中。
Sol沒有跟我們糾結各種機器學習算法間的區別,只是簡單說明只要有足夠的數據不同算法也會得到相近的結果(這點很容易理解)。在他們的項目中,他們采用的是ID3算法來創建決策樹。ID3算法計算每個屬性的信息增益,并選取具有最高增益的屬性作為給定集合的測
試屬性。
如果最初選定的特性足以完成一個動作識別的判斷,那么系統生成的代碼就會在更多的“底層事實”上跑過。反之,你就要撤回到特性選擇的這一步。
不要急于測試,先分析
許多關于機器學習的研究論文最后都以“手指朝上,手指場下”這樣的測試方法草草收尾。但對于Kinect這樣的消費級產品,Sol表示這遠遠不夠。為了達到推向市場的高標準,微軟采用了數千種測試條目并且開發了配套工具來分析不同類型的錯誤,從而回過頭來改善算
法。他用了手的速率舉例:很顯然當手部快速移動時,捕捉到的手的位置信息會有比較大的偏差——所以抓握動作的識別算法還需要將這一點考慮進去。
在測試中,因為要分析大量的幀數,所以即使是識別正確率達到99.9%,測試的結果還是會在每小時內大量出錯。每次針對這些小故障的更新都需要對識別器(也就是用于動作識別的代碼)進行幾處改動。
Sol提到其中的一項更新就是區別左右手的圖像識別,兩者不能被當成鏡像對應,因為左右手的光線和陰影是不對稱的。
從Kinect和Leap Motion談體感的開發
從Kinect和Leap Motion談體感的開發
你可以想象得到運行這些測試計算需要很長的時間,Sol表示即使用80核的設備測試一個抓握識別器每次也需要一周的時間。
最后,Kinect團隊還羅列了Microsoft Research在提升識別器速度上的幫助。其最終的結果是Kinect在Windows SDK 1.7中能提供抓握動作的控制;對開發者來說,這是非常有用并且有借鑒意義的功能。相類似的,雖然Leap在其開發流程上并沒有像Kinect一樣直白,但很
顯然其軟件實現同樣將一堆現成的元件變成了當前市面上最強大的體感設備之一。
========
Kinect結合Unity3D引擎開發體感游戲(一)
最近公司項目需要做科技館的體感游戲,以前也沒接觸過游戲,雖然以前自己也是想做游戲,我想大部分都是學編程出來來做游戲,哈哈(請允許我淫笑一下,終于可以做這方面)。雖然以前沒接觸過體感游戲,看到的體驗也是大部分看到的視頻,幸好現在網絡還是比
較發達,上網大概了體感游戲開發,目前比較好的是Unity3D和Kinect結合交互進行開發。現在心里的感覺用句話說:哥現在也走在世界技術最前言,TMD碉堡了! 9月7號開始查閱網上的資料,一直沒有找到詳盡而又簡單的方案。網上目前我看到就三種方法,說是三種方
法說白了就一種:中間件。形散而神不散--散文的最高境界(其實我語文不好,對不起祖國氣我的期望,嗚嗚、、、)三種方法如下: 1.卡耐基梅隆的kinectWrapper.unitypackage; 2.OpenNI官方提供的OpenNI_Unity_Toolkit-0.9.7.4.unitypackage(現在官方不提供
更新與支持了,支持的版本unity3.4,在往上版本會出現很多問題,需要修改很多地方,比較麻煩); 3.自己寫的交互的中間件,我在網上看見高手自己的寫的中間件,封裝為DLL,現在通過這段時間動手實現,發現自己寫一個這樣的中間件其實也不難,后期也自己準
備寫一個。 我在采用的第一種方法,原因上面三點大概說來了,第二點以后考慮支持的版本和官方的態度,所以暫時不考慮;第三種目前自己還沒寫,目前來說也不太現實,也暫時不考慮考慮。所以目前情況就暫時考慮第一種; 廢話說了那么多,相信各位機油們早就
寂寞難耐了,現在就切入正題: 一、Unity和Kinect交互的環境配置 我目前所使用的Unity3D的版本是Unity3.5; 使用的Kinect SDK版本是SDK1.6; Kinect和Unity交互的卡耐基梅隆的kinectWrapper.unitypackage方法是使用CMU的封裝,這個方法支持的Kinect SDK版
本是SDK1.0,要想使用1.6版本以上的kinect SDK,就要做一些相應的修改。完整的方案如下(這個也為什么上面說后期打算自己封裝一個類似這樣組件DLL): 1、安裝Uinty3D我使用的Unity3D版本是3.5,上官網下載(需要注冊,才能用,我推薦大家去付點錢,我是自
己找的破解碼,聲明不支持這樣的行為,大家懂就好)。 2、安裝Kinect SDK我使用的SDK版本是1.6,可以在Kinect for Windows官方網站上下載。 3、在Unity3D工程中,如果需要使用和kinect交互,那么就需要在這個工程中導入卡耐基梅隆的
kinectWrapper.unitypackage。百度怎么用大家都懂吧(需要用kinect SDK版本是1.6以上版本(1,7以上版本還沒試過替換是否可以,理論上應該也可以),就要下載KinectWrapperPackage替換文件并替換導入包中的KinectInterop.cs和KinectSensor.cs這兩個文件即可
) 好啦!目前準備工作都ok了! 二、簡單Kinect Wrapper Package for Unity3D包含了所有我們開發unity+kinect需要用到的腳本。 1.導入包之后,所有我們需要的資源都會出現在project面板中,具體來說是以下的一些資源: ![在此輸入圖片描述][1] 2.Scenes?
KinectExample - 示例場景,這個例子向你展示了如何通過在每一個kinect 可以追蹤的骨骼點上放置小球來產生骨骼運動。 Prefabs Kinect_Prefab- 包含了我們開發unity+kinect程序所必需的所有腳本。但是它并沒有包含你需要的用于控制模型的控制器(controller)
。 KinectPointMan - KinectPointController這個控制器(controller)是怎樣使用的。 Kinect KinectModelControllerV2 - 需要將這個腳本拖放到你想要應用kinect控制的模型上。為了讓模型能夠跟上人的節奏,你需要將模型上控制模型動作的關鍵骨骼拖放到這個腳
本暴漏的合適的變量中 ,也就是將模型中的骨骼與kincet識別到的人的骨骼綁定起來。另外這個腳本暴漏的變量中,還有一個變量時標識模型是受哪個玩家控制。 KinectPointController - 需要將這個腳本拖放到場景中的游戲物體上。但是這個游戲物體不是模型,而
是由一系列分別代表頭部、肩部、手等人體部位的點組成。你需要將游戲物體中的這些關鍵點都拖放到這個腳本暴漏的外部變量中。這樣就可以使用kinect控制游戲物體了 DisplayDepth - 得到深度圖像。 DisplayColor - 得到RGB圖像。 KinectRecorder - 用于記錄你
的動作,并為kinect模擬器(emulator)產生回放文件。 KinectEmulator - 模擬kinect設備.和KinectRecorder產生的回放文件一起工作。 KinectSensor - 從Kinect設備中取得數據。需要替換這個文件使用特用版本的SDK. DeviceOrEmulator - 設置使用kinect物理設備
還是kinect模擬設備. SkeletonWrapper - 腳本抓取骨骼數據. DepthWrapper - 腳本抓取深度圖像數據. KinectInterop - 從Microsoft Kinect SDK中抓取數據. 三、使用KinectWrapperPackage包要想在自己的工程中 首先需要用unity3D創建一個空工程,然后將
kinectWrapper.unitypackage導入這個包到unity中,然后經過下面的步驟完成交互。 1、設置Kinect_Prefab前面提到過了,如果在Unity中和Kinect交互,Kinect_Prefab這個游戲物體是必不可少的。 這個物體需要存在于你的場景中的某處。所以當你切換場景時,它仍
舊存在著,因此你不必在每個場景中都實例一個Kinect_Prefab。 在Unity3D中,找到project面板中的Kinect_Prefab直接拖拽到Hierarchy面板就可以了。 2、控制游戲中的角色為了控制場景中的角色的移動,你需要將KinectModelControllerV2這個腳本拖拽到場景中的
模型上,并綁定骨骼; 當然你為了控制一系列的游戲物體,你需要將KinectPointController拖拽這些物體上。 下面分別說明這個腳本的使用(這兩個腳本需要自己更具情況去定制)。 控制器:KinectPointController: 在場景中創建一個空物體對象,作為你想要控制
的容器。 將其他的物體拖拽到剛剛創建的空物體中,并放置到相同的位置。使剛才創建的空物體成為這些物體的父節點。 拖拽KinectPointController腳本到這些物體的父節點上。 選中父節點,在Inspector面板中暴漏的變量中,找到Sw變量 (該變量表示Skeleton?
Wrapper).拖拽當前場景中Kinect_Prefab賦給這個變量。 拖拽你想利用Kinect控制的每一個物體到Inspector面板對應的合適的變量中。 設置Player變量(代表玩家)和Mask變量(代表哪些骨骼收到監控). ![在此輸入圖片描述][2] 控制器:KinectModelControllerV2:?
拖拽腳本資源KinectModelControllerV2到場景中的模型中。 選擇場景中的模型。找到模型中的暴漏變量Sw(它代表Skeleton Wrapper). 并將當前場景中的Kinect_Prefab拖拽給Sw這個變量。 詳細展開你的模型,讓模型的每一塊骨骼在hierarchy面板中可見。 一個接一
個地把模型中的骨骼拖拽到腳本中暴漏的對應的變量中.確保每一個骨骼都對應到了正確的變量上。 當模型中所有的骨骼都放置好了之后,改變暴漏的Player變量的值,這個變量表明該模型是受哪個玩家控制, 0代表第一個玩家,1 代表第二個玩家。 接下來要設置暴漏
的Mask變量的值。設置合適的值,以決定是所有的骨骼都受Kinect控制,還是僅僅一部分骨骼受Kinect控制.如果這些受Kinect控制的骨骼都不是你想要的,你可以自己寫一個控制模型的腳本來代替KinectModelControllerV2。 當游戲玩家在控制模型時,如果你想要該模
型同時播放自帶的動畫,那么你需要在暴漏的變量中選中animated選項,并設置BlendWeight變量的值,來決定模型受自帶模型動畫和Kinect驅動動作的最終混合效果。該變量取值范圍為0到1之間。 ![在此輸入圖片描述][3] 四、運行KinectWrapperPackage包中事例 保
證Kinect設備連接成功指示燈為綠色,上面安裝包安裝配置好,最后運行事例 ![在此輸入圖片描述][4] 注意圖片的左下角的數字,證明連接成功 ,連接成功的時候Kinect設備還會自己調整角度(最左邊的指示燈會有紅色)并且模型會隨著你動而動 歡迎大家期待第二
篇,將寫一個3D人物模型,隨著身體指示,產生轉身和前進與跑步 先上一張圖(第二篇會上相關的腳本代碼,由于unity腳本主要是c#和js,所以我采用c#寫的腳本,9月7號才接觸到unity和kinect,原來工作一直用c/c++,c#都是現學現買所以有不當之處,還請大家使
勁拍磚): ![在此輸入圖片描述][5] 在此感謝歡樂OSC群 感謝那些機油的鼓勵 @鉑金小豬 @鉑金小狼 等
========
體感開發之XTion設備方法和原理
體感作為一個新興的技術,其發展過程中融合了多種技術,但是這些技術的基礎都是建立在體感設備之上的。
XTion其主要功能是獲得所需空間的深度數據,并在此基礎上集合了彩色數據,聲音數據功能,從而使得體感開發更加多元化。
工具/原料
計算機一臺
XTion Pro體感設備一個
方法/步驟
1
XTion設備:
XTion設備的核心是由紅外線激光發射器、紅外線激光接收器、處理芯片PS1080這三個部分組成。除此之外,還有一些附加的功能設備,如麥克風以及RGB攝像頭等。
2
XTion設備的功能;
XTion體感設備最基本的功能是獲取空間深度數據,并計算出其余數據,比如深度影像,人物影像,人物骨架等。設備還可以附加聲音影像和彩色影像,用以攝像、彩色圖像識別、語音識別、語音控制等,這些信息的加入。使得體感操控更加人性化。
3
硬件設備的軟件支持OpenNI;
通常以體感設備為基礎的體感應用開發軟件包名為OpenNI,本質上是一種
API(應用程序編程接口)。
OpenNI可以將人體的空間深度信息從背景中剝離出來,并且演化出更豐富的人體空間位置信息,讓抽象的視覺信息轉化為具體的數字信息,從而使得計算機以及開發者可以去識別并使用這些數字信息。
4
深度感應器的工作原理:
XTion設備中3D深度感應模塊所使用的技術稱為光編碼技術(Light Coding),這是一種光學式技術。其本質就是一張紅外線激光編碼圖。
透過紅外線投影機打到空間中去,也就是用紅外線發出射線前經過編碼后、肉眼不可見的紅外線散斑,打到空間中,使得空間中被加上標記,由于散斑具有高度的隨機性,因此空間中任何兩處的散斑都會是不同的圖案。接收器在截取空間的紅外線影像后,把影像交給
PS1080芯片進行計算,算出深度圖。
5
XTion設備散斑原理及光源標定方法:
所謂散斑就是當相干光從粗糙表面反射或從含有散射物的介質內部向后散射或投射時,會形成不規則的強度分布,出現隨機分布的斑點,這些隨機分布的斑點就稱為散斑。
粗糙表面和介質中散射子可以看作是由不規則分布的大量面元構成,相干光照射時,不同的面元對入射相干光的反射或散射會引起不同的光程差,反射或散射的光波動在空間相遇時會發生干涉現象。當數目很多的面元不規則分布時,可以觀察到隨機分布的顆粒狀結構圖
案。
6
無法偵測物體深度:
XTion設備最佳工作范圍為0.8~3.5m。
由于一些物體的材質不能形成有效的散斑,所有設備并不能抓取到這些物體的深度數據,比如透明材質和鏡面材質,對這兩種材質。均不能獲取有效的深度數據。
END
注意事項
XTion的作用是獲取深度圖像
OpenNI本質是API應用程序編程接口
========
Kinect for Windows SDK開發入門(一):開發環境配置
http://www.cnblogs.com/yangecnu/archive/2012/03/30/2425766.html前幾天無意中看到微軟發布了Kinect for windows sensor,進去看了一下Kinect應用的例子,發現Kinect除了作為xbox360游戲的外設外還能開發一些很酷的應用,而且微軟也發布可針對Kinect開發的Kinect for windows SDK1.0正式版本,原本想買一個Kinect for?
windows sensor來進行開發玩一玩的,可是那個出來沒多久,淘寶上只有代購的,而且比Kinect for Xbox360 sensor貴了很多,而且只能進行開發,考慮到以后開發完了,想玩Xbox的話直接就再買個主機,連上這個就可以玩體感游戲了,所以在淘寶上買了一個Kinect?
for Xbox360 sensor,這兩個sensor的最大區別是for windows版本的有近景模式,能夠進行近景識別。
首先來看一下Kinect設備:
1. Kinect設備
黑色的Kinect設備如下圖:基座和感應器之間有一個電動的馬達,通過程序能夠調整俯仰角度,在上面的感應器中有一個紅外投影儀,兩個攝像頭,四個麥克風和一個風扇。打開外面的蓋子可以看到里面的構造:這些感應器用來捕捉RGB和深度數據,面對Kinect,從左往
右看。最左邊是紅外光源,其次是LED指示燈,再次是彩色攝像頭,用來收集RGB數據,最右邊是紅外攝像頭用才采集景深數據。彩色攝像頭最大支持1280*960分辨率成像,紅外攝像頭最大支持640*480成像。
image_thumb3image_thumb5
在感應器的下方是麥克風陣列,他包括四個不同的麥克風,一個在左邊的紅外發射器下面,另外3個在右邊景深攝像頭下面。
初步了解了Kinect構造后,接下來看看開發環境的搭建:
2. Kinect for Windows SDK軟硬件環境
Kinect for Windows SDK是一些列的類庫,他能夠使得開發者能夠將Kinect作為輸入設備開發各種應用程序。就像名字所顯示的那樣,Kinect for Windows SDK只能運行在32位或者64位的windows7及以上版本的操作系統上。
硬件配置
一臺電腦,當然內存越大越好(推薦2G或者以上),處理器頻率(2.66GHz及以上)越高越好。
Windows 7操作系統,以及支持Microsoft DirectX9.0c兼容的顯卡
Kinect for Xbox360 Sensor(如果單買的話,自帶有USB Power Adapter,如果是和Xbox360套裝一起捆綁的話,因為Xbox主機能夠直接為Kinect外設提供電源,所以沒有電源,可能需要另買USB Power Adapter)
使用Visual Studio 2010 Express版本或者專業版進行開發時,需要安裝最新版本的Kinect for Windows SDK,SDK中包含有對Kinect的硬件驅動。
軟件配置
1. Visual Studio 2010 Express或者Visual Studio 2010專業版或其他版本
2. .NET Framework 4.0
3. Kinect for Windows SDK,最新版本為1.0版本,下載地址:http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx
3. 安裝步驟
安裝SDK之前,需要斷開Kinect與電腦的連接,并關閉Visual Studio。安裝過程很簡單,等SDK安裝完成之后,將Kinect電源線插上并連接到電腦上,Win7會自動尋找和安裝驅動,安裝完成后就可以識別Kinect,這是Kinect上面LED指示燈會變成綠色。
看驅動是否安裝成功,可以到電腦的設備管理器中查看,如下圖:在Microsoft Kinect節點下應該有3個項,分別是Microsoft Kinect Audio Array Control,Microsoft Kinect Camera, 和 Microsoft Kinect Security Control.
查看Kinect麥克風是否安裝成功可以在設備管理器的聲音視頻游戲控制器節點下查看,如下圖,Kinect USB Audio 應該在這個節點下面:
image_thumb8image_thumb9
4. 創建第一個Kinect 項目
創建一個Kincet項目通常需要:
1. 創建一個VS項目,一般為了展示通常創建一個wpf項目。
2. 添加Microsoft.Kinect.dll引用,如果是早期版本的SDK,這個名稱可能不同。
3. 引入Kinect命名空間。
Kinect支持3中類型的托管應用程序,分別是:控制臺應用程序,WPF以及Windows Form應用程序。首先來創建一個Windows 控制臺應用程序,然后在Main函數所在的代碼中引入Kinect命名控件,代碼如下:
using Microsoft.Kinect; static void Main(string[] args) {//初始化sensor實例KinectSensor sensor = KinectSensor.KinectSensors[0];//初始化照相機sensor.DepthStream.Enable();sensor.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>(sensor_DepthFrameReady);Console.ForegroundColor=ConsoleColor.Green;//打開數據流sensor.Start();while (Console.ReadKey().Key != ConsoleKey.Spacebar){ } }static void sensor_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e) {using (var depthFrame=e.OpenDepthImageFrame()){if (depthFrame == null) return;short[] bits = new short[depthFrame.PixelDataLength];depthFrame.CopyPixelDataTo(bits);foreach (var bit in bits)Console.Write(bit);} }
在上面的代碼中,為了從攝像頭中獲取數據流,需要初始化KinectSensor對象,然后啟動他。為了獲取景深數據,我們給sensor的DepthFrameReady注冊了時事件。上面的代碼中數據通過DepthFrameReady事件觸發。在Kinect應用中,這些獲取數據的事件有
DepthFrameReady,ColorFrameReady以及SkeletonFrameReady。可以通過這些事件獲取豐富的數據來完成各種有趣的應用。在上面的代碼中,我們簡單的將景深攝像頭獲取的數據輸出打印到控制臺上。運行程序,然后站在Kinect前面一段距離,你就會看到控制臺上輸出的
信息,酷吧。
5.Kinect SDK示例程序
安裝完Kinect for Windows SDK后,快捷菜單列表中有一個Kinect SDK Sample Browser,自帶有一些示例應用程序,打開后如下圖:
image_thumb13
如果安裝好了Kinect,就可以直接點擊運行了:我試了一下,挺有趣的:
Kinect Explorer:這是一WPF程序,界面分為左右兩個圖像區域,左邊通過彩色攝像頭獲取圖像信息,并通過骨骼追蹤將骨骼疊加在圖像上,右邊圖像是通過景深攝像頭獲取的景深信息,也在圖上疊加了骨骼信息,在這兩幅圖像下面是一些列對成像參數的設置。這個例
子主要是用來展示這幾個傳感器的應用以及如何獲取傳感器的信息,還包括獲取骨骼數據。
Shape Game:這個一個簡單的游戲,界面上的人是通過骨骼追蹤繪制出來的,在Kinect前面晃動時,界面上的人也會跟著動,當碰到圖形時能夠得分。
Kinect Audio Demo:這個是語音識別的例子上面展示的是聲音的方向,下面是語音識別的結果,有Red,Green,Blue三個單詞,當站在Kinect前面說某個單詞時,如果識別正確,橫線會顯示相應的顏色。試了一下,還是挺靈敏的。后的的例子是針對Kinect for Windows?
sensor設備的例子,我的Kinect for xbox Sensor不能用。
6.結語
本文簡要介紹了Kinect傳感器的結構,開發所需要的軟硬件環境,并通過一個小例子展示了如何從Kinect獲取數據,最后簡單介紹了Kinect SDK所帶的例子,希望本文能幫助你熟悉Kinect for windows SDK。
======== 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
- 上一篇: 图解Win7下安装Oracle 12c
- 下一篇: 图解Oracle 12c 手动建库