Ejemplo n.º 1
0
        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!");
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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... ");
            }
        }
Ejemplo n.º 7
0
        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!");
        }
Ejemplo n.º 8
0
        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... ");
            }
        }
Ejemplo n.º 9
0
        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... ");
            }
        }
Ejemplo n.º 10
0
        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!");
            }
        }
Ejemplo n.º 11
0
        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);
            }
        }
Ejemplo n.º 12
0
 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);
     }
 }
Ejemplo n.º 13
0
        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();
                }
            }
        }
Ejemplo n.º 14
0
        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();
                }
            }
        }