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(); } }
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); }
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(); } } }
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 { } } } }
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(); } } }
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; }