
v1.7を入れたままでしたがv1.8をインストールすると完全置き換えになります。なお、Kinect for Windows Speech Recognitionはv11.0のままなのでインスト0る済であれば再度インストールする必要はありません。
背景合成のサンプルが新しくなっていました。
従来の方法

何か今まで深度データが人かどうかのフラグで判定していたのですが、v1.8からはBackgroundRemovedColorStreamでデータとれるようです。

従来の方法と比べて境界がソフトフォーカス気味になっています。
どのようなコードで実現できるかは、次のコード例をみてください。機械的にかけるので非常に簡単ですね。
VB.NET
Using depthFrame = e.OpenDepthImageFrame()
If (depthFrame IsNot Null) Then
this.backgroundRemovedColorStream.ProcessDepth(depthFrame.GetRawPixelData(), depthFrame.Timestamp);
End If
End Using
Using colorFrame = e.OpenColorImageFrame()
If (colorFrame IsNot Null) Then
this.backgroundRemovedColorStream.ProcessColor(colorFrame.GetRawPixelData(), colorFrame.Timestamp);
End If
End Using
Using skeletonFrame = e.OpenSkeletonFrame()
If (skeletonFrame IsNot Null) Then
skeletonFrame.CopySkeletonDataTo(this.skeletons);
this.backgroundRemovedColorStream.ProcessSkeleton(this.skeletons, skeletonFrame.Timestamp);
End If
End Using
C#
using (var depthFrame = e.OpenDepthImageFrame())
{
if (null != depthFrame)
{
this.backgroundRemovedColorStream.ProcessDepth(depthFrame.GetRawPixelData(), depthFrame.Timestamp);
}
}
using (var colorFrame = e.OpenColorImageFrame())
{
if (null != colorFrame)
{
this.backgroundRemovedColorStream.ProcessColor(colorFrame.GetRawPixelData(), colorFrame.Timestamp);
}
}
using (var skeletonFrame = e.OpenSkeletonFrame())
{
if (null != skeletonFrame)
{
skeletonFrame.CopySkeletonDataTo(this.skeletons);
this.backgroundRemovedColorStream.ProcessSkeleton(this.skeletons, skeletonFrame.Timestamp);
}
}
Microsoft.Samples.Kinect.Webserver
最近のNUIの流行りのWebServerもv1.8には実装されています。
しかもソース提供なのでKinectに限らず何かローカルリソース使うときとかに改造するベースとして便利かもしれませんね。
WPFベースのWebserver Basicsを起動して

「Open sample page in default browser」をクリックすると背景合成サンプルが動き、IE上で背景が置き換わった映像がリアルタイムに生成されます。
ブラウザ側ではKinect-1.8.0.jsというJavaScriptがWebServerとの間でJSONでデータのやり取りをおこなっています。
