Ejemplo n.º 1
0
        private void Gauss_Click(object sender, EventArgs e)
        {
            double Sigma = Convert.ToDouble(this.Sigma.Text);
            double Sum   = 0;

            matrix_Gayss = Math_Methods.GaussMatrix(a, Sigma, ref Sum);
            for (int i = 0; i < Matrix.Rows.Count; i++)
            {
                for (int j = 0; j < Matrix.Columns.Count; j++)
                {
                    Matrix.Rows[i].Cells[j].Value = Math.Round(matrix_Gayss[i, j], 8);
                }
            }
            label2.Text = Convert.ToString(Math.Round(Sum, 4));
        }
Ejemplo n.º 2
0
        static public byte GetReadyLinFilter(int[,] arr, double[,] filterMatrix, int a)
        {
            double sum = 0;

            for (int i = 0; i < (2 * a) + 1; i++)
            {
                double p = 1;
                for (int j = 0; j < (2 * a) + 1; j++)
                {
                    p    = arr[i, j] * filterMatrix[i, j];
                    sum += p;
                }
            }
            return((byte)Math_Methods.Clamp(sum, 0, 255));
        }
Ejemplo n.º 3
0
        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            Image image        = this.pictureBox1.Image;
            Image imageOpacity = Math_Methods.SetImgOpacity(image, trackBar1.Value);
            var   mainPic      = this.Parent.Parent.Controls.Find("mainPic", true);

            foreach (var item in mainPic)
            {
                PictureBox picture = item as PictureBox;
                var        img_out = new Bitmap(picture.Width, picture.Height);
                var        g       = Graphics.FromImage(img_out);
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.SmoothingMode     = SmoothingMode.HighQuality;
                g.DrawImage(imageOpacity, 0, 0, picture.Width, picture.Height);
                picture.Image = (Image)img_out;
                g.Dispose();
            }

            //throw new Exception();
        }
Ejemplo n.º 4
0
        static public Image MedianaFilter(ObjectAPI pic, int a, ref Stopwatch st)
        {
            ObjectAPI pic2 = new ObjectAPI();

            pic2 = pic.Clone() as ObjectAPI;
            for (int i = 0; i < pic.Height; i++)
            {
                for (int j = 0; j < pic.Width; j++)
                {
                    byte[] R = FilterMedianaArray(CreateMatrix(pic, a, i, j, 'R'), a);
                    byte[] G = FilterMedianaArray(CreateMatrix(pic, a, i, j, 'G'), a);
                    byte[] B = FilterMedianaArray(CreateMatrix(pic, a, i, j, 'B'), a);
                    pic2.matrix[j, i].R = Math_Methods.QuickSelect_median(R);
                    pic2.matrix[j, i].G = Math_Methods.QuickSelect_median(G);
                    pic2.matrix[j, i].B = Math_Methods.QuickSelect_median(B);
                }
            }

            st.Stop();
            return(pic2.ShowRGB());
        }
Ejemplo n.º 5
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            List <PictureBox> pictures = new List <PictureBox>();

            switch (Convert.ToString(comboBox1.SelectedItem))
            {
            case "Sum Pix":
            {
                var CollectControl = Form.ActiveForm.Controls.Find("ImageControl", true).ToList();

                foreach (var item in CollectControl)
                {
                    var        img    = item.Parent.Controls.Find("pictureBox1", true);
                    PictureBox PicBox = img[0] as PictureBox;
                    if (PicBox != null)
                    {
                        pictures.Add(PicBox);
                    }
                }
                var FindPic = Form.ActiveForm.Controls.Find("mainPic", true);
                if (FindPic != null)
                {
                    foreach (var item in FindPic)
                    {
                        PictureBox pictureBox = item as PictureBox;
                        Form1      form1      = Form.ActiveForm as Form1;
                        if (pictureBox != null)
                        {
                            pictureBox.Image = Math_Methods.SumPix(form1.Pictures);
                        }
                    }
                }

                pictures.RemoveRange(0, pictures.Count);
                break;
            }

            case "Composition Pix":
            {
                var FindPic = Form.ActiveForm.Controls.Find("mainPic", true);
                if (FindPic != null)
                {
                    foreach (var item in FindPic)
                    {
                        PictureBox pictureBox = item as PictureBox;
                        Form1      form1      = Form.ActiveForm as Form1;
                        if (pictureBox != null)
                        {
                            pictureBox.Image = Math_Methods.CompotisionPix(form1.Pictures);
                        }
                    }
                }
                break;
            }

            case "Arithmetic mean Pix":
            {
                var FindPic = Form.ActiveForm.Controls.Find("mainPic", true);
                if (FindPic != null)
                {
                    foreach (var item in FindPic)
                    {
                        PictureBox pictureBox = item as PictureBox;
                        Form1      form1      = Form.ActiveForm as Form1;
                        if (pictureBox != null)
                        {
                            pictureBox.Image = Math_Methods.AMP(form1.Pictures);
                        }
                    }
                }
                break;
            }

            case "Min Pix":
            {
                var FindPic = Form.ActiveForm.Controls.Find("mainPic", true);
                if (FindPic != null)
                {
                    foreach (var item in FindPic)
                    {
                        PictureBox pictureBox = item as PictureBox;
                        Form1      form1      = Form.ActiveForm as Form1;
                        if (pictureBox != null)
                        {
                            pictureBox.Image = Math_Methods.MinPix(form1.Pictures);
                        }
                    }
                }
                break;
            }

            case "Max Pix":
            {
                var FindPic = Form.ActiveForm.Controls.Find("mainPic", true);
                if (FindPic != null)
                {
                    foreach (var item in FindPic)
                    {
                        PictureBox pictureBox = item as PictureBox;
                        Form1      form1      = Form.ActiveForm as Form1;
                        if (pictureBox != null)
                        {
                            pictureBox.Image = Math_Methods.MaxPix(form1.Pictures);
                        }
                    }
                }
                break;
            }
            }
        }