public FormCalibrateDistortion(Bitmap currentImage, List <List <PointF> > points, CalibrationHelper calibrationHelper) { this.bmpCurrentImage = currentImage; this.calibrationHelper = calibrationHelper; if (calibrationHelper.DistortionHelper == null || !calibrationHelper.DistortionHelper.Initialized) { distortionParameters = new DistortionParameters(calibrationHelper.ImageSize); } else { distortionParameters = calibrationHelper.DistortionHelper.Parameters; } distorter.Initialize(distortionParameters, calibrationHelper.ImageSize); calibrator = new CameraCalibrator(points, calibrationHelper.ImageSize); InitializeComponent(); LocalizeForm(); SetupStyle(); PopulateStyleElements(); mnuOpen.Click += (s, e) => Open(); mnuSave.Click += (s, e) => Save(); mnuImportAgisoft.Click += (s, e) => ImportAgisoft(); mnuDefault.Click += (s, e) => RestoreDefaults(); mnuQuit.Click += (s, e) => Close(); btnCalibrate.Enabled = calibrator.Valid; AfterImport(); PopulatePhysicalParameters(); PopulateValues(); UpdateDistortionGrid(); }
public FormCalibrateDistortion(Bitmap currentImage, List <List <PointF> > points, CalibrationHelper calibrationHelper) { this.currentImage = currentImage; this.calibrationHelper = calibrationHelper; if (calibrationHelper.DistortionHelper == null || !calibrationHelper.DistortionHelper.Initialized) { distorter.Initialize(DistortionParameters.Default, calibrationHelper.ImageSize); bmpUndistorted = currentImage; } else { distorter.Initialize(calibrationHelper.DistortionHelper.Parameters, calibrationHelper.ImageSize); } calibrator = new CameraCalibrator(points, calibrationHelper.ImageSize); InitializeComponent(); LocalizeForm(); mnuOpen.Click += (s, e) => Open(); mnuSave.Click += (s, e) => Save(); mnuImportAgisoft.Click += (s, e) => ImportAgisoft(); mnuDefault.Click += (s, e) => RestoreDefaults(); mnuQuit.Click += (s, e) => Close(); if (currentImage == null) { tabPages.TabPages.Remove(tabImage); } btnCalibrate.Enabled = calibrator.Valid; Populate(); }
public void ReadXml(XmlReader r, PointF scale, Size imageSize) { r.ReadStartElement(); while (r.NodeType == XmlNodeType.Element) { switch (r.Name) { case "CalibrationPlane": calibratorType = CalibratorType.Plane; calibrator = calibrationPlane; calibrationPlane.ReadPlaneXml(r, scale); ComputeCoordinateSystemGrid(); break; case "CalibrationLine": calibratorType = CalibratorType.Line; //calibrator = calibrationLine; calibrator = calibrationPlane; calibrationPlane.ReadLineXml(r, scale); //calibrationLine.ReadXml(r, scale); break; case "CalibrationDrawingId": Guid result; bool parsed = Guid.TryParse(r.ReadElementContentAsString(), out result); if (parsed) { calibrationDrawingId = result; } break; case "Unit": lengthUnit = (LengthUnit)Enum.Parse(typeof(LengthUnit), r.ReadElementContentAsString()); break; case "CameraCalibration": DistortionParameters parameters = DistortionSerializer.Deserialize(r, imageSize); distortionHelper.Initialize(parameters, imageSize); break; default: string unparsed = r.ReadOuterXml(); log.DebugFormat("Unparsed content in KVA XML: {0}", unparsed); break; } } r.ReadEndElement(); AfterCalibrationChanged(); }