52
Facultad de Informátida y Estadística Grupo de Trabajo 16 Autores: Manuel Ramón León Jiménez Javier López Moreno

Facultad de Informátida y Estadística

  • Upload
    rune

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Facultad de Informátida y Estadística. Grupo de Trabajo 16. Chain Code & Thinning OCR. Autores: Manuel Ramón León Jiménez Javier López Moreno. Chain Code & Thinning OCR. Facultad de Informátida y Estadística. 1. Introducción. 1. Introducción. 2. Metodología. ¿Qué es el OCR?. - PowerPoint PPT Presentation

Citation preview

Page 1: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Grupo de Trabajo 16

Autores:• Manuel Ramón León Jiménez• Javier López Moreno

Page 2: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

1. Introducción1. Introducción

• ¿Qué es el OCR?

• Problemas del OCR

• Caracteres mecanografiados

• Caracteres escritos a mano

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 3: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

¿ Qué es el OCR?¿ Qué es el OCR?

El Reconocimiento Óptico de Caracteres (OCR) es un método para reconocer la parte textual de una imagen digitalizada. El resultado de esto es un archivo de texto que puede ser editado y usado como tal por cualquier programa o aplicación que lo necesite.

DefiniciónDefinición

• ProblemasProblemas

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 4: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

Problemas del OCRProblemas del OCR• Caracteres mecanografiados

• Caracteres escritos a mano• La letra no es clara

• No se distingue el fondo

• Caracteres unidos

• Caracteres cortados

Ejemplo

• DefiniciónDefinición

ProblemasProblemas

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 5: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

2. Metodología de trabajo2. Metodología de trabajo

2.1. Binarización

2.2. Fragmentar la imágen

2.3. Adelgazar las componentes

2.4. Código de cadenas

2.5. Comparar con patrones y/o propiedades

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 6: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

FasesFases

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Imagen de Imagen de EntradaEntrada

BinarizaciónBinarización Imagen Imagen Binaria Binaria

FragmentadoFragmentadoComponentesComponentes ConexasConexas

AdelgazarAdelgazar

Page 7: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

FasesFases

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras ComponentesComponentes AdelgazadasAdelgazadas

Código de Código de CadenasCadenas Códigos deCódigos de

CadenasCadenas

ReconocimientoReconocimiento

InformaciónInformación del del ReconocimientoReconocimiento

CaracteresCaracteresReconocidosReconocidos

Page 8: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

2.1. Binarización2.1. Binarización

• Definición

• Implementación

Consiste en pasar una imagen que inicialmente puede estar a color, primero a escala de grises y después a blanco y negro.

BinarizaciónBinarización• FragmentarFragmentar• AdelgazarAdelgazar• Código CadenasCódigo Cadenas• CompararComparar

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 9: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

ImplementaciónImplementación

• Pasar de Color a Grises

• De Grises a Blanco y Negro

• Mediante la banda del verde

• Pasar de RGB a Grises

• Thresholding

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

BinarizaciónBinarización• FragmentarFragmentar• AdelgazarAdelgazar• Código CadenasCódigo Cadenas• CompararComparar

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 10: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Pasar de Color a GrisesPasar de Color a Grises• Mediante la banda del verde

Luminacia

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

BinarizaciónBinarización• FragmentarFragmentar• AdelgazarAdelgazar• Código CadenasCódigo Cadenas• CompararComparar

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Una imagen en escala de grises representa la respuesta del ojo a la luminosidad.

Page 11: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Pasar de Color a GrisesPasar de Color a Grises• Pasar de RGB a Grises

Imagen a Color

Matriz de Rojo (R)

Matriz de Verde (G)

Matriz de Azul (B)

+

+

ImagenGris = 0.299*R + 0.587*G + 0.114*B

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 12: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

De Grises a Blanco y NegroDe Grises a Blanco y Negro• Thresholding

0 64 128 192 255Negro Blanco

Valor Umbral

BlancosNegros

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 13: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

ImplementaciónImplementación• Pasar de Color a Grises

• De Grises a Blanco y Negro

• Mediante la banda del verde

• Pasar de RGB a Grises

• Thresholding

Ejemplo

Ejemplo

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 14: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Pasar de Color a Grises Pasar de Color a Grises

