Kinect v2 資料來源與獲取

2021-09-24 05:22:43 字數 1455 閱讀 1424

在kinect for windows sdk2.0中,kinect有多種型別的資料來源。

source,reader和frame。

要讀取骨架,就有ibodyframesource, ibodyframereader, ibodyframe這三個類,

要讀取深度資料,就有idepthframesource, idepthframereader, idepthframe這三個類

在kinect for windows sdk2.0中,獲取並處理資料來源介面步驟如下:

sensor -> source -> reader -> frame -> data

參考六種資料來源

六種資料來源

分別是 :

獲取這六種資料來源的目的是為了得到最終需要的資料

1.sensor 感測器

getdefaultkinectsensor(&ikinectsensor);  //獲取感應器

ikinectsensor->open();            //開啟感應器

2.source 源頭在ikinectsensor下,有這樣一些函式成員,通過呼叫它們,可以獲取相應的資料。

以source結尾的,都是資料的**,我們並不能直接使用這些資料,需要通過另外的函式讀取。

**3.reader 讀取資料 **

通過 openreader()』 這樣乙個函式,我們可以取得對應的 』 frame reader』 來讀取資料

以icolorframesource為例,我們可以通過openreader()函式取得icolorframereader,並通過它來讀取資料。

4.data

通過acquirelatestframe(),我們可以獲取最新的資料,並且裝入另乙個資料幀裡,但是這個函式必須要判斷是否返回乙個成功值,因為獲取失敗的機率非常高。

5.資料處理

讀取到資料幀後,我們通過accessunderlyingbuffer()這個函式將資料複製到陣列,這個函式有兩個引數,第乙個是個記錄大小的變數,第二個是個接受資料的陣列指標,傳入後會分別返回陣列的大小以及資料。它傳入陣列的資料代表的是那乙個畫素點上的物體距離感測器的位置。

總結來說,流程如下

getdefaultkinectsensor() → ikinectsensor

get_colorframesource() → icolorframesource

openreader() → icolorframereader

acquirelatestframe() → icolorframe

Kinect V2開發(5)讀關節資料

要讀取骨骼資料,前面的步驟和之前一樣,要先通過ikinectsensor來取得ibodyframesource,然後開啟ibodyframereader,之後再在主迴圈裡取得ibodyframe裡面的資料,但是在ibodyframe裡面實際上包括了所有人的資料,需要通過getandrefreshbo...

Kinect中多資料來源獲取和單資料來源獲取

在kinext發布的u3d中的案例中,可以分析出來 前面的步驟都應一樣,但是在建立reader的時候,申請的是乙個 reader sensor.openmultisourceframereader framesourcetypes.color framesourcetypes.depth 並且,fr...

資料來源資料庫ODBC資料來源管理與配置

工作之餘抽點時間出來寫寫博文,希望對新接觸的朋友有幫助。今天在這裡和大家一起學習一下資料來源資料庫 在應用visual c 停止資料庫程式應用開發式,需要指定應用程式所應用的資料來源。資料來源就是乙個資料庫與其訪問環境的集合,儲存了資料庫連線及應用的驅動程式等資訊。資料來源可以應用 odbc資料來源...