Пример #1
0
 public Classifier(SignImage image)
 {
     M      = image.Bmp.Width;
     N      = image.Bmp.Height;
     LogStr = new StringBuilder();
     //Генерируем случайные значения элементов Wmn матрицы M х N
     LogStr.AppendLine("Сумма квад ратов матрицы весов Wmn: " + Math.Round(GenerateWB(), 3));
     StartClassification(image, 1);
     Write2DArray("w.txt", W);
     WriteArray("b.txt", B);
 }
Пример #2
0
 public Classifier(SignImage image, double[,] W, double[] B, double m)
 {
     M      = image.Bmp.Width;
     N      = image.Bmp.Height;
     this.W = W;
     this.B = B;
     LogStr = new StringBuilder();
     //Генерируем случайные значения элементов Wmn матрицы M х N
     LogStr.AppendLine("Сумма квадратов матрицы весов Wmn: " + Math.Round(CheckW(), 3));
     StartClassification(image, m);
 }
Пример #3
0
 private void StartClassification(SignImage image, double m)
 {
     //Определяем координаты устойчивой точки
     FindStablePoint2(image.Brightness, m);
     LogStr.AppendLine("Количество итераций при поиске устойчивой точки: " + _stablePointList.Count);
     LogStr.AppendLine("Максимальное значение в векторе устойчивой точки: " + Math.Round(StablePoint.Max(), 3));
     LogStr.AppendLine("Минимальное значение в векторе устойчивой точки: " + Math.Round(StablePoint.Min(), 3));
     //Определяем коэффициент сжатия отображения K
     GenerateK();
     LogStr.AppendLine("Коэффициент сжатия отображения K: " + Math.Round(K, 5));
     CreateIntervals();
     LogStr.AppendLine("Количество диапазонов эвклидовых расстояний: " + Split.Clasters.Count);
 }
Пример #4
0
        private void buttonSP_Click(object sender, EventArgs e)
        {
            double m = m2[0];

            if (radioButtonMaxDH.Checked == true)
            {
                m = m2[1];
            }
            //Генерируем новые W и B или используем из файла
            classifier = rBNo.Checked == true ? new Classifier(collectionList[0]) : new Classifier(collectionList[0], Read2DArray("w.txt"), ReadArray("b.txt"), m);

            textBoxLog.Text += classifier.LogStr;
            im = new SignImage();
            pictureStablePoint.Image = im.CreateImage(classifier.StablePoint);

            pictureBoxIntervals.BackColor = Color.White;
            pictureBoxIntervals.Visible   = true;
            pictureBoxIntervals.Paint    += this.pictureBoxIntervals_Paint;
        }