Imagen a Color

Imagen en Grises con la banda del verde

Imagen de RGB a Grises

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 15: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

De Grises a Blanco y NegroDe Grises a Blanco y Negro

Imagen en Grises

Imagen Blanco y Negro: Umbral 128

Imagen Blanco y Negro: Umbral 225 Histograma

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 16: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

2.2. Fragmentar la Imagen2.2. Fragmentar la Imagen

• Posibles Implementaciones

Consiste en ir separando componentes conexas, puesto que el reconocimiento de caracteres se realiza componente a componente.

Ejemplo

A) Algoritmo de etiquetado visto en clase

B) Otras implementaciones

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 17: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

2.2. Fragmentar la Imagen2.2. Fragmentar la ImagenEjemplo

1 0 1 0 ... 1 0 1 0 ...

1 0 1 0 ... 1 0 1 0 ...

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 18: Facultad de Informátida y Estadística

1 1 0 0 0 00 0 1 0 0 0

a a

Facultad de Informátida y Estadística

Posibles ImplementacionesPosibles ImplementacionesA) Algoritmo de etiquetado visto en clase Se va recorriendo la matriz y etiquetando

componentes conexas según los vecinos ya recorridos.

1 1 0 0 0 00 0 1 0 0 0

a a

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras1 1 0 0 0 00 0 1 0 0 0

a a

a

Page 19: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Posibles ImplementacionesPosibles ImplementacionesB) Otras implementaciones

• Versión Lenta

Recorremos la matriz hasta encontrar un pixel negro. Se hace un algoritmo recursivo para enmarcar esa componente. Se continua por la columna siguiente al marco encontrado. Si se encuentra una componente registrada, no se vuelve a registrar.

Ejemplo

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 20: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Versión LentaVersión LentaEjemplo

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 21: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Posibles ImplementacionesPosibles Implementaciones

B) Otras implementaciones

• Versión Rápida

Es igual que la anterior, pero en este caso cuandollega a un pixel negro, se comprueba primero si ya está registrado en una componente conexa, evitandoasí realizar el algoritmo recursivo.

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 22: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Posibles ImplementacionesPosibles ImplementacionesB) Otras implementaciones

• Versión por Renglones Al registrar la primera componente conexa, se continúa la búsqueda por la fila central del dígito y por la columnasiguiente a dicha componente conexa, además se calcula el salto que se debe dar para pasar a una nueva fila.

Inconvenientes

Los caracteres deben ser del mismo tamaño al primero. Los caracteres deben estar alineados por renglones.

Ejemplo

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 23: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Versión por RenglonesVersión por Renglones

3

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

Siguiente Salto5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Altura = 6

Sigo por: (6+1)/2 = 3

Salto = Altura = 6

3

6

Page 24: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Versión por RenglonesVersión por Renglones• Inconvenientes

• Si hay componentes de distintos tamaños puede que no las capte. • Preferiblemente las componentes tienen que estar alineadas en renglones.

Esta componente no la reconoce

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 25: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

2.3. Adelgazar la Imagen2.3. Adelgazar la Imagen

A) Punto Simple

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Definiciones

Los 8 vecinos de P forman una sola componenteconexa adyacente a P.

A) Punto Final Solo tiene un vecino negro.

A) Punto Aislado No tiene vecinos negros.

Page 26: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Ejemplo de las DefinicionesEjemplo de las Definiciones1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

No simpleFinal

AisladoSimple

Page 27: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

AlgoritmoAlgoritmo1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Consiste en ir barriendo la matriz en las direcciones Norte, Sur, Este y Oeste alternativamente, encontrando en cada barrido los pixeles en negro con su antecesor blanco. Si el pixel es simple y no final se elimina.Se deben eliminar todos a la vez, por lo que antes de eliminarlos se marcarán.El algoritmo para cuando en una iteración no se elimina ningún pixel en ningún barrido (N, S, E, O).

Page 28: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Ejemplo del Algoritmo Ejemplo del Algoritmo 1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Primera Iteración

Norte Sur Este Oeste

Page 29: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Ejemplo del Algoritmo Ejemplo del Algoritmo 1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Segunda Iteración

Norte Sur, Este y Oeste

No se marca ningún punto

