public static bool TryLoadFromFile(string fileName, out Extrinsics extrinsics)
        {
            extrinsics = null;

            if (!Directory.Exists(TrackingToolsConstants.extrinsicsDirectoryPath))
            {
                Debug.LogError(logPrepend + "Directory missing.\n" + TrackingToolsConstants.extrinsicsDirectoryPath);
                return(false);
            }

            string filePath = TrackingToolsConstants.extrinsicsDirectoryPath + "/" + fileName;

            if (!fileName.EndsWith(".json"))
            {
                filePath += ".json";
            }
            if (!File.Exists(filePath))
            {
                Debug.LogError(logPrepend + "File missing.\n" + filePath);
                return(false);
            }

            extrinsics = JsonUtility.FromJson <Extrinsics>(File.ReadAllText(filePath));
            return(true);
        }
 public CameraExtrinsicsCalibrator()
 {
     _noDistCoeffs      = new MatOfDouble(new double[5]);
     _rotationVecMat    = new Mat();
     _translationVecMat = new Mat();
     _extrinsics        = new Extrinsics();
 }
        void Awake()
        {
            if (!Extrinsics.TryLoadFromFile(_extrinsicsFileName, out _extrinsics))
            {
                enabled = false;
                return;
            }

            _extrinsics.ApplyToTransform(transform, _anchorTransform, _inverse, _isMirrored);

            if (_anchorTransform && _imbedInAnchorTransform)
            {
                transform.SetParent(_anchorTransform);
            }
        }
示例#4
0
        public ProjectorFromCameraExtrinsicsCalibrator()
        {
            const int regularSampleCount = 8;

            _cameraSensorMat              = new Mat();
            _projectorSensorMat           = new Mat();
            _noDistCoeffs                 = new MatOfDouble(new double[5]);
            _patternWorldSamples          = new List <Mat>(regularSampleCount);
            _projectorPatternImageSamples = new List <Mat>(regularSampleCount);
            _cameraPatternImageSamples    = new List <Mat>(regularSampleCount);
            _rotation3x3Mat               = new Mat();
            _translationVecMat            = new Mat();
            _essentialMat                 = new Mat();
            _fundamentalMat               = new Mat();
            _extrinsics = new Extrinsics();
        }