コード例 #1
0
ファイル: Form1.cs プロジェクト: ashepelev/image-processing
 public void generateSamples()
 {
     Random rnd = new Random();
     for (int i = 0; i < 10; ++i)
         for (int j = 0; j < SAMPLE_COUNT; ++j)
         {
             digits[i, j] = new Digit(i, rnd.Next(-border, border),rnd.Next(-vborder,vborder));
         }
 }
コード例 #2
0
ファイル: Form1.cs プロジェクト: ashepelev/image-processing
        private void button1_Click(object sender, EventArgs e)
        {
            Random rnd = new Random();
            Digit di = new Digit(rnd.Next(0,10),rnd.Next(-border, border),rnd.Next(-vborder,vborder));
            /*        for (int i = 0; i < 10000; ++i)
            {
                tr.matr[rnd.Next(0, MATRIX_SIZE), rnd.Next(0, MATRIX_SIZE)] = 1;
            }*/
            for (int i = 0; i < MATRIX_SIZE; ++i)
                for (int j = 0; j < MATRIX_SIZE; ++j)
            {
                    if (rnd.NextDouble() < 0.1)
                        di.matr[i, j] = (byte) ((di.matr[i, j] + 1) % 2);
            }
            drawSingleDigit(di, pictureBox1);
            double prodx = 0;
            for (int i = 0; i < 10; ++i)
            {
                for (int j = 0; j < ELEMS; ++j)
                {
                    prodx += solves[i].vector[j] * di.matr[j / MATRIX_SIZE, j % MATRIX_SIZE];
                }
                if (prodx > solves[i].Tetta)
                {
                    lines.Add(String.Format("This is {0}", i));
                    Digit di2 = new Digit(i, 0, 0);
                    drawSingleDigit(di2, pictureBox2);
                    richTextBox1.Lines = lines.ToArray();
                    richTextBox1.SelectionStart = richTextBox1.Text.Length;
                    richTextBox1.ScrollToCaret();
                }
                prodx = 0;
            }
            lines.Add(String.Format("\n"));
            richTextBox1.Lines = lines.ToArray();
            /*
            int recType = -1;
            if (prodx > solveTetta)
                recType = 1;
            else
                recType = 0;
            Triangle recTr = new Triangle(recType, 0);
            drawSingleTriangle(recTr, pictureBox4);

            lines.Add(String.Format("L * T = {0}", prodx));
            richTextBox1.Lines = lines.ToArray();

            richTextBox1.SelectionStart = richTextBox1.Text.Length;
            richTextBox1.ScrollToCaret(); */
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: ashepelev/image-processing
 public void drawSingleDigit(Digit di, PictureBox p)
 {
     //   p.Dispose();
        //     pictureBox1.Image.Dispose();
      //   pictureBox1.Image = new Bitmap(100, 100);
     Bitmap p1 = new Bitmap(MATRIX_SIZE, MATRIX_SIZE);
     for (int i = 0; i < MATRIX_SIZE; ++i)
         for (int j = 0; j < MATRIX_SIZE; ++j)
         {
             if (di.matr[i, j] == 0)
                 p1.SetPixel(i, j, Color.White);
             else
                 p1.SetPixel(i, j, Color.Black);
         }
     p.Image = p1;
     //        p.Update();
 }