Пример #1
0
    private void releaseKinectResources()
    {
        if (SourceReaderRef != null)
        {
            SourceReaderRef.Dispose();
            SourceReaderRef = null;
        }

        if (KinectSensorRef != null)
        {
            if (KinectSensorRef.IsOpen)
            {
                KinectSensorRef.Close();
            }

            KinectSensorRef = null;
        }
    }
Пример #2
0
    public void OpenReader()
    {
        if (KinectSensorRef != null)
        {
            SourceReaderRef = KinectSensorRef.OpenMultiSourceFrameReader(FrameSourceTypes.Color | FrameSourceTypes.Depth);

            //OpenCVで使うのでRGBA
            var colorFrameDesc = KinectSensorRef.ColorFrameSource.CreateFrameDescription(ColorImageFormat.Bgra);
            ColorFrameWidth  = colorFrameDesc.Width;
            ColorFrameHeight = colorFrameDesc.Height;

            //領域確保
            ColorData = new byte[colorFrameDesc.BytesPerPixel * colorFrameDesc.LengthInPixels];
            DepthData = new ushort[KinectSensorRef.DepthFrameSource.FrameDescription.LengthInPixels];

            if (KinectSensorRef.IsOpen == false)
            {
                KinectSensorRef.Open();
            }
        }
    }