public static Bitmap [] ImagenDeTextura(Bitmap Im_Ent, Dictionary <int, double>[] hrs) { // conseguir los maximos de las sumas y diferencias double MaxSuma = PictureAnalizer.MaximoHasha(hrs[0]); double MaxResta = PictureAnalizer.MaximoHasha(hrs[1]); double MaxGenrl = 0; if (MaxSuma > MaxResta) { MaxGenrl = MaxSuma; } else { MaxGenrl = MaxResta; } // crear vector de imagenes de textura Bitmap[] VectImgTxt = new Bitmap[6]; // inicar las imagenes for (int i = 0; i < 6; i++) { VectImgTxt[i] = PictureAnalizer.DibujarNegra(Im_Ent.Width, Im_Ent.Height); } // crear una mascara para representar la subventana Mascara Mx = new Mascara(new Size(3, 3)); // recorrer la imagen for (int i = 0; i < Im_Ent.Height; i++) { for (int j = 0; j < Im_Ent.Width; j++) { // conseguir pixel int Pi = PictureAnalizer.PixelColor2Gray(Im_Ent.GetPixel(j, i)); // cortar contenido de la imagen origina con la mascara Bitmap subImg = PictureAnalizer.CortarMascaraSobreImagen(Mx, Im_Ent, new Point(j, i)); // calcular las caracteristicas de textura de la subimagen double[] op = PictureAnalizer.CalcularCaracteristicasTextura(Im_Ent); // asignar operaciones a la imagen for (int k = 0; k < 6; k++) { int trnas = (int)Math.Round((op[i] * 255) / MaxGenrl); VectImgTxt[i].SetPixel(j, i, Color.FromArgb(trnas, trnas, trnas)); } } } return(VectImgTxt); }