Ejemplo n.º 1
0
        private void segmentadoSemiautomaticoBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            //Correción Slope
            if (perfilActual.segmentacion.corregirSlope)
            {
                textoSegmentado.CorregirSlope(perfilActual.segmentacion.distanciaMinimaSlope);
            }

            //Correción Slant
            if (perfilActual.segmentacion.corregirSlant)
            {
                textoSegmentado.CorregirSlant(perfilActual.segmentacion.distanciaMinimaSlant);
            }

            //Segmentado Palabras
            textoSegmentado.SegmentacionPalabras(perfilActual.segmentacion.espaciadoMedio, false);

            estadoImagenSegmentada = EstadoImagen.palabrasSegmentadas;

            //Segmentado Caracteres y Esqueleto
            if (perfilActual.segmentacion.precaracteres)
            {
                if (perfilActual.segmentacion.calcularEsqueleto)
                {
                    textoSegmentado.Esqueleto();
                }

                textoSegmentado.SegmentacionCaracteres(perfilActual.segmentacion.grosorMedioTrazo, perfilActual.segmentacion.incrementoMinimoCaracteres, false);
            }
            else
            {
                textoSegmentado.SegmentacionCaracteres(perfilActual.segmentacion.grosorMedioTrazo, perfilActual.segmentacion.incrementoMinimoCaracteres, false);

                if (perfilActual.segmentacion.calcularEsqueleto)
                {
                    textoSegmentado.Esqueleto();
                }
            }

            estadoImagenSegmentada = EstadoImagen.caracteresSegmentados;

            conometro.Stop();
        }