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