private void fourConsistentToolStripMenuItem1_Click(object sender, EventArgs e) { var imageToDisplay = Lab4.Dylatacja(new FastBitmap(GetImage()), Lab4.Spojnosc.Czterospojne); var form = new ImageForm(new Image <Bgr, byte>(imageToDisplay.Unlock())); form.Show(); }
private void eightConsistentToolStripMenuItem3_Click(object sender, EventArgs e) { var imageToDisplay = Lab4.Erozja(new FastBitmap(GetImage()), Lab4.Spojnosc.Osmiospojne); var form = new ImageForm(new Image <Bgr, byte>(imageToDisplay.Unlock())); form.Show(); }
private unsafe void robertsToolStripMenuItem1_Click(object sender, EventArgs e) { Bitmap result; var grayImg = new Image <Gray, byte>(GetImage()); lock (grayImg) { result = grayImg.Bitmap; var data = result.LockBits(new Rectangle(0, 0, grayImg.Width, grayImg.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); var p = (byte *)data.Scan0.ToPointer(); var offset = data.Stride - result.Width * 3; for (var i = 0; i < result.Height - 1; i++) { for (var j = 0; j < result.Width - 1; j++) { var Gx = (int)Math.Pow(p[0] - (p + 3 + data.Stride)[0], 2); var Gy = (int)Math.Pow((p + 3)[0] - (p + data.Stride)[0], 2); var f = Gx + Gy; p[0] = p[1] = p[2] = (byte)f; p += 3; } p += offset; } result.UnlockBits(data); } ImageForm form = new ImageForm(new Image <Bgr, byte>(result)); form.Show(); }
private void negationToolStripMenuItem1_Click(object sender, EventArgs e) { var negatedImage = Lab2.Negacja(GetImage()); var form = new ImageForm(new Image <Bgr, byte>(negatedImage)); form.Show(); }
private void skeletizationToolStripMenuItem_Click(object sender, EventArgs e) { var fbmp = Lab4.Skelatanize(GetImage()); var form = new ImageForm(new Image <Bgr, byte>(fbmp)); form.Show(); }
private void eightConsistentToolStripMenuItem_Click(object sender, EventArgs e) { var imageAfterDilation = Lab4.Dylatacja(new FastBitmap(GetImage()), Lab4.Spojnosc.Osmiospojne); var result = Lab4.Erozja(new FastBitmap(imageAfterDilation.Unlock()), Lab4.Spojnosc.Osmiospojne); var form = new ImageForm(new Image <Bgr, byte>(result.Unlock())); form.Show(); }
private void medianFilterToolStripMenuItem_Click(object sender, EventArgs e) { valueForm = new MedianFilteringValueForm(3, 11, "Type Kernel size", false, true); if (valueForm.ShowDialog() == DialogResult.OK) { Image <Bgr, byte> image = new Image <Bgr, byte>(GetImage()); ImageForm form = new ImageForm(image.SmoothMedian(valueForm.Value)); form.Show(); } }
public EdgeDetectionForm(Bitmap bmp) { InitializeComponent(); CreateMatrixTable(mask1, ref tableLayoutPanel1, false); CreateMatrixTable(mask2, ref tableLayoutPanel2, false); CreateMatrixTable(mask3, ref tableLayoutPanel3, false); img = new Image <Bgr, float>(bmp); form = new ImageForm(); form.Show(); }
public SharpeningForm(Bitmap bmp) { InitializeComponent(); CreateMatrixTable(mask1, ref tableLayoutPanel1, false); CreateMatrixTable(mask2, ref tableLayoutPanel2, false); CreateMatrixTable(mask3, ref tableLayoutPanel3, false); img = new Image <Gray, float>(bmp); form = new ImageForm(); form.Show(); }
public SmootingFormv2(Bitmap bmp) { InitializeComponent(); CreateMatrixTable(mask1, ref tableLayoutPanel1, false); CreateMatrixTable(mask2, ref tableLayoutPanel2, false); CreateMatrixTable(mask3, ref tableLayoutPanel3, false); CreateMatrixTable(GetMatrixByKValue(0), ref tableLayoutPanel4, true); InitializeComponent(); img = new Image <Gray, float>(bmp); form = new ImageForm(); form.Show(); }
private void sobelToolStripMenuItem1_Click(object sender, EventArgs e) { var img = GetImage(); Image <Gray, byte> _imgGray = new Image <Gray, byte>(img); Image <Gray, float> _imgSobel = new Image <Gray, float>(img.Width, img.Height); _imgSobel = _imgGray.Sobel(1, 1, 3); var form = new ImageForm(new Image <Bgr, byte>(_imgSobel.Bitmap)); form.Show(); }
/*private void universalNeighbourOperationToolStripMenuItem_Click_1(object sender, EventArgs e) * { * MaskCreator form = new MaskCreator(); * if (form.ShowDialog() == DialogResult.OK) * { * var fastbitmap = new FastBitmap(GetImage()); * var effectImage = Lab3.ApplyMask(fastbitmap, form.Mask, form.Divisor); * effectImage.Unlock(); * ImageForm imgForm = new ImageForm(new Image<Bgr, byte>(effectImage.Bitmap)); * imgForm.Show(); * } * }*/ private void universalNeighbourOperationToolStripMenuItem_Click_2(object sender, EventArgs e) { MaskCreator form = new MaskCreator(); if (form.ShowDialog() == DialogResult.OK) { var fastbitmap = new FastBitmap(GetImage()); var effectImage = Lab3.ApplyMask(fastbitmap, form.Mask, form.Divisor); effectImage.Unlock(); ImageForm imgForm = new ImageForm(new Image <Bgr, byte>(effectImage.Bitmap)); imgForm.Show(); } }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { openFileDialog1.Title = "Select a picture"; openFileDialog1.Filter = "All supported graphics|*.jpg;*.jpeg;*.png;*.jfif;*.bmp|" + "JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg;|" + "Portable Network Graphic (*.png)|*.png"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { Cursor = Cursors.WaitCursor; foreach (string filename in openFileDialog1.FileNames) { _image = new Image <Bgr, byte>(filename); ImageForm form = new ImageForm(_image); form.TopLevel = false; this.panel1.Controls.Add(form); form.Show(); } Cursor = Cursors.Default; } }
public StrechingForm() { InitializeComponent(); form = new ImageForm(); form.Show(); }
public TresholdForm() { InitializeComponent(); form = new ImageForm(); form.Show(); }
public PosterizationForm() { InitializeComponent(); form = new ImageForm(); form.Show(); }
public ThresholdGrayLevelForm() { InitializeComponent(); form = new ImageForm(); form.Show(); }
private unsafe void prewittToolStripMenuItem1_Click(object sender, EventArgs e) { int m1w1 = 1; int m1w2 = 1; int m1w3 = 1; int m1w4 = 1; int m1w5 = -2; int m1w6 = 1; int m1w7 = -1; int m1w8 = -1; int m1w9 = -1; //-----maska2 Prewitt S int m2w1 = -1; int m2w2 = -1; int m2w3 = -1; int m2w4 = 1; int m2w5 = -2; int m2w6 = 1; int m2w7 = 1; int m2w8 = 1; int m2w9 = 1; Bitmap bitmap = new Image <Gray, byte>(GetImage()).Bitmap; FastBitmap bmp = new FastBitmap(bitmap); FastBitmap wynik = bmp; int x, y; float oldmin, oldmax, oldrange, scale; float newmin, newmax, newrange; float[,] pomtab = new float[bmp.Width, bmp.Height]; float pom; for (x = 0; x < wynik.Width; x++) { for (y = 0; y < wynik.Height; y++) { pom = ((bmp[x - 1, y - 1].R * m1w1 + bmp[x, y - 1].R * m1w2 + bmp[x + 1, y - 1].R * m1w3 + bmp[x - 1, y].R * m1w4 + bmp[x, y].R * m1w5 + bmp[x + 1, y].R * m1w6 + bmp[x - 1, y + 1].R * m1w7 + bmp[x, y + 1].R * m1w8 + bmp[x + 1, y + 1].R * m1w9) ^ 2 + (bmp[x - 1, y - 1].R * m2w1 + bmp[x, y - 1].R * m2w2 + bmp[x + 1, y - 1].R * m2w3 + bmp[x - 1, y].R * m2w4 + bmp[x, y].R * m2w5 + bmp[x + 1, y].R * m2w6 + bmp[x - 1, y + 1].R * m2w7 + bmp[x, y + 1].R * m2w8 + bmp[x + 1, y + 1].R * m2w9) ^ 2) ^ (1 / 2); pomtab[x, y] = pom; } } //SKALOWANIE //1 oldmin = pomtab[0, 0]; oldmax = pomtab[0, 0]; for (x = 0; x < wynik.Width; x++) { for (y = 0; y < wynik.Height; y++) { if (pomtab[x, y] < oldmin) { oldmin = pomtab[x, y]; } if (pomtab[x, y] > oldmax) { oldmax = pomtab[x, y]; } } } oldrange = oldmax - oldmin; newmin = 0; newmax = 255; newrange = newmax - newmin; for (x = 0; x < wynik.Width; x++) { for (y = 0; y < wynik.Height; y++) { scale = (pomtab[x, y] - oldmin) / oldrange; wynik[x, y] = Color.FromArgb((int)((newrange * scale) + newmin), (int)((newrange * scale) + newmin), (int)((newrange * scale) + newmin)); } } ImageForm from = new ImageForm(new Image <Bgr, byte>(wynik.Unlock())); from.Show(); }