Example #1
0
        private string RObtenerDescripcion(RTipoDescripcion tipo, int param)
        {
            switch (tipo)
            {
            case RTipoDescripcion.Original:
                return("Imagen original. Imagen de una huella dactilar tomada con " +
                       "un scanner o cámara.");

            case RTipoDescripcion.Reescalado:
                return("Reescalado bicúbico de la imagen anterior para que su tamaño sea de " +
                       "512x512. Según nuestro criterio, las imágenes de las huellas que se " +
                       "traten deben tener este tamaño.");

            case RTipoDescripcion.EscalaGrises:
                return("Resultado de convertir a escala de grises la imagen anterior mediante " +
                       "la fórmula Y = 0.299*R + 0.587*G + 0.114*B.");

            case RTipoDescripcion.FiltroMediana:
                return("Resultado tras aplicar el filtro de la mediana a la imagen del paso " +
                       "anterior.");

            case RTipoDescripcion.FiltroMedia:
                return("Resultado tras aplicar el filtro de la media con una máscara de tamaño" +
                       param + "x" + param + " a la imagen del paso anterior.");

            case RTipoDescripcion.FiltroFourierTransformada:
                return("Espectro de Fourier de la imagen del paso anterior.");

            case RTipoDescripcion.FiltroFourierPasoBajo:

                string cadena = "";

                switch (param)
                {
                case (256 / 6):
                    cadena = "1/6";
                    break;

                case (256 / 5):
                    cadena = "1/5";
                    break;

                case (256 / 3):
                    cadena = "1/3";
                    break;
                }

                return("Resultado de aplicar el filtro de paso bajo considerando un radio de " +
                       cadena + " veces el \" radio \" del espectro anterior.");

            case RTipoDescripcion.FiltroFourierInversa:
                return("Resultado de aplicar la transformada inversa de Fourier al espectro anterior.");

            case RTipoDescripcion.Binarizacion:
                return("Resultado de binarizar la imagen anterior buscando iterativamente el umbral " +
                       "adecuado, en este caso " + param + ", usando el algoritmo ISODATA.");

            case RTipoDescripcion.FiltroMedianaNoRamas:
                return("Con el fin de eliminar puntos finales no deseados que provocan una " +
                       "esqueletización con ramas en las líneas, se le aplica el filtro de " +
                       "la mediana a la imagen anterior y posteriormente se binariza de nuevo.");

            case RTipoDescripcion.Adelgazamiento:
                return("Resultado de adelgazar la imagen anterior con el método de adelgazamiento con " +
                       "HitOrMiss. 15 iteraciones son suficientes para adelgazar una huella válida. " +
                       "Esta huella esta preparada para ser procesada.");

            default:
                return("ERROR");
            }
        }
Example #2
0
        private string RObtenerDescripcion(RTipoDescripcion tipo, int param)
        {
            switch (tipo)
            {
                case RTipoDescripcion.Original:
                    return "Imagen original. Imagen de una huella dactilar tomada con " +
                           "un scanner o cámara.";

                case RTipoDescripcion.Reescalado:
                    return "Reescalado bicúbico de la imagen anterior para que su tamaño sea de " +
                           "512x512. Según nuestro criterio, las imágenes de las huellas que se " +
                           "traten deben tener este tamaño.";

                case RTipoDescripcion.EscalaGrises:
                    return "Resultado de convertir a escala de grises la imagen anterior mediante " +
                           "la fórmula Y = 0.299*R + 0.587*G + 0.114*B.";

                case RTipoDescripcion.FiltroMediana:
                    return "Resultado tras aplicar el filtro de la mediana a la imagen del paso " +
                           "anterior.";

                case RTipoDescripcion.FiltroMedia:
                    return "Resultado tras aplicar el filtro de la media con una máscara de tamaño" +
                           param + "x" + param + " a la imagen del paso anterior.";

                case RTipoDescripcion.FiltroFourierTransformada:
                    return "Espectro de Fourier de la imagen del paso anterior.";

                case RTipoDescripcion.FiltroFourierPasoBajo:

                    string cadena = "";

                    switch (param)
                    {
                        case (256 / 6):
                            cadena = "1/6";
                            break;
                        case (256 / 5):
                            cadena = "1/5";
                            break;
                        case (256 / 3):
                            cadena = "1/3";
                            break;
                    }

                    return "Resultado de aplicar el filtro de paso bajo considerando un radio de " +
                           cadena + " veces el \" radio \" del espectro anterior.";

                case RTipoDescripcion.FiltroFourierInversa:
                    return "Resultado de aplicar la transformada inversa de Fourier al espectro anterior.";

                case RTipoDescripcion.Binarizacion:
                    return "Resultado de binarizar la imagen anterior buscando iterativamente el umbral " +
                           "adecuado, en este caso " + param + ", usando el algoritmo ISODATA.";

                case RTipoDescripcion.FiltroMedianaNoRamas:
                    return "Con el fin de eliminar puntos finales no deseados que provocan una " +
                           "esqueletización con ramas en las líneas, se le aplica el filtro de " +
                           "la mediana a la imagen anterior y posteriormente se binariza de nuevo.";

                case RTipoDescripcion.Adelgazamiento:
                    return "Resultado de adelgazar la imagen anterior con el método de adelgazamiento con " +
                           "HitOrMiss. 15 iteraciones son suficientes para adelgazar una huella válida. " +
                           "Esta huella esta preparada para ser procesada.";

                default:
                    return "ERROR";
            }
        }