Ejemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                m[0] = new Bitmap(openFileDialog1.FileName);

                List <Neuron> pattern = bitmapToPattern(m[0]);

                imageMagnifier1.ImageToMagnify           = m[0];
                imageMagnifier1.MagnificationCoefficient = 10;

                NN.AddPattern(pattern);

                Bitmap bitmap = patternToBitmap(NN.Neurons);
                imageMagnifier3.ImageToMagnify           = bitmap;
                imageMagnifier3.MagnificationCoefficient = 10;

                //List<Neuron> randomPattern = generateRandomPattern(100);
                //imageMagnifier2.ImageToMagnify = patternToBitmap(randomPattern);
                //imageMagnifier2.MagnificationCoefficient = 10;

                label1.Text = (NN.M).ToString();
            }
        }
Ejemplo n.º 2
0
        private void CreatePattern(Bitmap img)
        {
            int row    = img.Height;
            int col    = img.Width;
            int offset = 0;

            List <Neuron> pattern = new List <Neuron>();

            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < col; j++)
                {
                    Neuron n     = new Neuron();
                    Color  pixel = img.GetPixel(j, i);
                    if (pixel.B == 255 && pixel.G == 255 && pixel.R == 255)
                    {
                        n.State = NeuronStates.AlongField;
                        pic_box[offset + j].BackColor = Color.White;
                    }
                    else
                    {
                        n.State = NeuronStates.AgainstField;
                        pic_box[offset + j].BackColor = Color.Black;
                    }
                    pattern.Add(n);
                }
                offset += 10;
            }
            nn.AddPattern(pattern);
        }
Ejemplo n.º 3
0
        private void AddPattern()
        {
            Image imgPattern;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                imgPattern = Image.FromFile(openFileDialog1.FileName);
                if (imgPattern.Width != imageDim || imgPattern.Height != imageDim)
                {
                    MessageBox.Show("Image size must be " + imageDim.ToString() + "x" + imageDim.ToString() + " pixels", "Wrong image size", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    int[,] patternPixels;
                    int    p        = 0;
                    int    midColor = Math.Abs((int)(Color.Black.ToArgb() / 2));
                    Bitmap b        = new Bitmap(imgPattern);
                    patternPixels = new int[imageDim, imageDim];
                    List <Neuron> pattern = new List <Neuron>(imageDim * imageDim);
                    for (int i = 0; i < imageDim; i++)
                    {
                        for (int j = 0; j < imageDim; j++)
                        {
                            Neuron n = new Neuron();
                            p = Math.Abs(b.GetPixel(i, j).ToArgb());
                            if (p < midColor)
                            {
                                b.SetPixel(i, j, Color.White);
                                n.State = NeuronStates.AlongField;
                            }
                            else
                            {
                                b.SetPixel(i, j, Color.Black);
                                n.State = NeuronStates.AgainstField;
                            }
                            pattern.Add(n);
                        }
                    }
                    patternList.Add(pattern);
                    NN.AddPattern(pattern);

                    PictureBox img      = new PictureBox();
                    Padding    myMargin = new Padding();
                    myMargin.All = 10;
                    img.Image    = new Bitmap(imgPattern);
                    img.Width    = 100;
                    img.Height   = 80;
                    img.Margin   = myMargin;
                    img.SizeMode = PictureBoxSizeMode.StretchImage;
                    StoredImgPanel.Controls.Add(img);
                    SelectPictureBtn.Enabled = true;
                    //UpdatePropertiesPB();
                }
            }
        }
Ejemplo n.º 4
0
        private void loadFile_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog openFile = new OpenFileDialog())
            {
                openFile.Title  = "Load Image";
                openFile.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.png) | *.jpg; *.jpeg; *.jpe; ; *.png";

                if (openFile.ShowDialog() == DialogResult.OK)
                {
                    learnDialog learn = new learnDialog();

                    if (learn.ShowDialog() == DialogResult.OK)
                    {
                        int t = learn.Value;


                        Bitmap        temp    = new Bitmap(openFile.FileName);
                        List <Neuron> pattern = new List <Neuron>(n);

                        int midColor = Math.Abs((int)(Color.Black.ToArgb() / 2));

                        for (int i = 0; i < temp.Width; i++)
                        {
                            for (int j = 0; j < temp.Height; j++)
                            {
                                Neuron n = new Neuron();
                                int    p = Math.Abs(temp.GetPixel(i, j).ToArgb());
                                p = Math.Abs(temp.GetPixel(i, j).ToArgb());
                                if (p < midColor)
                                {
                                    temp.SetPixel(i, j, Color.White);
                                    n.State = NeuronStates.AlongField;
                                }
                                else
                                {
                                    temp.SetPixel(i, j, Color.Black);
                                    n.State = NeuronStates.AgainstField;
                                }
                                pattern.Add(n);
                            }
                        }

                        pictureBox1.Image = temp;

                        for (int i = 0; i < t; i++)
                        {
                            network.AddPattern(pattern);
                        }
                    }
                    else
                    {
                    }
                }
            }
        }
