public void Initialize(AzureKinectSensor kinectSensor)
        {
            if (!_Initialized)
            {
                _KinectSensor = kinectSensor;
                if (_KinectSensor != null)
                {
                    Debug.Log("ColorResolution: " + _KinectSensor.ColorImageWidth + "x" + _KinectSensor.ColorImageHeight);
                    Debug.Log("DepthResolution: " + _KinectSensor.DepthImageWidth + "x" + _KinectSensor.DepthImageHeight);

                    // _LowPassFilter = new ExponentialSmoothingLowPassFilter((uint)_Accel.Length, 0.05f);
                    // _LowPassFilter = new DoubleExponentialSmoothingLowPassFilter((uint)_Accel.Length, 0.3f, 0.3f);
                    _LowPassFilter = new ButterworthFilter(_Order, _SamplingFrequency, _CutoffFrequency, (uint)_Accel.Length);

                    _DepthRawData       = new byte[_KinectSensor.DepthImageWidth * _KinectSensor.DepthImageHeight * sizeof(ushort)];
                    _PointCloudRenderer = GetComponent <PointCloudRenderer>();

                    CameraCalibration deviceDepthCameraCalibration = _KinectSensor.DeviceCalibration.DepthCameraCalibration;
                    CameraCalibration deviceColorCameraCalibration = _KinectSensor.DeviceCalibration.ColorCameraCalibration;

                    K4A.Calibration calibration = new K4A.Calibration();
                    calibration.DepthCameraCalibration = CreateCalibrationCamera(deviceDepthCameraCalibration, _KinectSensor.DepthImageWidth, _KinectSensor.DepthImageHeight);
                    calibration.ColorCameraCalibration = CreateCalibrationCamera(deviceColorCameraCalibration, _KinectSensor.ColorImageWidth, _KinectSensor.ColorImageHeight);

                    _PointCloudRenderer.GenerateMesh(calibration, K4A.CalibrationType.Depth);

                    _Initialized = true;
                }
            }
        }
 public void Initialize(AzureKinectSensor kinectSensor)
 {
     if (!_Initialized)
     {
         _KinectSensor = kinectSensor;
         if (_KinectSensor != null)
         {
             _LowPassFilter = new ButterworthFilter(_Order, _SamplingFrequency, _CutoffFrequency, (uint)_KinectPos.Length);
             _Initialized   = true;
         }
     }
 }
예제 #3
0
        void Start()
        {
            List <AzureKinectSensor> kinectSensors = _AzureKinectManager.SensorList;

            if (_DeviceNumber < kinectSensors.Count)
            {
                _KinectSensor = _AzureKinectManager.SensorList[_DeviceNumber];
                if (_KinectSensor != null)
                {
                    Debug.Log("ColorResolution: " + _KinectSensor.ColorImageWidth + "x" + _KinectSensor.ColorImageHeight);
                    Debug.Log("DepthResolution: " + _KinectSensor.DepthImageWidth + "x" + _KinectSensor.DepthImageHeight);

                    // _LowPassFilter = new ExponentialSmoothingLowPassFilter((uint)_Accel.Length, 0.05f);
                    // _LowPassFilter = new DoubleExponentialSmoothingLowPassFilter((uint)_Accel.Length, 0.3f, 0.3f);
                    _LowPassFilter = new ButterworthFilter(_Order, _SamplingFrequency, _CutoffFrequency, (uint)_Accel.Length);

                    _ColorImageTexture = new Texture2D(_KinectSensor.ColorImageWidth, _KinectSensor.ColorImageHeight, TextureFormat.BGRA32, false);

                    _PointCloudMesh = GetComponent <PointCloudMesh>();
                    _PointCloudMesh.GenerateMesh(_KinectSensor.ColorImageWidth, _KinectSensor.ColorImageHeight);
                }
            }
        }
 internal SoundFingerprintingAudioService(ILowPassFilter lowPassFilter, IAudioSamplesNormalizer audioSamplesNormalizer)
 {
     this.lowPassFilter          = lowPassFilter;
     this.audioSamplesNormalizer = audioSamplesNormalizer;
 }