// dilatar imagen private void button3_Click(object sender, EventArgs e) { int color = (int)Selector_Brillo.Value; PictureAnalizer.ImagenEntrada = PictureAnalizer.DilatarImagen(PictureAnalizer.ImagenEntrada, this.conseguirMascara(Txt_Otros), color); ImagenEntrada.Image = PictureAnalizer.ImagenEntrada; }
// probar todas las imagenes de una carpeta private void desdeCarpetaToolStripMenuItem_Click(object sender, EventArgs e) { FolderBrowserDialog c = new FolderBrowserDialog(); c.ShowDialog(); string rutaCarpetaTest = c.SelectedPath; // buscar todos lo archivos de imagen en el directorio DirectoryInfo dirs = new DirectoryInfo(rutaCarpetaTest); // recorrer cada archivo en el directorio int b = 0; foreach (var im in dirs.GetFiles("*.jpg", SearchOption.AllDirectories)) { Bitmap imEnt = new Bitmap(im.FullName); Analizador.SetImagenEntrada(imEnt); Analizador.SetImagenSalida(PictureAnalizer.ImagenColor2Gray(imEnt)); ImagenEntrada.Image = PictureAnalizer.ImagenEntrada; ImagenSalida.Image = PictureAnalizer.ImagenEntrada; ImagenEntrada.Refresh(); ImagenSalida.Refresh(); System.Threading.Thread.Sleep(100); // crear un histograma int[] h = PictureAnalizer.Histograma(PictureAnalizer.ImagenEntrada); double[] hn = PictureAnalizer.HistogramaNormal(PictureAnalizer.ImagenEntrada); // realizar una umbralizacion int t = PictureAnalizer.Otsu(hn); this.ImagenSalida.Image = PictureAnalizer.Umbralizar(PictureAnalizer.ImagenEntrada, t); imEnt = (Bitmap)this.ImagenSalida.Image; //PictureAnalizer.GuardarImagenSalida((Bitmap) PictureAnalizer.ImagenEntrada, this.RutaGuardado + "\\OtsuEntrada" + b.ToString() + im.Name ); PictureAnalizer.GuardarImagenSalida((Bitmap)this.ImagenSalida.Image, this.RutaGuardado + "\\OtsuSalida" + b.ToString() + im.Name); PictureAnalizer.GuardarImagenSalida(PictureAnalizer.DilatarImagen(imEnt, this.MascaraActual, 255), this.RutaGuardado + "\\SalidaDilatada" + b.ToString() + im.Name); PictureAnalizer.GuardarImagenSalida(PictureAnalizer.ErocionarImagen(imEnt, this.MascaraActual, 255), this.RutaGuardado + "\\SalidaErocionada" + b.ToString() + im.Name); // PictureAnalizer.GuardarImagenSalida( PictureAnalizer.Cerradura(imEnt, this.MascaraActual), this.RutaGuardado + "\\SalidaCerradura" + b.ToString() + im.Name); // PictureAnalizer.GuardarImagenSalida( PictureAnalizer.Apertura(imEnt, this.MascaraActual), this.RutaGuardado + "\\SalidaApertura" + b.ToString() + im.Name); PictureAnalizer.GuardarImagenSalida(PictureAnalizer.ExtBorde(imEnt, this.MascaraActual), this.RutaGuardado + "\\SalidaBorde" + b.ToString() + im.Name); b++; ImagenSalida.Refresh(); System.Threading.Thread.Sleep(100); } }
private void dilatacionToolStripMenuItem1_Click(object sender, EventArgs e) { this.ImagenSalida.Image = PictureAnalizer.DilatarImagen((Bitmap)ImagenSalida.Image, this.MascaraActual, 255); }
private void button24_Click(object sender, EventArgs e) { /**** 1 - humbralizar ******/ Bitmap img_Exm_Ent = (Bitmap)ImagenEntrada.Image; Bitmap Org = (Bitmap)ImagenEntrada.Image; // conseguir histogramas para umbralizar int [] h = PictureAnalizer.Histograma(img_Exm_Ent); double[] hn = PictureAnalizer.HistogramaNormal(img_Exm_Ent); int umbral = PictureAnalizer.Otsu(hn); Bitmap img_Exm = PictureAnalizer.Umbralizar(img_Exm_Ent, umbral); PictureAnalizer.ImagenEntrada = img_Exm; ImagenEntrada.Image = img_Exm; ImagenEntrada.Image.Save("ImgHumbralizada.jpeg"); ImagenEntrada.Refresh(); /**** 2 - erocionar la imagen ******/ Mascara ee = new Mascara(Mascara.PRDF_Estr_Bcdd, new Size(3, 3), new Point(1, 1)); Bitmap cv = PictureAnalizer.ErocionarImagen(img_Exm, ee, 255); img_Exm = PictureAnalizer.ErocionarImagen(img_Exm, ee, 255); Bitmap cn = img_Exm; PictureAnalizer.ImagenEntrada = img_Exm; ImagenEntrada.Image = img_Exm; ImagenEntrada.Image.Save("ImgErocionada.jpeg"); ImagenEntrada.Refresh(); Mascara es = new Mascara(Mascara.PRDF_Estr_Cruz, new Size(3, 3), new Point(1, 1)); img_Exm = PictureAnalizer.DilatarImagen(img_Exm, es, 255); PictureAnalizer.ImagenEntrada = img_Exm; ImagenEntrada.Image = img_Exm; ImagenEntrada.Image.Save("ImgDilatada.jpeg"); ImagenEntrada.Refresh(); Bitmap sa = PictureAnalizer.DibujarNegra(cn.Width, cn.Height); for (int i = 0; i < cn.Height; i++) { for (int j = 0; j < cn.Width; j++) { int cOr = PictureAnalizer.PixelColor2Gray(img_Exm.GetPixel(j, i)); if (cOr == 255) { int cON = PictureAnalizer.PixelColor2Gray(cv.GetPixel(j, i)); sa.SetPixel(j, i, Color.FromArgb(cON, cON, cON)); } } } ImagenEntrada.Image = sa; Bitmap sae = PictureAnalizer.DibujarNegra(cn.Width, cn.Height); for (int i = 0; i < cn.Height; i++) { for (int j = 0; j < cn.Width; j++) { int cOr = PictureAnalizer.PixelColor2Gray(sa.GetPixel(j, i)); if (cOr > 0) { int cON = PictureAnalizer.PixelColor2Gray(Org.GetPixel(j, i)); sae.SetPixel(j, i, Color.FromArgb(cON, cON, cON)); } } } ImagenEntrada.Image = sae; ImagenEntrada.Image.Save("ImgCombinada.jpeg"); ImagenEntrada.Refresh(); }
public static Bitmap ExtBorde(Bitmap ImagenOriginal, Mascara MascaraEnviada) { Bitmap n = PictureAnalizer.DilatarImagen(ImagenOriginal, MascaraEnviada, 255); return(PictureAnalizer.Resta(n, ImagenOriginal)); }
public static Bitmap Apertura(Bitmap ImagenOriginal, Mascara MascaraEnviada, int colorPixel) { Bitmap im = PictureAnalizer.DilatarImagen(PictureAnalizer.ErocionarImagen(ImagenOriginal, MascaraEnviada, colorPixel), MascaraEnviada, colorPixel); return(im); }