// Methods

        /// <summary>
        /// Create a new CameraParameters object from a previously saved camera parameters XML file.
        /// </summary>
        /// <param name="cameraParametersFilePath">The file path to load.</param>
        /// <exception cref="ArgumentException">If the camera parameters couldn't be loaded because of a wrong file path.</exception>
        /// <returns>The CameraParameters loaded from the XML file or null if the file coulnd't be loaded.</returns>
        public static ArucoCameraParameters LoadFromXmlFile(string cameraParametersFilePath)
        {
            ArucoCameraParameters cameraParameters = null;

            // Try to load the file and deserialize it
            StreamReader reader = null;

            try
            {
                reader = new StreamReader(cameraParametersFilePath);
                XmlSerializer serializer = new XmlSerializer(typeof(ArucoCameraParameters));
                cameraParameters = serializer.Deserialize(reader) as ArucoCameraParameters;
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Couldn't load the camera parameters file path '" + cameraParametersFilePath + ". ",
                                            "cameraParametersFilePath", ex);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            cameraParameters.FilePath = cameraParametersFilePath;

            // Populate non-serialized properties
            cameraParameters.CameraMatrices = CreateProperty(cameraParameters.CameraMatricesType, cameraParameters.CameraMatricesValues);
            cameraParameters.DistCoeffs     = CreateProperty(cameraParameters.DistCoeffsType, cameraParameters.DistCoeffsValues);
            cameraParameters.OmnidirXis     = CreateProperty(cameraParameters.OmnidirXisType, cameraParameters.OmnidirXisValues);

            // Populate non-serialized properties of the stereo camera parameters
            if (cameraParameters.StereoCameraParameters != null)
            {
                cameraParameters.StereoCameraParameters.UpdateNonSerializedProperties();
            }

            return(cameraParameters);
        }
Example #2
0
 /// <summary>
 /// Initializes <see cref="CameraParameters"/> with <see cref="ArucoCameraParameters.LoadFromXmlFile(string)"/>.
 /// </summary>
 public virtual void Load()
 {
     CameraParameters = ArucoCameraParameters.LoadFromXmlFile(cameraParametersPath);
 }
Example #3
0
        // Methods

        /// <summary>
        /// Initializes <see cref="CameraParameters"/> with <see cref="ArucoCameraParameters.ArucoCameraParameters(int)"/>
        /// </summary>
        /// <param name="cameraNumber">The number of cameras in the calibrated camera system.</param>
        public virtual void Initialize(int cameraNumber)
        {
            CameraParameters = new ArucoCameraParameters(cameraNumber);
        }