Ejemplo n.º 5
0
        private void AddPatternBut_Click(object sender, EventArgs e)
        {
            Image imgPattern;

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                imgPattern = Image.FromFile(ofd.FileName);
                if (imgPattern.Width != imageDim || imgPattern.Height != imageDim)
                {
                    MessageBox.Show("Image size must be " + imageDim.ToString() + "x" + imageDim.ToString() + " pixels", "Wrong image size", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    int[,] patternPixels;
                    int    p        = 0;
                    int    midColor = Math.Abs((int)(Color.Black.ToArgb() / 2));
                    Bitmap b        = new Bitmap(imgPattern);
                    patternPixels = new int[imageDim, imageDim];
                    List <Neuron> pattern = new List <Neuron>(imageDim * imageDim);
                    for (int i = 0; i < imageDim; i++)
                    {
                        for (int j = 0; j < imageDim; j++)
                        {
                            Neuron n = new Neuron();
                            p = Math.Abs(b.GetPixel(i, j).ToArgb());
                            if (p < midColor)
                            {
                                b.SetPixel(i, j, Color.White);
                                n.State = NeuronStates.AlongField;
                            }
                            else
                            {
                                b.SetPixel(i, j, Color.Black);
                                n.State = NeuronStates.AgainstField;
                            }
                            pattern.Add(n);
                        }
                    }
                    NN.AddPattern(pattern);
                    ImageMagnifier.ImageMagnifier im = new ImageMagnifier.ImageMagnifier();
                    im.ImageToMagnify           = b;
                    im.MagnificationCoefficient = 8;
                    im.Location = new System.Drawing.Point(1, ((NN.M - 1) * (imageDim + 2) * im.MagnificationCoefficient));
                    im.Size     = new System.Drawing.Size(imageDim * im.MagnificationCoefficient, imageDim * im.MagnificationCoefficient);
                    im.TabIndex = 0;
                    im.Click   += new EventHandler(im_Click);
                    panelStoredImages.Controls.Add(im);
                    butRunDynamics.Enabled = true;
                    UpdatePropertiesPB();
                }
            }
        }
Ejemplo n.º 6
0
        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            Bitmap        b         = new Bitmap(openFileDialog1.FileName);
            int           p         = 0;
            int           divider   = Math.Abs((int)(Color.Black.ToArgb() / 2));
            List <Neuron> neuralnet = new List <Neuron>(imageSize * imageSize);

            for (int i = 0; i < imageSize; i++)
            {
                for (int j = 0; j < imageSize; j++)
                {
                    Neuron n = new Neuron();
                    p = Math.Abs(b.GetPixel(i, j).ToArgb());
                    if (p < divider)
                    {
                        b.SetPixel(i, j, Color.White);
                        n.State = NeuronStates.AlongField;
                    }
                    else
                    {
                        b.SetPixel(i, j, Color.Black);
                        n.State = NeuronStates.AgainstField;
                    }
                    neuralnet.Add(n);
                }
            }
            NN.AddPattern(neuralnet);
            ImageMagnifier.ImageMagnifier im = new ImageMagnifier.ImageMagnifier();
            im.MagnificationCoefficient = 6;
            im.ImageToMagnify           = b;
            im.Location = new System.Drawing.Point(13, ((NN.M - 1) * (imageSize + 2) * im.MagnificationCoefficient));
            im.Size     = new System.Drawing.Size(10 * im.MagnificationCoefficient, imageSize * im.MagnificationCoefficient);
            im.TabIndex = 0;
            im.Click   += new EventHandler(im_Click);
            patternspanel.Controls.Add(im);
            runbtn.Enabled = true;
        }