圖像處理中通常爲了更好的獲取外部信息都會使用到Kinect,其優點在於除了傳統的RGB攝像頭以外,還擁有一個獲取深度信息的3D深度感應器,所以能夠得到外界物體的3維信息實現物體的跟蹤、手勢識別等各項功能。更詳細的介紹可參考:身體就是控制器,微軟Kinect是怎麼作到的?html
下面介紹OpenCV中Kinect的一些簡單的使用方法。架構
這裏選擇PrimeSense公司的OpenNI系列(開源+多平臺64+32),主要由三部分組成(從底層到高層):PrimeSenser驅動(底層驅動),OPENNI軟件包(提供硬件與應用軟件鏈接的中間層),NITE軟件包(負責手勢和骨咯偵測)。ide
安裝順序以下:post
1 OpenNI-Win32-1.3.2.1-Dev.msi測試
2 avin2-SensorKinect-0e5a176\Bin\SensorKinect-Win-OpenSource32-5.0.3.3.msiui
3 NITE-Win32-1.4.0.5-Dev.msi代理
4 Sensor-Win32-5.0.3.3-Redist.msixml
「OPENNI會根據(C:\Program Files\OpenNI)下面data下的3個xml文件來啓動硬件(值得注意的是,它不是直接訪問硬件傳輸數據,而是呼叫驅動代理C:\Program Files\PrimeSense\Sensor\Bin下面的*.exe[因此咱們要先安裝openNI再安裝driver];htm
安裝好OPENNI和sensore dirver後,咱們只能夠運行openNI裏面的部分事例(C:\Program Files\OpenNI\Samples);爲何是部分呢?由於OPENNI和骨咯軟件NITE是聯動的,裏面高級的samples須要訪問NITE引擎」。blog
測試OpenNI驅動是否安裝成功的簡單方法即是運行其自帶的sample,如C:\Program Files\OpenNI\Samples\Bin\Release下的NiViewer.exe。
1:OpenNI官網上OpenNI以更新到2.0系列,其架構和組成已和1系列發生了很大的不一樣,其中包括安裝方法,組成等,並且更重要的一點是如今OpenCV的版本中尚未開發出對應OpenNI2系列的接口,所以如今要經過OpenNI驅動Kinect的話必需要使用OpenNI 1系列,1和2系列的變化具體可參考官網:《Middleware Library Guidelines》;
2:要驅動Kinect的話,OpenCV應在本身的電腦上從新cmake過一遍,參見這裏;
3:若是僅僅要利用Kinect獲取深度圖像的話,只需安裝1和2便可,若是要加入手勢識別和骨骼識別的話,3和4必不可少;
4:不管你的電腦是32(x86)仍是64bit,32bit的OpenNI驅動均可以順利安裝成功,同理,OpenCV也同樣,一切都按照32bit的操做便可(包括VS的配置和使用);
5:沒法定位程序輸入點XXXXX到OpenNI.dll庫上的解決方法。
參考資料:
Kinect OPENNI 安裝教程(for Win x64 i32)
2013-10-26