완전한 점 구름을 표시하는 대신 파란색 음영의 강도 맵을 표시하는 것처럼 보입니다. Kinect for Windows sdk의 심도 이미지를 사용하여이 작업을 수행 할 수 있습니다. 당신이 찾고있는 것은 플레이어 지수입니다. 이는 깊이 이미지의 각 픽셀에 제공된 비트입니다. 플레이어 인덱스 비트를 얻으려면 초기화 코드에서 스켈 레탈 스트림을 활성화해야합니다.
이것이 내가하는 방법입니다. 나는 아직도 오른쪽에 깊이 뷰어를 제공하기 때문에 색상을 테스트하기 위해이 예제를 사용하여 좋아
//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;
}
: 나는 Kinect를 Windows 용 SDK의 퀵 중 하나를 수정하고하는 것은 here 부하 그것까지하고 다음과 같이 변경 발견 측면.I 아래 실행이 효과의 화상을 첨부 :
왼쪽 이미지는 약간 착색 화소 레벨의 휘도 데이터와 휘도 맵이다. 데이비드 베이츠
픽셀 수준 효과를 생각한 후. 다른 모든 픽셀에 대해 강도를 높이면 샘플 이미지에 표시된 스파클 효과를 얻을 수 있습니다. 그냥 선생님 :) – davidbates
멋지다! 고마워! –