Wygląda na to, że nie wyświetlają kompletnej chmury punktów, ale raczej niebieskiej mapy intensywności. Można to zrobić za pomocą obrazu głębokości z sdk systemu Kinect dla systemu Windows. To, czego szukasz, to indeks gracza. Jest to bit dostarczony w każdym pikselu obrazu głębi. Aby uzyskać bit indeksu gracza, musisz również włączyć strumień szkieletu w kodzie inicjalizacyjnym.
Tak to zrobię. Ja modyfikując jeden z Kinect dla Windows quickstarts SDK znaleźć here obciążenie go i wprowadzić następujące zmiany:
//Change image type to BGRA32
image1.Source =
BitmapSource.Create(depthFrame.Width, depthFrame.Height,
96, 96, PixelFormats.Bgra32, null, pixels, stride);
//hardcoded locations to Blue, Green, Red, Alpha (BGRA) index positions
const int BlueIndex = 0;
const int GreenIndex = 1;
const int RedIndex = 2;
const int AlphaIndex = 3;
//get player and depth at pixel
int player = rawDepthData[depthIndex] & DepthImageFrame.PlayerIndexBitmask;
int depth = rawDepthData[depthIndex] >> DepthImageFrame.PlayerIndexBitmaskWidth;
//check each pixel for player, if player is blue intensity.
if (player > 0)
{
pixels[colorIndex + BlueIndex] = 255;
pixels[colorIndex + GreenIndex] = intensity;
pixels[colorIndex + RedIndex] = intensity;
pixels[colorIndex + AlphaIndex] = 100;
}
else
{
//if not player make black and transparent
pixels[colorIndex + BlueIndex] = 000;
pixels[colorIndex + GreenIndex] = 000;
pixels[colorIndex + RedIndex] = 000;
pixels[colorIndex + AlphaIndex] = 0;
}
Lubię stosując ten przykład do testowania kolorów, ponieważ nadal zapewnia Ci widza głębi po prawej stronie bok.Mam załączeniu obraz ten efekt działa poniżej:

Obraz po lewej stronie jest mapa z intensywność lekko zabarwiony danych intensywności poziomie pikseli.
nadzieję, że pomoże David Bates
Po pomyśleniu o efekcie poziomu pikseli. Mógłbyś dla każdego innego piksela zwiększyć intensywność, aby uzyskać efekt blasku pokazany na obrazie próbki. Po prostu sayin :) – davidbates
Fajnie! Wielkie dzięki! –