private void xDirectionToolStripMenuItem_Click(object sender, EventArgs e) { double[][] kernel = new double[3][]; for (int i = 0; i < 3; i++) { kernel[i] = new double[3]; } //Filtro: // -1 0 1 // -2 0 2 // -1 0 1 //Gaussiano 3x3 kernel[0][0] = 1.0; kernel[0][1] = 2.0; kernel[0][2] = 1.0; kernel[1][0] = 2.0; kernel[1][1] = 4; kernel[1][2] = 2.0; kernel[2][0] = 1.0; kernel[2][1] = 2.0; kernel[2][2] = 1.0; Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); //MyImageProc.CovertToGray(bmp); //MyImageProc.GaussianFilter(bmp); if (MyImageProc.Convolve(bmp, kernel)) { picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Altura: " + picEditedImage.Image.Height.ToString() + ", Largura: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Concluido!"); } }
private void contrastImageToolStripMenuItem_Click(object sender, EventArgs e) { FormContrast dlg = new FormContrast(); dlg.Contrast = 0; // default contrast of 0 if (DialogResult.OK == dlg.ShowDialog()) { try { Bitmap copy = new Bitmap((Bitmap)this.picOrigImage.Image); copy = MyImageProc.Contrast(copy, (sbyte)dlg.Contrast); picEditedImage.Image = null; picEditedImage.Image = copy; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); //txtWidthProc.Text = picProcImage.Image.Width.ToString(); //txtHeightProc.Text = picProcImage.Image.Height.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
private void resizeImageToolStripMenuItem_Click(object sender, EventArgs e) { try { //modeRectangle = false; FormResize formResize = new FormResize(); formResize.newHeight = 0; formResize.newWidth = 0; if (DialogResult.OK == formResize.ShowDialog()) { int Width = formResize.newHeight; int Height = formResize.newWidth; Rectangle rect = new Rectangle(new Point(0, 0), new Size(Width, Height)); Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); if (MyImageProc.ResizeImageProportional(img, ref bmp, rect)) { picEditedImage.Image = null; picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void kernel3GaussianToolStripMenuItem_Click(object sender, EventArgs e) { try { //double[][] kernel = new double[3][]; //for (int i = 0; i < 3; i++) // kernel[i] = new double[3]; //3x3 Gaussian filter: // 1/16 2/16 1/16 // 2/16 4/16 2/16 // 1/16 2/16 1/16 //kernel[0][0] = 1 / 16; //kernel[0][1] = 2 / 16; //kernel[0][2] = 1 / 16; //kernel[1][0] = 2 / 16; //kernel[1][1] = 4 / 16; //kernel[1][2] = 2 / 16; //kernel[2][0] = 1 / 16; //kernel[2][1] = 2 / 16; //kernel[2][2] = 1 / 16; Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); MyImageProc.CovertToGray(bmp); //MyImageProc.Convolve(bmp, kernel); MyImageProc.GaussianFilter(bmp); picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Done... "); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void kernel1ToolStripMenuItem_Click(object sender, EventArgs e) { try { double[][] kernel = new double[3][]; for (int i = 0; i < 3; i++) { kernel[i] = new double[3]; } kernel[0][0] = 1 / 9.0; kernel[0][1] = 1 / 9.0; kernel[0][2] = 1 / 9.0; kernel[1][0] = 1 / 9.0; kernel[1][1] = 1 / 9.0; kernel[1][2] = 1 / 9.0; kernel[2][0] = 1 / 9.0; kernel[2][1] = 1 / 9.0; kernel[2][2] = 1 / 9.0; Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); Bitmap bmpOrig = (Bitmap)bmp.Clone(); MyImageProc.CovertToGray(bmp); MyImageProc.Convolve(bmp, kernel); picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Done... "); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void bothToolStripMenuItem_Click(object sender, EventArgs e) { double[][] kernelX = new double[3][]; for (int i = 0; i < 3; i++) { kernelX[i] = new double[3]; } //Right Sobel (X direction): // -1 0 1 // -2 0 2 // -1 0 1 kernelX[0][0] = -1.0; kernelX[0][1] = 0; kernelX[0][2] = 1.0; kernelX[1][0] = -2.0; kernelX[1][1] = 0; kernelX[1][2] = 2.0; kernelX[2][0] = -1.0; kernelX[2][1] = 0; kernelX[2][2] = 1.0; double[][] kernelY = new double[3][]; for (int i = 0; i < 3; i++) { kernelY[i] = new double[3]; } //Sobel (Y direction): // -1 -2 -1 // 0 0 0 // 1 2 1 //Sobel (fliped): // 1 2 1 // 0 0 0 // -1 -2 -1 kernelY[0][0] = 1.0; kernelY[0][1] = 2.0; kernelY[0][2] = 1.0; kernelY[1][0] = 0; kernelY[1][1] = 0; kernelY[1][2] = 0; kernelY[2][0] = -1.0; kernelY[2][1] = -2.0; kernelY[2][2] = -1.0; Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); MyImageProc.CovertToGray(bmp); MyImageProc.GaussianFilter(bmp); if (MyImageProc.Convolve(bmp, kernelX) && MyImageProc.Convolve(bmp, kernelY)) { picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Done... "); } }
private void edgeDetectionToolStripMenuItem_Click(object sender, EventArgs e) { Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); Bitmap bmpOrig = (Bitmap)bmp.Clone(); MyImageProc.GaussianFilter(bmpOrig, 7); Bitmap result = MyImageProc.CartoonEffectFilter(bmpOrig, 100); picEditedImage.Image = result; outputImgDimensionsLabel.Text = "Altura: " + picEditedImage.Image.Height.ToString() + ", Largura: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Concluido!"); }
private void usingOriginalImageToolStripMenuItem_Click(object sender, EventArgs e) { Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); Bitmap bmpOrig = (Bitmap)bmp.Clone(); if (MyImageProc.HistogramEqualization(bmpOrig)) { picEditedImage.Image = bmpOrig; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Done... "); } }
private void smoothingToolStripMenuItem_Click(object sender, EventArgs e) { Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); Bitmap bmpOrig = (Bitmap)bmp.Clone(); MyImageProc.CovertToGray(bmpOrig); if (MyImageProc.GaussianFilter(bmpOrig)) { picEditedImage.Image = bmpOrig; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Done... "); } }
private void x3ToolStripMenuItem_Click(object sender, EventArgs e) { Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); Bitmap bmpOrig = (Bitmap)bmp.Clone(); //MyImageProc.CovertToGray(bmpOrig); if (MyImageProc.GaussianFilter(bmpOrig, 3)) { picEditedImage.Image = bmpOrig; outputImgDimensionsLabel.Text = "Altura: " + picEditedImage.Image.Height.ToString() + ", Largura: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Concluido!"); } }
private void convertToGrayToolStripMenuItem_Click(object sender, EventArgs e) { //this.picEditedImage.Image = this.picOrigImage.Image; try { Bitmap copy = new Bitmap((Bitmap)this.picOrigImage.Image); MyImageProc.CovertToGray(copy); picEditedImage.Image = null; picEditedImage.Image = copy; //txtWidthProc.Text = picEditedImage.Image.Width.ToString(); //txtHeightProc.Text = picEditedImage.Image.Height.ToString(); outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void doubleThresholdingToolStripMenuItem_Click(object sender, EventArgs e) { try { Image img = this.picOrigImage.Image; Bitmap bmp = new Bitmap(img); MyImageProc.CovertToGray(bmp); MyImageProc.GaussianFilter(bmp); MyImageProc.NonMaximumSupression(bmp); if (MyImageProc.doubleThresholding(bmp, 30, 80)) { picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); MessageBox.Show("Done... "); } } catch (Exception ex) { Debug.Print(ex.Message); } }
private void rotateFillToolStripMenuItem_Click(object sender, EventArgs e) { FormRotate frmRotate = new FormRotate(); frmRotate.RotationAngle = 0; Image origimg = picOrigImage.Image; Bitmap bmp = new Bitmap(origimg); if (DialogResult.OK == frmRotate.ShowDialog()) { if (MyImageProc.RotateFill(origimg, ref bmp, frmRotate.RotationAngle)) { picEditedImage.Image = null; picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); //txtWidthProc.Text = picProcImage.Image.Width.ToString(); //txtHeightProc.Text = picProcImage.Image.Height.ToString(); } } }
private void shiftVerticalToolStripMenuItem_Click(object sender, EventArgs e) { FormShift dlg = new FormShift(); dlg.ShiftAmount = 0; Image origimg = picOrigImage.Image; Bitmap bmp = new Bitmap(origimg); if (DialogResult.OK == dlg.ShowDialog()) { if (MyImageProc.ShiftImageVertical(origimg, ref bmp, dlg.ShiftAmount)) { picEditedImage.Image = null; picEditedImage.Image = bmp; outputImgDimensionsLabel.Text = "Height: " + picEditedImage.Image.Height.ToString() + ", Width: " + picEditedImage.Image.Width.ToString(); //txtWidthProc.Text = picProcImage.Image.Width.ToString(); //txtHeightProc.Text = picProcImage.Image.Height.ToString(); } } }