예제 #1
0
 public Perfil()
 {
     general        = new General();
     preprocesado   = new Preprocesado();
     segmentacion   = new Segmentacion();
     reconocimiento = new Reconocimiento();
 }
예제 #2
0
        public bool Cargar(String nombrePerfil)
        {
            this.nombrePerfil = nombrePerfil;

            String[] configuracion;
            try
            {
                configuracion = File.ReadAllLines(Application.StartupPath + "\\Perfiles\\" + nombrePerfil);
            }
            catch (Exception)
            {
                return(false);
            }

            foreach (String linea in configuracion)
            {
                String lineaTrim = linea.Trim();//Quitamos espacios y tabuladores iniciales

                switch (lineaTrim)
                {
                case "General":
                    break;

                case "":
                    break;

                case "iniciarMaximizado = true":
                    general.iniciarMaximizado = true;
                    break;

                case "iniciarMaximizado = false":
                    general.iniciarMaximizado = false;
                    break;

                case "Preprocesado":
                    break;

                case "Escalado":
                    break;

                case "redimensionarImagen = true":
                    preprocesado.redimensionarImagen = true;
                    break;

                case "redimensionarImagen = false":
                    preprocesado.redimensionarImagen = false;
                    break;

                case "mantenerProporcion = true":
                    preprocesado.mantenerProporcion = true;
                    break;

                case "mantenerProporcion = false":
                    preprocesado.mantenerProporcion = false;
                    break;

                case "cambiarAncho = true":
                    preprocesado.cambiarAncho = true;
                    break;

                case "cambiarAncho = false":
                    preprocesado.cambiarAncho = false;
                    break;

                case "cambiarAlto = true":
                    preprocesado.cambiarAlto = true;
                    break;

                case "cambiarAlto = false":
                    preprocesado.cambiarAlto = false;
                    break;

                case "Umbralizado":
                    break;

                case "Enderezado":
                    break;

                case "enderezadoAutomatico = true":
                    preprocesado.enderezadoAutomatico = true;
                    break;

                case "enderezadoAutomatico = false":
                    preprocesado.enderezadoAutomatico = false;
                    break;

                case "Segmentacion":
                    break;

                case "Lineas":
                    break;

                case "Slope":
                    break;

                case "activarCorregirSlope = true":
                    segmentacion.corregirSlope = true;
                    break;

                case "activarCorregirSlope = false":
                    segmentacion.corregirSlope = false;
                    break;

                case "Slant":
                    break;

                case "activarCorregirSlant = true":
                    segmentacion.corregirSlant = true;
                    break;

                case "activarCorregirSlant = false":
                    segmentacion.corregirSlant = false;
                    break;

                case "Palabras":
                    break;

                case "Caracteres":
                    break;

                case "Esqueleto":
                    break;

                case "activarCalculoEsqueleto = true":
                    segmentacion.calcularEsqueleto = true;
                    break;

                case "activarCalculoEsqueleto = false":
                    segmentacion.calcularEsqueleto = false;
                    break;

                case "presegmentacionCaracteres = true":
                    segmentacion.precaracteres = true;
                    break;

                case "presegmentacionCaracteres = false":
                    segmentacion.precaracteres = false;
                    break;

                case "Reconocimiento":
                    break;


                default:
                {
                    //Escalado
                    if (lineaTrim.Length > 15 && lineaTrim.Substring(0, 15) == "pixelesAncho = ")
                    {
                        preprocesado.pixelesAncho = Int32.Parse(lineaTrim.Substring(15));
                    }
                    else
                    if (lineaTrim.Length > 14 && lineaTrim.Substring(0, 14) == "pixelesAlto = ")
                    {
                        preprocesado.pixelesAlto = Int32.Parse(lineaTrim.Substring(14));
                    }
                    else        //Umbralizado
                    if (lineaTrim.Length > 9 && lineaTrim.Substring(0, 9) == "umbral = ")
                    {
                        preprocesado.umbral = Int32.Parse(lineaTrim.Substring(9));
                    }
                    else            //Extracción líneas
                    if (lineaTrim.Length > 20 && lineaTrim.Substring(0, 20) == "interlineadoMedio = ")
                    {
                        segmentacion.interlineadoMedio = Int32.Parse(lineaTrim.Substring(20));
                    }
                    else
                    if (lineaTrim.Length > 25 && lineaTrim.Substring(0, 25) == "incrementoMinimoLineas = ")
                    {
                        segmentacion.incrementoMinimoLineas = Int32.Parse(lineaTrim.Substring(25));
                    }
                    else
                    if (lineaTrim.Length > 23 && lineaTrim.Substring(0, 23) == "distanciaMinimaSlope = ")
                    {
                        segmentacion.distanciaMinimaSlope = Int32.Parse(lineaTrim.Substring(23));
                    }
                    else
                    if (lineaTrim.Length > 23 && lineaTrim.Substring(0, 23) == "distanciaMinimaSlant = ")
                    {
                        segmentacion.distanciaMinimaSlant = Int32.Parse(lineaTrim.Substring(23));
                    }
                    else
                    if (lineaTrim.Length > 17 && lineaTrim.Substring(0, 17) == "espaciadoMedio = ")
                    {
                        segmentacion.espaciadoMedio = Int32.Parse(lineaTrim.Substring(17));
                    }
                    else
                    if (lineaTrim.Length > 19 && lineaTrim.Substring(0, 19) == "grosorMedioTrazo = ")
                    {
                        segmentacion.grosorMedioTrazo = Int32.Parse(lineaTrim.Substring(19));
                    }
                    else
                    if (lineaTrim.Length > 29 && lineaTrim.Substring(0, 29) == "incrementoMinimoCaracteres = ")
                    {
                        segmentacion.incrementoMinimoCaracteres = Double.Parse(lineaTrim.Substring(29));
                    }
                    else
                    {
                        //Cargamos perfil 'Predefinido'
                        nombrePerfil   = "Predefinido";
                        general        = new General();
                        preprocesado   = new Preprocesado();
                        segmentacion   = new Segmentacion();
                        reconocimiento = new Reconocimiento();

                        return(false);
                    }
                }
                break;
                }
            }

            return(true);
        }