コード例 #1
0
        public void LoadMainData(CullingProject cullingProject, int countOfRows)
        {
            _countOfRows = countOfRows;
            _cullingProject = cullingProject;

            pbPosition.Maximum = countOfRows;
        }
コード例 #2
0
        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();
        }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
        /// <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
            };
        }