昨天晚些時候,微軟發(fā)布了Kinect for Windows SDK 1.6版本,該版本距五月份發(fā)布的1.5版本已經(jīng)有好幾個月了。1.6版本對1.5版本進行了一些改進和更新。不過最值得一提的是,Kinect for Windows Sensor首次在中國發(fā)售,現(xiàn)在已經(jīng)可以在京東上訂購了,Kinect 逐漸成為微軟硬件產(chǎn)品線中最重要的一員。
Kinect for Windows SDK僅支持windows 7以上系統(tǒng),不支持XP。
下面來看看SDK 1.6的改進,翻譯自發(fā)布說明,翻譯的不好的話,您已可以直接到msdn上查看:
1. SDK 1.6 的改進
支持Windows 8
Kinect SDK1.6,可以開發(fā)Windows 8桌面應(yīng)用程序
支持Visual Studio 2012
Kinect SDK1.6支持VS2012,包括最新的.NET Framework 4.5
提供了加速計數(shù)據(jù)API(Accelerometer Data APIs)
感應(yīng)器的加速計數(shù)據(jù)現(xiàn)在可以通過API來訪問,這使得我們可以探測到感應(yīng)器的的方向。
擴展了的深度數(shù)據(jù)
CopyDepthImagePixelData()方法提供了4米之外的深度數(shù)據(jù)。需要注意的是數(shù)據(jù)的質(zhì)量隨著距離的增加而遞減;除此之外,深度數(shù)據(jù)API得到了簡化,使得不需要進行位運算即可獲得。
提供了對彩色攝像頭設(shè)置的API
彩色攝像頭設(shè)置可以使得彩色影像傳感器能夠更好的適應(yīng)使用環(huán)境,這些API可以使得我們能夠微調(diào)白平衡,對比度,灰度,飽和度及其他的一些屬性。在Developer Toolkit的Kinect Explorer例子中,可以來看看所有的隊彩色攝像頭的設(shè)置。
對原始數(shù)據(jù)有更多的解碼控制
ColorImageFormat中提供了新的RawBayer分辨率,使得我們可以使用自己的拜耳(Bayer)算子在CPU或者GPU上進行RGB轉(zhuǎn)換。
提供了新的坐標空間轉(zhuǎn)換API
在1.6的SDK中,提供了幾個新的API用來在彩色影像,深度數(shù)據(jù),骨骼數(shù)據(jù)各個坐標空間中進行相互轉(zhuǎn)化。這些API有兩類:一類是單個點的轉(zhuǎn)化,另一類是整個圖像的轉(zhuǎn)換。
對德語的語音識別包
新的SDK中增加了對麥克風陣列進行優(yōu)化了的德語的語音識別包。
新增紅外發(fā)射控制API
之前的API中,當Kinect處于活動狀態(tài)時,紅外傳感器是一只處于發(fā)射狀態(tài)的,這會使得當多個傳感器同時探測同一場景時,(可能會由于不同的傳感器的紅外發(fā)射信號產(chǎn)生影響從而)使得深度影像數(shù)據(jù)質(zhì)量下降。1.6版本的SDK中提供了新的API(KinectSensor.ForceInfraredEmitterOff) 能夠手動關(guān)掉紅外攝像頭的探測。
加入了新的示例
Basic Interactions-WPF:展示了基本的手勢識別,比如使用光標選中對象,以及一些交互體驗上的一些好優(yōu)化了的反饋機制。
WPF D3D Interop: 展示了 DirectX 11 和 WPF之間的互操作,包括使用WPF和DirectX11產(chǎn)生的界面.
Infrared Basics-WPF, Infrared Basics-D2D: 演示了如何使用紅外數(shù)據(jù)流,以及如何將深度影像數(shù)據(jù)展現(xiàn)出來。
Kinect Studio 1.6.0
對Kinect Studio 進行了更新以支持紅外, RawBayer,擴展了的深度數(shù)據(jù),以及傳感器加速計等新的數(shù)據(jù)和特性。
提供了訪問紅外數(shù)據(jù)流的API
1.6版本的SDK中,紅外數(shù)據(jù)流作為一種新的ColorImageFormat提供出來,使得我們可以在一些場景中使用該數(shù)據(jù),比如:
校準彩色影像和深度傳感器
在低光條件下捕捉灰度影像數(shù)據(jù)
這兩個例子已經(jīng)添加到了tookit中,可以在KinectExplorer中查看。
需要注意的是,傳感器不能同步的步驟紅外數(shù)據(jù)流和彩色數(shù)據(jù)流,但是可以同步滴獲取紅外和深度數(shù)據(jù)流。
支持虛擬機
Kinect可以運行在虛擬機上的Windows系統(tǒng)中,下面的虛擬環(huán)境已經(jīng)測試可以正常工作:
Microsoft HyperV
VMWare
Parallels
這大大擴展了KinectSDK的使用范圍,比如可以運行在一些支持以上虛擬機的系統(tǒng)上,特別的,使得有些開發(fā)場景變?yōu)榭赡,比如在特定的自動化測試方法。在虛擬機上如何安裝和配置Kinect在幫助文檔中有說明。
需要注意的是,在一個虛擬機上只能同時運行一個Kinect,并且在虛擬機上運行一些耗計算資源的計算時可能會比較慢。
2. 安裝SDK1.6
首先,您需要到http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx上下載最新的Kinect SDK和DevelopToolkit。然后就可以開始安裝了。如果您之前安裝過1或者1.5版本的SDK那么無需卸載,直接安裝最新的1.6就可以了,如果您之前安裝的是更早的beta版本,則需要卸載后再安裝1.6版本。先安裝Kinect SDK再安裝DevelopToolkit,安裝過程很簡單,需要注意的是:
安裝前,需要將Kinect從電腦的USB上拔下。
安裝前,需要關(guān)閉殺毒軟件,如360。
3. 結(jié)語
Kinect SDK 1.6對1.5的更新主要體現(xiàn)在增加了更多的對原始數(shù)據(jù)訪問的API,比如訪問原始紅外數(shù)據(jù)流的API,使得我們可以對該數(shù)據(jù)進行處理而不是直接使用之前版本的由紅外數(shù)據(jù)產(chǎn)生的深度數(shù)據(jù),其他第三方SDK,比如Primesense OpenNI也是提供了直接訪問紅外數(shù)據(jù)流的功能,所以1.6中添加的對Kinect Sensor產(chǎn)生的底層數(shù)據(jù)更多的訪問控制,使得更好的挖掘Kinect的潛能提供了比較好的途徑。
另外,伴隨Kinect SDK1.6的發(fā)布比較有意義的一點是Kinect for Windows Sensor在中國市場的開賣, Xbox都沒有在中國發(fā)售啊,唯一有點遺憾的是語音識別沒有提供對中文的支持,如果要在針對中國市場的話,希望這點能夠改進。不過相信Kinect for Windows Sensor及其相關(guān)開發(fā)會有比較好的應(yīng)用前景。