Exemple #1
0
        public void CargarImagenSegmentada()
        {
            IntPtr ptrDIB;      //Puntero al DIB
            IntPtr ptrMapaBits; //Puntero al mapa de bits en sí (nos saltamos el bitmapinfoheader y la paleta, si la hay)

            unsafe              //Zona no segura (transformación de punteros C++ a C#)
            {
                ptrDIB = (IntPtr)textoSegmentado.GetDIB();

                ptrMapaBits = (IntPtr)textoSegmentado.GetMapaBits();
            }

            //Cargamos la imagen en un Form hijo
            if (imagenSegmentada.IsDisposed)
            {
                imagenSegmentada = new ImagenActualForm(Etapa.segmentacion);
            }
            imagenSegmentada.CargarImagen(BitmapFromDIB(ptrDIB, ptrMapaBits));
            imagenSegmentada.MdiParent = this;//Indicamos que PrincipalForm es el padre del formulario
            imagenSegmentada.Show();


            //Habilitado y deshabilitado de menús
            if (estadoImagenSegmentada == EstadoImagen.lineasSegmentadas)
            {
                correcionSlopeToolStripButton.Enabled   = true;
                correcionSlopeToolStripMenuItem.Enabled = true;
                correcionSlantToolStripButton.Enabled   = true;
                correcionSlantToolStripMenuItem.Enabled = true;
                palabrasToolStripButton.Enabled         = true;
                palabrasToolStripMenuItem.Enabled       = true;
                caracteresToolStripButton.Enabled       = false;
                caracteresToolStripMenuItem.Enabled     = false;
                esqueletoToolStripButton.Enabled        = true;
                esqueletoToolStripMenuItem.Enabled      = true;

                reconocimientoToolStripMenuItem.Enabled = false;
                reconocimientoToolStripButton.Enabled   = false;
                ManualToolStripMenuItem.Enabled         = false;
            }

            if (estadoImagenSegmentada == EstadoImagen.palabrasSegmentadas)
            {
                correcionSlopeToolStripButton.Enabled   = false;
                correcionSlopeToolStripMenuItem.Enabled = false;
                correcionSlantToolStripButton.Enabled   = false;
                correcionSlantToolStripMenuItem.Enabled = false;
                palabrasToolStripButton.Enabled         = false;
                palabrasToolStripMenuItem.Enabled       = false;
                caracteresToolStripButton.Enabled       = true;
                caracteresToolStripMenuItem.Enabled     = true;
                esqueletoToolStripButton.Enabled        = true;
                esqueletoToolStripMenuItem.Enabled      = true;

                reconocimientoToolStripMenuItem.Enabled = false;
                reconocimientoToolStripButton.Enabled   = false;
                ManualToolStripMenuItem.Enabled         = false;
            }

            if (estadoImagenSegmentada == EstadoImagen.caracteresSegmentados)
            {
                correcionSlopeToolStripButton.Enabled   = false;
                correcionSlopeToolStripMenuItem.Enabled = false;
                correcionSlantToolStripButton.Enabled   = false;
                correcionSlantToolStripMenuItem.Enabled = false;
                palabrasToolStripButton.Enabled         = false;
                palabrasToolStripMenuItem.Enabled       = false;
                caracteresToolStripButton.Enabled       = false;
                caracteresToolStripMenuItem.Enabled     = false;
                esqueletoToolStripButton.Enabled        = true;
                esqueletoToolStripMenuItem.Enabled      = true;

                reconocimientoToolStripMenuItem.Enabled = true;
                reconocimientoToolStripButton.Enabled   = true;
                ManualToolStripMenuItem.Enabled         = true;
            }
        }
Exemple #2
0
        //Métodos para cargar imágenes en el form
        public void CargarImagen()
        {
            IntPtr ptrDIB;      //Puntero al DIB
            IntPtr ptrMapaBits; //Puntero al mapa de bits en sí (nos saltamos el bitmapinfoheader y la paleta, si la hay)

            unsafe              //Zona no segura (transformación de punteros C++ a C#)
            {
                ptrDIB = (IntPtr)textoActual.GetDIB();

                ptrMapaBits = (IntPtr)textoActual.GetMapaBits();
            }

            //Cargamos la imagen en un Form hijo
            if (imagenPreprocesada.IsDisposed)
            {
                imagenPreprocesada = new ImagenActualForm(Etapa.preprocesado);
            }
            imagenPreprocesada.CargarImagen(BitmapFromDIB(ptrDIB, ptrMapaBits));
            imagenPreprocesada.MdiParent = this;//Indicamos que PrincipalForm es el padre del formulario
            imagenPreprocesada.Show();


            //Habilitado y deshabilitado de menús
            if (estadoImagen == EstadoImagen.nula)
            {
                estadoImagen = EstadoImagen.cargada;

                guardarToolStripMenuItem.Enabled     = true;
                guardarImagenToolStripButton.Enabled = true;

                preprocesadoToolStripMenuItem.Enabled       = false;
                manualPreprocesadoToolStripMenuItem.Enabled = false;
                escalarToolStripButton.Enabled                  = false;
                escaladoToolStripMenuItem.Enabled               = false;
                umbralizarToolStripButton.Enabled               = false;
                umbralizarToolStripMenuItem.Enabled             = false;
                enderezarToolStripButton.Enabled                = false;
                enderezarToolStripMenuItem.Enabled              = false;
                automaticoPreprocesadoToolStripMenuItem.Enabled = false;

                lineasToolStripButton.Enabled                   = false;
                lineasToolStripMenuItem.Enabled                 = false;
                semiautomaticoToolStripMenuItem.Enabled         = false;
                automaticoSegmentacionToolStripMenuItem.Enabled = false;

                if (textoActual.GetProfundidad() == 8 || textoActual.GetProfundidad() == 24)
                {
                    preprocesadoToolStripMenuItem.Enabled       = true;
                    manualPreprocesadoToolStripMenuItem.Enabled = true;
                    escalarToolStripButton.Enabled                  = true;
                    escaladoToolStripMenuItem.Enabled               = true;
                    umbralizarToolStripButton.Enabled               = true;
                    umbralizarToolStripMenuItem.Enabled             = true;
                    enderezarToolStripButton.Enabled                = true;
                    enderezarToolStripMenuItem.Enabled              = true;
                    automaticoPreprocesadoToolStripMenuItem.Enabled = true;

                    if (textoActual.EstaUmbralizado())
                    {
                        estadoImagen = EstadoImagen.umbralizada;

                        umbralizarToolStripButton.Enabled   = false;
                        umbralizarToolStripMenuItem.Enabled = false;

                        segmentaciónToolStripMenuItem.Enabled       = true;
                        manualSegmentacionToolStripMenuItem.Enabled = true;
                        lineasToolStripButton.Enabled                   = true;
                        lineasToolStripMenuItem.Enabled                 = true;
                        semiautomaticoToolStripMenuItem.Enabled         = true;
                        automaticoSegmentacionToolStripMenuItem.Enabled = true;
                    }
                }
            }
            else
            {
                if (estadoImagen == EstadoImagen.umbralizada)
                {
                    umbralizarToolStripButton.Enabled   = false;
                    umbralizarToolStripMenuItem.Enabled = false;

                    segmentaciónToolStripMenuItem.Enabled       = true;
                    manualSegmentacionToolStripMenuItem.Enabled = true;
                    lineasToolStripButton.Enabled                   = true;
                    lineasToolStripMenuItem.Enabled                 = true;
                    semiautomaticoToolStripMenuItem.Enabled         = true;
                    automaticoSegmentacionToolStripMenuItem.Enabled = true;
                }
            }
        }