HandInput.Util.PlayerDetector.UpdatePlayerDepthImage C# (CSharp) Method

UpdatePlayerDepthImage() public method

public UpdatePlayerDepthImage ( short depthFrame, Byte playerMask, Byte skinMask, Rectangle roi ) : void
depthFrame short
playerMask Byte
skinMask Byte
roi System.Drawing.Rectangle
return void
        void UpdatePlayerDepthImage(short[] depthFrame, Byte[, ,] playerMask, Byte[, ,] skinMask,
        Rectangle roi)
        {
            // Clear depth image.
              CvInvoke.cvZero(DepthImage.Ptr);
              var data = DepthImage.Data;

              var scale = (float)255 / HandInputParams.MaxDepth;

              var roiWidth = width;
              var roiHeight = height;
              if (!roi.IsEmpty) {
            roiWidth = roi.Width;
            roiHeight = roi.Height;
              }
              for (int r = roi.Top; r < roi.Top + roiHeight; r++)
            for (int c = roi.Left; c < roi.Left + roiWidth; c++) {
              var index = r * width + c;
              short pixel = depthFrame[index];
              var depth = DepthUtil.RawToDepth(pixel);
              if (IsFilteredPixel(playerMask, skinMask, c, r, depth))
            data[r, c, 0] = (byte)(Math.Max(0, HandInputParams.MaxDepth - depth) * scale);
            }
        }

Same methods

PlayerDetector::UpdatePlayerDepthImage ( short depthFrame, Seq contour, Byte skinMask ) : void