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