Kinect API介面學習筆記

2021-06-22 08:44:08 字數 3099 閱讀 9987

應用層api解析

三大核心元件:

nui api:sdk的核心,用來處理色彩影象流,深度影象資料,骨骼跟蹤和控制物理

kinect

裝置等。

kinect audio dmo:提供波束成形和音源定位功能

windows speech sdk:提供音訊、語音、多**

api以及微軟語音識別功能

kinect的核心

nui api

1. nui api的初始化及使用

step1. 獲得

kinect

例項,**如下

linq查詢表示式:

kinectsensor sensor =

{from sensortocheck inkinectsensor.kinectsensors

where sensortocheck.status == kinectstatus.connected

select sensortocheck).firstorde****t();

一般語法形式:

foreach  (kinectsensor kinect in kinectsensor.kinenctsensors)

if(kinect.status == kinectstatus.connected)

kinectsensor = kinect;

break;

step2.呼叫

kinectsensor.start

方法初始化並啟動

kinect

感測器

並基於這些事件呼叫sdk

相關的api

進行處理,**如下

kinectsensor.colorframworkready

kinectsensor.depthframworkready

kinectsensor.skeletonframworkready

kinecrsensor.allframready

step4 呼叫

kinectsensors.stop

方法關閉kinect感測器

2.  初始化選項

kinect nui api 通過「管道

pipeline

」的方式來處理來自感測器的資料,在初始化時,應用程式制定它所需的感測器資料,乙個應用程式可以選擇乙個或者多個選項

a. 色彩:來自感測器的色彩影象資料

b. 深度:來自感測器的深度影象資料

c. 深度和使用者編號(player index:kinect

會自動識別使用者並對其進行編號):來自感測器深度影象資料,被」骨骼跟蹤「的使用者編號

d. 骨骼跟蹤:應用程式可使用骨骼跟蹤點的座標資料。

tips:這些選項必須再初始化中設定

kinect audio dmo

主要兩大api

模組:dmo(directx media object ,directx 

多**物件)和

msapi

(microsoft speech recognition api)

kinect audio api 主要是通過

kinect audiosource

類來完成。包括從麥克風陣列中獲取原始音訊流或加工過的音訊流。

kinect audio dmo 用內建的演算法來控制束和提**用程式的原始方向。

beamanglemode 類對底層的

dmo系統模式和麥克風陣列屬性進行了抽象封裝。通常該屬性設定為

adaptive 

,由kinect sdk

來控制波束成形

在此僅介紹一些術語,詳細api

參考其他資料。

a. 回聲消除(acoustic echo cancellation)

:通過提取發聲這的聲音特徵,將從麥克風接受到的音訊過濾掉這部分音訊,從而實現回聲消除。

b. 回聲抑制(acoustic echo suppression

):通過特定的演算法,在回聲消除處理後,對回聲進行進一步抑制處理。

c. 自動增益控制(acoustic gain control):

當使用者靠近或者遠離裝置時,聲音會變得響亮或者更柔和,自動增益演算法使得聲音振幅保持一致。

d. 波束成形(beamforming):

模擬定向麥克風的演算法技術,用於聲音定位

e. 中心削波(center clipping):

用來過濾回聲處理後的殘留的微小回聲。

f. 幀尺寸(frame size):

回聲處理演算法也是一幀一幀的處理音訊樣本的

g. 獲取增益邊界(gain bounding):

該演算法確保麥克風有正確的增益級別,確保有效的回聲消除效果。

h. 噪音抑制(ns

):用於剔除音訊訊號中非語言類音訊,通常是環境背景雜訊,使得實際講話者的聲音能夠被麥克風更清楚的捕捉。

i. 訊雜比(signal-to-noise ratio

) :用於度量語音頻號和環境雜訊的對比,該值越高音訊取樣質量越好。

windows speech sdk

語音識別的元件部分:包括microsoft speech api 

、speech plaform sdk

和kinect for windows runtime language pack(

語言執行包)

kinect sdk是基於

microsoft.speech 

類庫實現語音命令的識別。也可以基於

kinect 

的麥克風通過

systrem.speech 

類庫來實現語音命令識別,但由於距離的原因識別效果不好。

microsoft.speech 類庫的關鍵物件是

speechrecognitionengine 

負責從kinect

感測器在取降噪預處理後的音訊資料流,然後分析和解釋,從而進一步匹配合適的語音命令。

speechrecognitionengine 基於一定的語法表達來進行語音命令識別。

grammar物件由一系列的單個單詞或者詞語組成,由類

grammarbuilder 

來表達,語法可以基於選擇

choices 

類和萬用字元來表達。

介面學習筆記

一.介面就是一種規範,只有遵守這種規範的類才可以使用,更多的體現在對行為的抽象,eg public void eat 告訴使用者,我有吃的這方法,但怎麼吃需要自己去實現 二.介面的特點 1.關鍵字 inte ce eg public inte ce animal 2.類實現介面用 implement...

Hessian介面學習筆記

hessian 是採用二進位製流進行通訊的,效能應該會好一些,不過既然通過二進位製流傳遞,是不是對複雜物件的傳遞有問題呢,畢竟傳遞過程中沒有象 soap 這樣保留了物件的結構的。這個問題有待以後考證。和ice,webservice 一樣,既然作為服務類那麼必須有文件公布它的介面形式,客戶端使用者在通...

Java學習筆記 介面

package cn.itcast.demo01 public abstract 返回值型別 方法名稱 引數 固定關鍵字 public inte ce myinte ceabstract package cn.itcast.demo01 public class myinte ceabstracti...