public TekBoardAnalyzer(TekGridAnalyzer GridAnalyzer) { Borders = new TekBorderAnalyzer(GridAnalyzer.matGrayScaleImage, GridAnalyzer.gridDef); Characters = new TekCharacterRecognition(GridAnalyzer.matGrayScaleImage, GridAnalyzer.gridDef); Board = new TekBoard(GridAnalyzer.gridDef.Rows, GridAnalyzer.gridDef.Cols); InsertValues(); InsertAreas(); }
private void button2_Click(object sender, EventArgs e) { GridAnalyzer = new TekGridAnalyzer(imgOriginal); pbGray.Image = GridAnalyzer.matGrayScaleImage.Bitmap; pbEdges.Image = GridAnalyzer.cannyEdges.Bitmap; lineImage = imgOriginal.CopyBlank(); foreach (LineSegment2D line in GridAnalyzer.Lines) { lineImage.Draw(line, new Bgr(Color.LightGreen), 2); } pbLines.Image = lineImage.Bitmap; Image <Bgr, Byte> image3 = lineImage.CopyBlank(); foreach (OCVCombinedLinesData line in GridAnalyzer.Grid.HorizontalLines) { OCVLineData summ = line.GetSummaryLine(); image3.Draw(summ.Line, new Bgr(Color.Azure), 2); } foreach (OCVCombinedLinesData line in GridAnalyzer.Grid.VerticalLines) { OCVLineData summ = line.GetSummaryLine(); if (summ.Length > 35) { image3.Draw(summ.Line, new Bgr(Color.LightPink), 2); } } pbAnalyzed.Image = image3.Bitmap; using (GridSizeForm gridForm = new GridSizeForm()) { gridForm.GridAnalyzer = GridAnalyzer; gridForm.LoadImage(imgOriginal); gridForm.SetGridDef(GridAnalyzer.gridDef); if (gridForm.ShowDialog() == DialogResult.OK) { GridAnalyzer.gridDef = gridForm.GetGridDef(); } } Image <Bgr, Byte> lineImage2 = imgOriginal.CopyBlank(); DrawGrid(lineImage2, GridAnalyzer.gridDef, new Bgr(Color.White)); pbGrid.Image = lineImage2.Bitmap; Image <Bgr, Byte> lineImage4 = imgOriginal.Copy(); DrawGrid(lineImage4, GridAnalyzer.gridDef, new Bgr(Color.Purple)); pbCombi.Image = lineImage4.Bitmap; tabControl1.SelectedTab = tbCombi; }