En la próxima iteración nose elimina ningún pixel en ningún barrido (N, S, E, O), luego el algoritmo finaliza.

Page 30: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Ejemplo de AdelgazamientoEjemplo de Adelgazamiento A continuación se muestra un ejemplo del adelgazamiento completo de un cero, completando todas las iteraciones necesarias para ello.

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 31: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Posibles MejorasPosibles Mejoras1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas• CompararComparar

AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• No escanear los marcos, ya que son blancos. O no hacer necesarios marcos blancos

• No comprobar un pixel en una iteración si en una anterior se había comprobado que no se podía borrar, es decir, marcar los puntos no borrables

Page 32: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

2.4. Código de Cadenas2.4. Código de Cadenas

• Se calcula el código de cadenas de cada componente conexa. Solo calculamos el borde externo, porque para reconocer ceros y unos no nos vale de nada calcular el interno, ya que el 1 no tiene y el 0 tiene, pero es igual que el externo, por eso solo calculamos el borde externo.

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 33: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

AlgoritmoAlgoritmo• La función para buscar el siguiente vecino en el código de cadenas es:

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Cojo la dirección por la que he llegado al pixel actual. A partir de ella, como estoy calculando el código de cadena externo, comienzo a buscar el proximo vecino en dirección contraria a las agujas del reloj.

0 1 24 P 05 6 7

1º2º Venía del 2

Page 34: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Ejemplo de Código de CadenasEjemplo de Código de Cadenas

• Punto inicial: (3, 6)

• Código de Cadenas externo: 5 5 1 1 7 6 6 6 6 2 2 2 2 3

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

Código CadenasCódigo Cadenas• CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

•Finalmente mostramos un ejemplo donde se muestra un uno, con su único código de cadenas, el externo, así como el punto inicial del mismo

Page 35: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

2.5. Comparar con Patrones2.5. Comparar con Patrones Punto fundamental y crítico del OCR.

De que esta fase se realice correctamente depende que el OCR sea adecuado o no a las características exigidas.

• Primera aproximación• Otros métodos

• Otras herramientas

• Nuestro método

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 36: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Primera aproximaciónPrimera aproximación Consiste en comparar nuestro código de cadenas con unos patrones predeterminados.

• Inconvenientes

• Si concuerda será igual • Si no concuerda no será igual

Es un reconocedor muy pobre, ya que solo reconoces imágenes exactas a la del patrón, si no coincide en algo, falla. No puede ser ni más grande, ni estar en cursiva, etc.

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 37: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Otros MétodosOtros Métodos Comparar características topológicas y morfológicas de la imagen a reconocer con las de nuestros patrones. Esta comparación es más precisa que la anterior, ya que no hace falta que la imagen sea exacta al patrón. En este caso solo se comparan características del carácter.

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 38: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Características a tener en cuentaCaracterísticas a tener en cuenta• Nº de Agujeros

1 NO0 1 agujero

• Rectas del carácter

1• Detección de curvas

0• Detección de ángulos

1

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 39: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Características a tener en cuentaCaracterísticas a tener en cuenta

• Detección de cambios bruscos en el código de cadenas

1Código de Cadenas: ... 6 6 2 2 ...Código de Diferencias: ...-4...

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 40: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Nuestro MétodoNuestro Método Vamos a reconocer el 1 fijándonos en el número de giros de 180º en el código de cadenas. Esto se observa cuando en el código de diferencias sale - 4.

El 1 tiene al menos dos giros de 180º, mientras que el 0 no tiene ninguno.

1 Código de Cadenas: ... 6 6 2 2 ...Código de Diferencias: ... -4 ...

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 41: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Nuestro MétodoNuestro Método Además de los cambios bruscos en el código de cadena, nos vamos a fijar que tras el último de estos cambios bruscos si observamos dicho código de cadenas, la dirección 2 va a predominar con respecto al resto de direcciones, en particular va a haber más de un 50% de direcciones 2 hasta el final. El cero, en cambio, no cumple ninguna de estas dos propiedades.

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Ejemplo

Page 42: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

Ejemplo Ejemplo 1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Punto Final

Giro brusco

Hasta el final queda:

• Codigo de Cadena: ... 2 2 2 2 3

• Número de dirección 2: 4

