關(guān)于Kinect開發(fā)課程一:OpenNI的安裝與開發(fā)環(huán)境配
Kinect作為新一代的體感設(shè)備,微軟日前也發(fā)布了相應(yīng)的官方SDK,用以開發(fā)Kinect在PC上的應(yīng)用。但就目前的情況而言,微軟的KinectSDK只能在Win 7平臺(tái)上使用,因此我們選擇了OpenNI作為Kinect開發(fā)的第一塊踏腳石,它是目前已被廣泛使用和認(rèn)可的開源Kinect開發(fā)庫。
準(zhǔn)備
首先大家需要下載三樣?xùn)|西:
第一,OpenNI ,下載這個(gè)版本http://www.openni.org/downloadfiles/opennimodules/openni-binaries/21-stable ,注意要下載Development Edition,這樣才有Sample可以測試查看。此外,源碼也可以在GitHub上看到:https://github.com/OpenNI/OpenNI
第二,SensorKinect,它就是Kinect的驅(qū)動(dòng)了,可以在https://github.com/avin2/SensorKinect 的Bin中找到。
第三,NITE,這是PrimeSense 提供的中間件,可以分析Kinect讀取的資料,輸出人體動(dòng)作等等。地址:http://www.primesense.com/?p=515 (用來拓展OpenNI涉獵范圍以外的功能)
安裝
【1】下載完畢后,先把Kinect放在一邊,安裝OpenNI。
(安裝OpenNI后,安裝SensorKinect過程中,會(huì)彈出”Please install OpenNI version….”之類的錯(cuò)誤,重啟后再一次點(diǎn)擊SensorKinect安裝就解決了。
有同學(xué)說安裝OpenNI的Windows用戶一定要用管理員身份跑安裝程序才行,沒有的話有一部分文件無法寫入,會(huì)導(dǎo)致之后的錯(cuò)誤。)
【2】 安裝SensorKinect驅(qū)動(dòng),裝完,把Kinect插上,此時(shí)系統(tǒng)就會(huì)自動(dòng)開始搜索驅(qū)動(dòng)了,如果沒有搜索到,那么需要指定驅(qū)動(dòng)目錄了。假設(shè) SensorKinect默認(rèn)安裝在默認(rèn)路徑,指定驅(qū)動(dòng)目錄C:\ProgramFiles\Prime Sense\Sensor\Driver。
驅(qū)動(dòng)安裝成功的話,在設(shè)備管理器中,會(huì)出現(xiàn):
【3】安裝NITE,裝完后,由于NITE定義的320*240分辨率與SensorKinect的640*480不同,這邊有個(gè)關(guān)鍵步驟,假設(shè)安裝在默認(rèn)路徑:
從"c:\Program Files\PrimeSense\Sensor\SampleXMLs\NITE\Data\" 里復(fù)制所有XML文件到 "c:\ProgramFiles\Prime Sense\NITE\Data\" 覆蓋
從"c:\ProgramFiles\Prime Sense\Sensor\SampleXMLs\OPENNI\Data" 里復(fù)制所有XML文件到 "c:\Program Files\OpenNI\Data" 覆蓋
此外,NITE是需要序列號(hào)的,但其官網(wǎng)免費(fèi)提供了一個(gè):0KOIk2JeIBYClPWVnMoRKn5cdY4=
我們只要將"c:\Program Files\Prime Sense\NITE\Data\"目錄下所有配置文件,把Licenses部分替換即可:
<Licenses>
<License vendor="PrimeSense"key="0KOIk2JeIBYClPWVnMoRKn5cdY4="/>
</Licenses>
注意:這里有兩個(gè)文件夾!PrimeSense和Prime Sense,內(nèi)容不同。原作者貌似有幾個(gè)地方路徑空格沒有注意!為了尊重原作者的意圖,本人在此打個(gè)補(bǔ)丁。為了免去大家修改找文件之苦,本人把改完的xml文件改完打包上傳供大家使用,下載地址:http://ishare.iask.sina.com.cn/f/25283202.html
注:如果你看不到Prime Sense文件夾,或者找不到那些XML文件,說明你安裝的版本不需要這一步驟,可略過。新版安裝比較容易,可參看http://blog.csdn.net/cb_cb/article/details/7725098
測試
【OpenNI】
如果安裝在默認(rèn)路徑下,測試程序可以在C:\Program Files\OpenNI\Samples\Bin\Release下找到,這里使用的是NiViewer.exe和NiSimpleViewer.exe,都是顯示深度圖,如果運(yùn)行沒問題就可以咯。另外,NiUserTracker這個(gè)程序也很有趣,可以跟蹤你的人體,前提是它捕捉到你人體后,你做出一個(gè)標(biāo)定動(dòng)作(舉起雙手)并維持一段時(shí)間。
SimpleViewer:
UserTracker:
如果安裝一切正常,但這些例子無法顯示結(jié)果,可以關(guān)閉防火墻試試,某些防火墻的設(shè)置會(huì)阻攔OpenNI的組件讀取攝像頭 。
【NITE】
同樣的,如果安裝在默認(rèn)路徑下,測試程序可以在C:\Program Files\PrimeSense\NITE\Samples\Bin\Release下找到,試StickFigure,這個(gè)程序能在一個(gè)空間中顯示出骨架。
VS開發(fā)環(huán)境
要使用VS進(jìn)行開發(fā)的話,需要配置include和lib路徑。
進(jìn)入VS,點(diǎn)擊菜單Tools,進(jìn)入Options。
在Projects and Solutions中,選擇VC++Directories。
假設(shè)OpenNI安裝在默認(rèn)路徑下,則include files加入C:\Program Files\OpenNI\Include,Library files加入C:\ProgramFiles\OpenNI\Lib.
這樣VS的開發(fā)環(huán)境就配置好了。如果建立了OpenNI的開發(fā)項(xiàng)目,則還需要在項(xiàng)目屬性——Linker——Input 中的Additional Denpendencies,加入openNI.lib。
(以上配置在VS2010中有些出入,include和library可能被移到項(xiàng)目屬性中配置)
與OpenNI的Sample使用OpenGL不同,在之后的教程范例中,會(huì)使用OpenCV進(jìn)行圖像的輸入輸出,以簡化程序(如果你看了OpenNI Sample的代碼,會(huì)發(fā)現(xiàn)代碼被OpenGL占了一大半)。大家可以在http://www.opencv.org.cn/ 上找到安裝配置方法,這里就不贅述了。(當(dāng)然大家也可以直接無視范例中的OpenCV輸出部分,把OpenNI讀取的數(shù)據(jù)直接print出來。)(精彩Kinect資訊請繼續(xù)關(guān)注納金網(wǎng)http://studio-ampersand.com/)
-
分享到:
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊
- 用戶名:
- 密 碼:
- 驗(yàn)證碼: 看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評論:0條