// 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); }
/// <summary> /// Initializes <see cref="CameraParameters"/> with <see cref="ArucoCameraParameters.LoadFromXmlFile(string)"/>. /// </summary> public virtual void Load() { CameraParameters = ArucoCameraParameters.LoadFromXmlFile(cameraParametersPath); }
// 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); }