• Número de direcciónes no 2: 1

• Porcentaje de 2 = 44 + 1

= 0.8

El 80% son 2

Page 43: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

VentajasVentajas1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• El reconocimento depende del Universo de discurso. Si nos llegan solamente 0 y 1, podríamos reconocerlos viendo simplemente si el carácter a reconocer tiene un agujero. Nuestro reconocedor, sin embargo se fija en otras cosas para no reconocer todo lo que nos llegue como un 0 o un 1. Si nos fijaramos en si tiene o no agujeros entrarían muchas cosas más de las deseadas.

Page 44: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

VentajasVentajas1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• BinarizaciónBinarización• FragmentarFragmentar

• Código CadenasCódigo Cadenas CompararComparar

• AdelgazarAdelgazar

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Nuestro reconocedor es insensible a desplazamientos. Nos pueden llegar caracteres desplazados, que los vamos a reconocer de igual forma.

• Insensible a rotaciones hasta cierto punto. Si nos llega un 1 rotado, lo vamos a reconocer dentro de un determinado ángulo de rotación, si se gira demasiado, ya no lo reconocemos.

Page 45: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

3. Aplicaciones del OCR3. Aplicaciones del OCR

• Escaneado de documentos para almacenar

• Detección de Matrículas

• Detección de Códigos Postales

• Etc

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 46: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

4. Futuras Mejoras4. Futuras Mejoras

• Mejorar el Interfaz de Usuario

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras• Añadir funciones no implementadas

• Resolver errores

Page 47: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

4. Futuras Mejoras4. Futuras Mejoras• Optimizar Algoritmos

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Si la imagen tiene un margen en blanco, empezar recorridos por (2,2) hasta (N-1,M-1)

• Mejorar clases: Muchas clases incluyen objetos deotras, mejor usar herencia

• Comprobar el uso de la memoria: se ha vigilado poco el uso y liberación de la memoria

• Realizar preprocesado para eliminar el ruido por algún método (como dilatación y erosión).

Page 48: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliografía5. Bibliografía

• Apuntes de Procesamiento de Imágenes Digitales (PID)

• Apuntes de Tratamiento de Voz e Imágenes (TVI) Profesor: Fco. Javier Molina Cantero

• Apuntes de Ingeniería del Software II (ISWII) Profesor: Amador Durán Toro

• Apuntes de Procesadores de Lenguajes II (PLII) Profesores: Rafael Corchuelo Gil

Beatriz Bernárdez Jiménez

Profesor: Pedro Real Jurado

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 49: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliografía5. Bibliografía

• Introducción a la programación: Un enfoque práctico

Autores: Juan Mauel Cordero Valle José Mariano González Romero Rafael Martínez Gasca Rafael Romero Aleta

• Visual C++, Aplicaciones para Win32, 2ª Edición Editorial: Ra-ma Autor: Fco. Javier Ceballos Sierra

Editorial: Algaida

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 50: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliografía5. Bibliografía• Detection of Curved and Straight Segments from Gray Scale Topography

Autores: Li Wang and Theo Pavlidis

• A Model-Based Segmentation Method for Handwritten Numeral Strings

Department of Computer Science, Stony Brook, New York, 1992

Autores: Jianming Hu and Hong YanDepartment of Electrical Engineering, University of Sidney, 1997

• Fast Binary Image Processing Using Binary Decision Diagrams

Autores: L. Robert and G. MalandainINRIA-Sophia Antipolis, France, 1997

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 51: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Enlaces de interés5. Enlaces de interés• documents.cfar.umd.edu

• www.cs.cmu.edu/~cil/vision.html

• www.ocr.com

• www.infaimon.es/industria/software/cvbminos.htm

• www.ucm.es/info/especulo/numero12/artenuev.html

• www.cedar.buffalo.edu/Publications/techreports.html

• www.cedar.buffalo.edu/Publications/TechReps/ /OCRTech84/paper94.html

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Page 52: Facultad de Informátida y Estadística

Facultad de Informátida y Estadística

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

• www.cc.siue.edu/CVIPtools

• www.dai.ed.ac.uk/HIPR2

• www.mip.sdu.dk/ipl98

• www.leadtools.com

5. Enlaces de interés5. Enlaces de interés

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras