public void LoadMainData(CullingProject cullingProject, int countOfRows) { _countOfRows = countOfRows; _cullingProject = cullingProject; pbPosition.Maximum = countOfRows; }
private void сохранитьПроектToolStripMenuItem_Click(object sender, EventArgs e) { Bitmap res = Utils.UnionOfImages(GetCorrectedPoints(), trbToleranceLimit.Value, _images); byte[,,] union = Utils.BitmapToByteRgb(res); CullingProject cullingProject = new CullingProject(tbNameOfProject.Text, rtbDescription.Text, union, _keyPoints, _offset, trbToleranceLimit.Value); cullingProject.SaveObject(); }
private void OpenCullingProject() { string path = Environment.CurrentDirectory + "\\" + Settings.PathToSaveProjects; OpenFileDialog ofd = new OpenFileDialog { InitialDirectory = path, Filter = "Culling Project (*.cpr)|*.cpr", Title = "Выбор файла проекта отбраковки" }; if (ofd.ShowDialog() == DialogResult.OK) { _cullingProject = CullingProject.GetSavedProject(ofd.FileName); lblProjectOfCulling.Text = Path.GetFileName(ofd.FileName); } }
/// <summary> /// Конструктор принимает объект проекта отбраковки /// </summary> /// <param name="cullingProject">Ссылка на объект проекта отбраковки</param> /// <param name="islandLimit">Минимальный размер островка несоответствующих пикселей, которые не игнорируются</param> /// <param name="sumIslandLimit">Максимальный размер суммы пикселей в неигнорируемых островках, при котором чип считается годным</param> public VisualInspect(CullingProject cullingProject, int islandLimit, int sumIslandLimit) { _islandLimit = islandLimit; _sumIslandLimit = sumIslandLimit; // сохраняем проект отбраковки _cullingProject = cullingProject; // сохраняем сегментированное изображение годного чипа _segmentedMassGoodChip = cullingProject.UnitedImage; // находим края изображения годного чипа EdgeFinder edgeFinder = new EdgeFinder(_segmentedMassGoodChip); _edgeNearAreaMas = edgeFinder.GetEdgeNearArea(EdgeRadius); // фиксируем размеры массива _heightOfGood = _segmentedMassGoodChip.GetUpperBound(0) + 1; _widthOfGood = _segmentedMassGoodChip.GetUpperBound(1) + 1; // создаем объект для нахождения лучшего совмещения _superImposition = new SuperImposition(_segmentedMassGoodChip) { AcceptablePercent = ImpositionAcceptablePercent }; }