private void GenerateListFromSnapshot(SceneCalibrationSnapshot snapshot) { Data = new List <Tuple <string, Bitmap> >() { new Tuple <string, Bitmap>(nameof(snapshot.BinarizationImage), snapshot.BinarizationImage), new Tuple <string, Bitmap>(nameof(snapshot.CannyImage), snapshot.CannyImage), new Tuple <string, Bitmap>(nameof(snapshot.GrayImage), snapshot.GrayImage), new Tuple <string, Bitmap>(nameof(snapshot.MaskedColorImage), snapshot.MaskedColorImage) }; }
public CalibrationSnapshotForm(MainGameForm mainForm, SceneCalibrationSnapshot snapshot) { this.MainForm = mainForm; InitializeComponent(); var materialSkinManager = MaterialSkinManager.Instance; materialSkinManager.AddFormToManage(this); Update(snapshot); }
public void Update(SceneCalibrationSnapshot snapshot) { if (snapshot == null) { NameLabel.Text = ProgramLocalization.NoDataArrived; LeftButton.Visible = false; RightButton.Visible = false; return; } LeftButton.Visible = true; RightButton.Visible = true; GenerateListFromSnapshot(snapshot); CurrentPosition = 0; UpdatePicturebox(); }
public (Chessboard3DReprezentation boardReprezentation, SceneCalibrationSnapshot snapshot) LocateChessboard(ChessboardTrackingCompleteData chessboardData) { var grayImage = GetGrayImage(chessboardData.PlaneData.MaskedColorImageOfTable); var binarizedImage = GetBinarizedImage(grayImage, chessboardData.UserParameters.OtzuActiveInBinarization, chessboardData.UserParameters.BinarizationThreshold); var cannyDetectorImage = ApplyCannyDetector(binarizedImage); var linesTuple = GetFilteredHoughLines(cannyDetectorImage); var snapshot = new SceneCalibrationSnapshot() { BinarizationImage = ((Bitmap)binarizedImage.Convert <Rgb, byte>().Bitmap.Clone()).HorizontalFlip(), CannyImage = ((Bitmap)cannyDetectorImage.Convert <Rgb, byte>().Bitmap.Clone()).HorizontalFlip(), GrayImage = ((Bitmap)grayImage.Convert <Rgb, byte>().Bitmap.Clone()).HorizontalFlip(), MaskedColorImage = ((Bitmap)chessboardData.PlaneData.MaskedColorImageOfTable.Convert <Rgb, byte>().Bitmap.Clone()).HorizontalFlip() }; var contractedPoints = LinesIntersections.GetIntersectionPointsOfTwoGroupsOfLines(linesTuple); var boardRepresentation = ChessboardFitting.ChessboardFittingAlgorithm(contractedPoints, chessboardData); return(boardRepresentation, snapshot); }
public void UpdateCalibrationSnapshot(SceneCalibrationSnapshot snapshot) { MainForm?.UpdateCalibrationSnapshot(snapshot); }
public SceneCalibrationSnapshotMessage(SceneCalibrationSnapshot snapshot) { Snapshot = snapshot; }
public void UpdateCalibrationSnapshot(SceneCalibrationSnapshot snapshot) { this.Snapshot = snapshot; SnapshotForm?.Update(snapshot); }