La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Escuela Técnica Superior de Ingeniería Informática Autor: » Manuel Ramón León Jiménez Proyecto Fin de Carrera.

Presentaciones similares


Presentación del tema: "Escuela Técnica Superior de Ingeniería Informática Autor: » Manuel Ramón León Jiménez Proyecto Fin de Carrera."— Transcripción de la presentación:

1 Escuela Técnica Superior de Ingeniería Informática Autor: » Manuel Ramón León Jiménez Proyecto Fin de Carrera

2 Escuela Técnica Superior de Ingeniería Informática ÍNDICE 1. Introducción 1.1. Definición de OCR 1.2. Problemas del OCR 1.3. Situación Actual 1.4. Métodos 1.5. Objetivos 2. Metodología de trabajo 2.1. Binarización Definición Implementación 2.2. Fragmentar la Imagen Definición Implementaciones 2.3. Adelgazar la Imagen Definiciones Algoritmo Mejoras Proyecto Fin de Carrera

3 Escuela Técnica Superior de Ingeniería Informática ÍNDICE 2.4. Código de Cadenas Definiciones Algoritmos Necesarios Algoritmo Teórico Algoritmo Implementado Ejemplo de Código de Cadenas Código de Cadenas Extendido Código de Cadenas Suavizado Adaptación de Código de Cadenas 2.5. Caracterización Definición Caracterizaciones Inmediatas Caracterizaciones Elaboradas Caracterización Implementada Herramientas Utilizadas Definiciones Características Extraidas 2.6. Comparar con patrones Definición Comparación Implementada Características Comparación Exhaustiva Comparación Flexible Proyecto Fin de Carrera

4 Escuela Técnica Superior de Ingeniería Informática ÍNDICE 3. Aplicaciones del OCR 4. Mejoras 5. Bibliografía 6. Enlaces de Interés Proyecto Fin de Carrera

5 Escuela Técnica Superior de Ingeniería Informática 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 1. Introducción 1.1. Definición de OCR 1.2. Problemas del OCR 6. Enlaces 4. Mejoras 1.3. Situación actual 1.4. Métodos 1.5. Objetivos

6 1.1. Definición de 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. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría > Definición Problemas Problemas 6. Enlaces 4. Mejoras Situación actual Situación actual Métodos Métodos Objetivos Objetivos Escuela Técnica Superior de Ingeniería Informática

7 1.2. Problemas del OCR Caracteres mecanografiados Caracteres escritos a mano La letra no es clara No se distingue el fondo Caracteres unidos Caracteres cortados Ejemplo 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Definición Definición > Problemas 6. Enlaces 4. Mejoras Situación actual Situación actual Métodos Métodos Objetivos Objetivos Escuela Técnica Superior de Ingeniería Informática

8 1.3. Situación actual El OCR es un mecanismo que ha sido y está siendo estudiado en profundidad. Se debe a sus aplicaciones en la vida real: Identificación de códigos postales en servicios de correos (EEUU) Identificación de matrículas mediante cámara digital Conversión de imagen digitalizada a documento de texto Etc 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Definición Definición Problemas Problemas 6. Enlaces 4. Mejoras > Situación actual Métodos Métodos Objetivos Objetivos Escuela Técnica Superior de Ingeniería Informática

9 1.4. Métodos Existe gran variedad de metodologías para llevar a cabo el OCR. Depende del alfabeto a reconocer y del universo de discurso del que se dispone. Algunos métodos son: Densidad de puntos por zonas Histograma horizontal y vertical Transformada de Hough Etc 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Definición Definición Problemas Problemas 6. Enlaces 4. Mejoras Situación actual Situación actual > Métodos Objetivos Objetivos Escuela Técnica Superior de Ingeniería Informática

10 1.5. Objetivos El objetivo de este proyecto consiste en la implementación de un OCR genérico, es decir, que pueda reconocer cualquier símbolo. Para ello el OCR debe extraer unas características a las imágenes analizadas que permitan reconocerla, sea cual sea el carácter que representa. Además debe ser capaz de recordar los caracteres que ya ha analizado para analizarlos bien en futuros reconocimientos. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Definición Definición Problemas Problemas 6. Enlaces 4. Mejoras Situación actual Situación actual Métodos Métodos > Objetivos Escuela Técnica Superior de Ingeniería Informática

11 2. 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.6. Comparar con patrones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 6. Enlaces 4. Mejoras 2.5. Caracterizar la componente Escuela Técnica Superior de Ingeniería Informática

12 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 6. Enlaces 4. Mejoras Imagen de Entrada Entrada Binarización ImagenBinaria Fragmentado Componentes Conexas Conexas Adelgazar Escuela Técnica Superior de Ingeniería Informática

13 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 6. Enlaces 4. Mejoras Componentes Adelgazadas Adelgazadas CodCad, CodCadS, CodDif, CodDifV Códigos C, CS, D, DV Caracterizador CodCadA Adaptador CodCad Puntos Segmentos ExtractorCaract. Escuela Técnica Superior de Ingeniería Informática

14 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 6. Enlaces 4. Mejoras Fases Reconocimiento Información Información de la BBDD Caracteres CaracteresReconocidos SinReconocer Escuela Técnica Superior de Ingeniería Informática

15 2.1. Binarización Definición Implementación 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

16 Definición Consiste en pasar una imagen que inicialmente puede estar a color, primero a escala de grises y después a blanco y negro. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

17 Implementación Pasar de Color a Grises De Grises a Blanco y Negro Mediante la banda del verde Pasar de RGB a Grises Thresholding Se puede llevar a cabo todo el proceso en un solo recorrido de la imagen. Nota: 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

18 Pasar de Color a Grises Pasar de Color a Grises Mediante la banda del verde Luminacia Implementación 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

19 Pasar de Color a Grises Pasar 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 *G *B Implementación 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

20 Pasar de Color a Grises Imagen a Color Imagen en Grises con la banda del verde Imagen de RGB a Grises 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

21 De Grises a Blanco y Negro De Grises a Blanco y Negro Thresholding Valor Umbral NegroBlanco BlancosNegros Implementación 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

22 De Grises a Blanco y Negro Imagen en Grises Imagen Blanco y Negro: Umbral 128 Imagen Blanco y Negro: Umbral 225 Histograma 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría >Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

23 2.2. Fragmentar la Imagen Definición Implementaciones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

24 Definición Consiste en descomponer la imagen en las diferentes componentes conexas (cc) que la componen. Una componente conexa no es más que un trozo de imagen en la que todos los pixels son adyacentes entre si. Todos los puntos de una componente conexa están conectados. Cada componente conexa se enmarca en un recuadro. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

25 Ejemplo Definición 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

26 Implementaciones Implementaciones B) Versión Lenta C) Versión Rápida D) Versión por Renglones Implementaciones A) Etiquetado de la Imagen B) Conocimiento de tamaño mínimo C) Tamaño mínimo automático A) Border Following en componentes Mejoras 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

27 Implementaciones A) Etiquetado de la Imagen Se recorre la matriz etiquetando componentes conexas según los vecinos ya recorridos. Una vez etiquetada la imagen, hay que calcular los recuadros de cada cc aa aa aa a Volver a CC 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

28 Implementaciones B) 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 encuentra una componente registrada, no se vuelve a registrar. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

29 B) Versión Lenta Implementaciones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Ya registrados Escuela Técnica Superior de Ingeniería Informática

30 Implementaciones C) Versión Rápida Es igual que la anterior, pero en este caso cuando llega a un pixel negro, se comprueba primero si ya está registrado en una componente conexa, evitando así realizar el algoritmo recursivo. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

31 Implementaciones D) 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 columna siguiente a dicha componente conexa, además se calcula el salto que se debe dar para pasar a una nueva fila. Nunca se llega a una componente ya reconocida ni se salta ninguna con componentes de igual tamaño y alineadas en renglones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

32 Implementaciones 3 Versión por Renglones Siguiente Salto 3 Volver 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Altura = 6 Sigo por: (6+1)/2 = 3 Salto = Altura = 6 Escuela Técnica Superior de Ingeniería Informática

33 Inconvenientes Si hay componentes menores al primero, puede que no se encuentren. Las componentes tienen que estar alineadas en renglones (preferiblemente). Esta componente no la reconoce Implementaciones D) Versión por Renglones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

34 Mejoras A) Border Following en componentes Una mejora llevada a cabo en la aplicación consiste en utilizar el algoritmo de Border Following para enmarcar la componente conexa. Este método solo recorre los puntos del borde de la componente a diferencia del recursivo que los recorre todos, siendo por tanto mucho más rápido. (Explicado en Código de Cadenas) Implementaciones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

35 Mejoras B) Conocimiento de tamaño mínimo Otra posible mejora consiste en recorrer filas y columnas de n en n. Siendo n el tamaño del carácter más pequeño que puede aparecer en la imagen. Recorrer pixel a pixel es excesivo, una componente conexa de un pixel no es significativa. El usuario podría indicar en las opciones el tamaño mínimo o incluirse uno por defecto Implementaciones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

36 Mejoras C) Tamaño mínimo automático Un refinamiento de la mejora anterior es buscar en el centro de la imagen varios caracteres y escoger el tamaño mínimo en función de estos. Se debe tener en cuenta además el último carácter que puede tener un punto y final Implementaciones 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización > Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

37 2.3. Adelgazar la Imagen Definiciones Algoritmo Mejoras 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

38 Definiciones A) Punto Simple Los 8 vecinos de P forman una sola componente conexa adyacente a P. B) Punto Final Solo tiene un vecino negro. C) Punto Aislado No tiene vecinos negros. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

39 Definiciones No simple Final Aislado Simple 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

40 Algoritmo Consiste en ir barriendo la imagen 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 finaliza cuando en una iteración no se elimina ningún pixel en ningún barrido (N, S, E, O). 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

41 Algoritmo Primera Iteración NorteSurEsteOeste 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

42 Algoritmo Segunda Iteración NorteSur, Este y Oeste No se marca ningún punto En la próxima iteración no se elimina ningún pixel en ningún barrido (N, S, E, O), luego el algoritmo finaliza. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

43 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 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

44 Ejemplo de Adelgazamiento A continuación se muestra un ejemplo del adelgazamiento completo de un cero y un uno completando todas las iteraciones necesarias para ello. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar > Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

45 2.4. Código de Cadenas Definiciones Algoritmos Necesarios Algoritmo teórico Algoritmo Implementado Ejemplo de código de cadenas Código de cadenas extendido Código de cadenas suavizado Adaptación de Código de Cadenas 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

46 2.4.1 Definiciones A) 4-Adyacencia: 2 puntos son 4-adyacentes si tienen la misma coordenada x o la misma coordenada y. B) 8-Adyacencia: Un punto Q (q1,q2) es 8-adyacente a P (p1,p2) si |q1-p1|<=1 y |q2-p2|<=1 Puntos 4-adyacentes al punto central Puntos 8-adyacentes al punto central 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

47 2.4.1 Definiciones F) Bordes: puntos de la componente conexa que son 4- adyacentes a puntos del complementario. Definido como: S = {P Є S / P es adyacente a S c } C) Σ: La imagen completa. D) S: La componente conexa de la imagen. E) S c : El fondo, el complementario. Es la parte de la imagen que no interesa. Puede tener varias componentes conexas si la imagen tiene un agujero (D 0, D 1, D 2,...). 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

48 2.4.1 Definiciones G) D 0 : Parte del complementario que envuelve a la imagen. H) D 1, D 2,... : Parte del complementario que está contenida en los agujeros de la imagen.0 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

49 2.4.2 Algoritmos Necesarios A) Etiquetado de la Imagen: Se etiquetan todos los píxeles de la imagen. La etiqueta indica a qué componente conexa pertenece Algoritmo C) Border Following: Este proceso permite recorrer un borde de una imagen en sentido horario o antihorario. B) Border Finding: Este proceso permite encontrar todos los bordes de una imagen. Se basa en el algoritmo de etiquetado de la imagen. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

50 B) Border Finding Si no se ha calculado borde externo, se busca el primer pixel de S con 4-vecino de D 0. Si se ha calculado borde externo, se buscan pixels de S con 4-vecino de D 1, D 2, etc. Ejemplo: 4-Vecino de D 0 4-Vecino de D1 4-Vecino de D2 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

51 C) Border Following Calcula un borde de una componente conexa. Se obtiene una lista de números con las direcciones que hay que seguir para recorrer ese borde P Definición Direcciones: Nota: Si la dirección es d, significa que el borde gira d·45º 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

52 C) Border Following La función para buscar el primer vecino es: A) Si el borde es externo : Dame el primer vecino no marcado y con la prioridad: B) Si el borde es interno : Dame el primer vecino no marcado y con la prioridad: P P º2º 1º 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

53 C) Border Following La función para buscar el siguiente vecino es: A) Si el borde es externo : Si la dirección en la que se encuentra el punto anterior desde el actual es d, empieza a buscar en la dirección (d + 1) % 8 B) Si el borde es interno : Si la dirección en la que se encuentra el punto anterior desde el actual es d, empieza a buscar en la dirección (d - 1) % P P º2º 1º d=4 d=0 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

54 C) Border Following La finalización del recorrido: Finaliza el proceso cuando se llega al punto de partida y la dirección siguiente que se va a tomar es la dirección que tomó el punto de partida al comienzo. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

55 2.4.3 Algoritmo Teórico 1) Se lleva a cabo el algoritmo de etiquetado de la imagen para encontrar las componentes conexas y las componentes del complementario. 2) Mediante Border Finding se encuentran todos los bordes de las componentes conexas. 3) Se aplica el Border Following a cada borde de la componente conexa encontrado. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

56 2.4.4 Algoritmo Implementado Se tiene una sola cc cada vez. No se realiza etiquetado de la imagen. No se realiza Border Finding a la imagen. Se lleva a cabo el Border Following del borde externo exclusivamente. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

57 2.4.5 Ejemplo de Cód. Cad. Punto inicial: (1, 3) Código de Cadenas externo: Códigos de Cadenas internos: No tiene 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 P No se finaliza el proceso 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

58 2.4.6 Cód. de Cad. Extendido Se guarda para cada punto del código de cadenas, el pixel de la imagen al que se llega. De esta forma se pueden detectar facilmente los puntos de cruce en el borde de la imagen (Slope Points, SP). 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

59 2.4.7 Cód. de Cad. Suavizado Se trata de someter al código de cadenas a un proceso de suavizado con el que se consigue eliminar de la imagen los dientes de sierra generados por la digitalización de la imagen o por el adelgazamiento. Algoritmo 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Escuela Técnica Superior de Ingeniería Informática

60 2.4.8 Adaptación de Cód. Cad. La adaptación del código de cadenas consiste en transformarlo de manera que empiece desde otro punto del borde. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar > Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras Caractºerizar Caractºerizar Cód Cad: Si la adaptación se quiere por el punto 11, se obtendrá el código de cadenas equivalente: Punto para la adaptación Escuela Técnica Superior de Ingeniería Informática

61 2.5. Caracterización Definición Caracterizaciones inmediatas Caracterizaciones elaboradas Caracterización implementada Herramientas utilizadas Definiciones Características extraidas 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

62 Definición Consiste en extraer características de la imagen. Dependiendo del objetivo del OCR, se extraerán unas características u otras. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

63 Caracterizaciones Inmediatas Se puede usar por características de la imagen: B) El propio código de cadenas y/o código de diferencias. C) El histograma de puntos horizontales y puntos verticales en la imagen. D) La lista de densidades de puntos por zonas de la imagen. A) La propia imagen. E) Etc. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

64 Caracterizaciones Elaboradas Nº de Agujeros 1 No tiene 0 1 agujero Rectas del carácter 1 Detección de curvas 0 Detección de ángulos 1 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

65 Caracterizaciones Elaboradas Detección de cambios bruscos en el código de cadenas 1 Código de Cadenas: Código de Diferencias: Densidad de puntos, histogramas, etc. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

66 Caracterización Implementada Herramientas utilizadas A) Código de Diferencias B) Código de Diferencias por Ventanas C) Suavizador Definiciones Características extraidas 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

67 Herramientas utilizadas Herramientas utilizadas A) Código de Diferencias Consiste en restar el punto i y el punto i+1 del código de cadenas. Se obtienen los giros reales que se producen en el código de cadenas, que representa la imagen. CodCad: CodDif: Los códigos de diferencias dan los giros en la imagen: Giro: 0º 45º 90º 135º 180º Número: 0 1,7 2,6 3,5 4 Giro de 180º Giro de 90º 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

68 Herramientas utilizadas CodCad: CodDif: CodDifV: V=4 Giro de 90º no detectado en CodDif B) Código de Diferencias por Ventanas Consiste en restar el punto i y el punto i+V-1 del código de cadenas. Se obtiene los giros que se producen en el código de cadenas dentro de un intervalo de puntos. El código de diferencias por ventana da los giros en la imagen en una ventana. Es útil debido a que el adelgazamiento suaviza los ángulos de la imágen 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

69 Herramientas utilizadas C) Suavizador Consiste en suavizar los dientes de sierra de una imagen haciendo uso de su código de cadenas. Se actua por ventanas, si se encuentra en la ventana un diente de sierra, se sustituye por una recta análoga. Existe un diente de sierra en la ventana si hay el mismo número de direcciones opuestas Direcciones Opuestas: |1,3|3,5|5,7|7,1| |0,2|2,4|4,6|6,0| En la ventana hay n: 1,3 => Se sustituyen por 2n 0 3,5 => Se sustituyen por 2n 2 5,7 => Se sustituyen por 2n 6 7,1 => Se sustituyen por 2n 0 0,2 => Se sustituyen por n 1 2,4 => Se sustituyen por n 3 4,6 => Se sustituyen por n 5 6,0 => Se sustituyen por n 7 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

70 Herramientas utilizadas C) Suavizador Ejemplo: CodCad: CodCadS: Ventana = 2 es suficiente CodCad: CodCadS: Ventana = 4 lo detecta 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

71 Herramientas utilizadas C) Suavizador Ejemplo: CodCad: CodCadS: Ventana = 2 es suficiente CodCad: CodCadS: Ventana = 3 lo detecta Volver a CCS 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

72 Definiciones A) End Point (EP): Punto Final. Punto encontrado en el código de diferencias y que representa un giro de 180º en el código de cadenas. En la imagen representa un punto final (Ver Adelgazar) B) Slope Point (SP): Punto Anguloso. Punto encontrado en el código de diferencias y que representa un giro de 90º o 135º en el código de cadenas. En la imagen representa un giro brusco. (Menores giros son irrelevantes, propios de la digitalización) C) Joint Point (JP): Punto Intersección. Punto con más de 2 vecinos en la imagen. No encontrados por Código de Cadenas simple (Encontrados en CodCad Extendido) 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

73 Definiciones D) Punto Real: Punto encontrado en el código de diferencias de la imagen. E) Punto Ficticio o de Ventana: Punto encontrado en el código de diferencias por ventana de la imagen. Según las anteriores definiciones podemos tener: EP: End Point Real (4s en el CodDif) SP: Slope Point Real (2s y 6s en el CodDif) EPv: End Point Ficticio (4s en el CodDifV) SPv: Slope Point Ficticio (2s y 6s en el CodDifV) 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

74 Definiciones F) Segmento: Parte del código de cadenas que va desde un punto detectado a otro. Si el primer punto es real, el segmento empieza en el siguiente punto del código de diferencias. Si el primer punto es ficticio, el segmento empieza después de la ventana del punto inicial. Se consideran parte del giro, los puntos de la ventana. El segmento siempre llega al segundo punto, este incluido. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

75 Características Extraidas End Points Reales No se considera EP un punto ficticio. Se guarda el orden en que aparecen La posición en el CodCad no es relevante (varía) Slope Points Reales y Ficticios Puede haber giros bruscos suavizados Se guarda el orden en que aparecen La posición en el CodCad no es relevante (varía) Segmentos Se guarda el % de puntos del segmento, el tipo de segmento y el orden en que aparecen. Los segmentos con un % de puntos inferior a un umbral, no son tenidos en cuenta (ej: Serifs). 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas Comparar Comparar 6. Enlaces 4. Mejoras > Caracterizar Escuela Técnica Superior de Ingeniería Informática

76 2.6. Comparar con Patrones Definición Comparación Implementada Características Comparación Exhaustiva Comparación Flexible 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

77 Definición Esta etapa del OCR consiste en comparar las características que se han obtenido por el caracterizador con unas características teóricas. Estas últimas definen a los caracteres que se pueden reconocer. Este paso es la etapa clave del OCR. El buen funcionamiento del OCR se debe en gran medida a una buena definición de este proceso. No se debe olvidar la importancia de una buena caracterización, sin la cual este paso carece de sentido. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

78 Comparación Implementada Características Comparación Exhaustiva Comparación Flexible 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

79 Características En G-OCR se va a disponer de una base de datos (BBDD) en la que se va a tener almacenado todos los caracteres que la aplicación es capaz de reconocer. Inicialmente la BBDD estará vacía. A medida que se encuentren caracteres no disponibles en la BBDD, se irán insertando en esta. De esta forma G-OCR se convierte en una aplicación genérica, puesto que es capaz de reconocer cualquier tipo de carácter, no solo números o caractéres latinos. Aunque el método de comparación está pensado para caracteres latinos (rectas y curvas son sinónimas). 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

80 Es imposible obtener un caracterizador y un comparador que funcionen a la perfección con cualquier tipo de símbolos. Cada familia (alfabeto latino, chino, matemático) tiene sus peculiaridades. Debido al carácter genérico de G-OCR, el reconocimiento no será tan exacto como un OCR específico, pero en cambio, podrá reconocerse cualquier tipo de símbolos (a costa de insertar más símbolos en la BBDD) Características 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

81 Comparación Exhaustiva Puntos: Comprobar que se dan en el orden del patrón y son del tipo del patrón. (No se tiene en cuenta EPv) Tipos de puntos: EP: Puntos finales SP: Puntos angulosos (independientemente de que sean reales o ficticios) 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

82 Comparación Exhaustiva Segmentos: Comprobar que se dan en el orden del patrón, son del tipo del patrón y tienen un % igual al del patrón ± un porcentaje configurable. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

83 Comparación Exhaustiva Tipos de Segmentos: Rectas: P Recta01: Recta12: Recta23: Recta34: Recta45: Recta56: Recta67: Recta70: Recta01: El segmento solo tiene direcciones 0 y 1 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

84 Comparación Exhaustiva Tipos de Segmentos: Curvas: P Curva012:Curva123:Curva234:Curva345: Curva456: Curva567:Curva670:Curva701: Curva012: El segmento solo tiene direcciones 0, 1 y 2 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

85 Comparación Exhaustiva Tipos de Segmentos: P SemicírculoE: Semicírculos: SemicírculoO: SemicírculoS: SemicírculoN: SemicírculoSO: SemicírculoSE: SemicírculoNO: SemicírculoNE: SemicírculoE: Direcciones 6,7,0,1 y 2 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

86 Comparación Exhaustiva Tipos de Segmentos: P Círculo: Círculo: Puede tomar cualquier dirección. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

87 Comparación Flexible Puntos: Se comprueba que la imagen tiene el mismo número de EP que el patrón. Segmentos: Comprobar que se dan en el orden del patrón, son de un tipo compatible con el del patrón y tienen un % igual al del patrón ± un porcentaje configurable. 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

88 Segmentos: Tipos Compatibles: Recta01 = Curva012, Curva701 (Puede tener un 2 o un 7) Recta12 = Curva012, Curva123 (Puede tener un 0 o un 3) Recta23 = Curva123, Curva234 (Puede tener un 1 o un 4) Recta34 = Curva234, Curva345 (Puede tener un 2 o un 5) Recta45 = Curva345, Curva456 (Puede tener un 3 o un 6) Recta56 = Curva456, Curva567 (Puede tener un 4 o un 7) Recta67 = Curva567, Curva670 (Puede tener un 5 o un 0) Recta70 = Curva670, Curva701 (Puede tener un 6 o un 1) Comparación Flexible 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

89 Segmentos: Tipos Compatibles: Curva012 = SemicírculoNE (Puede tener un 3 o un 7) Curva123 = SemicírculoN (Puede tener un 4 o un 0) Curva234 = SemicírculoNO (Puede tener un 1 o un 5) Curva345 = SemicírculoO (Puede tener un 2 o un 6) Curva456 = SemicírculoSO (Puede tener un 3 o un 7) Curva567 = SemicírculoS (Puede tener un 4 o un 0) Curva670 = SemicírculoSE (Puede tener un 5 o un 1) Curva701 = SemicírculoE (Puede tener un 6 o un 2) Comparación Flexible 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría Binarización Binarización Fragmentar Fragmentar Adelgazar Adelgazar Código Cadenas Código Cadenas > Comparar 6. Enlaces 4. Mejoras Caracterizar Caracterizar Escuela Técnica Superior de Ingeniería Informática

90 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 3. Aplicaciones del OCR Escaneado de documentos para almacenar Detección de Matrículas Detección de Códigos Postales Se usan técnicas similares para otras aplicaciones de reconocimiento, como reconocer rostros, fallos en circuitos integrados, etc. 6. Enlaces 4. Mejoras Escuela Técnica Superior de Ingeniería Informática

91 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 4. Mejoras Mejorar el Interfaz de Usuario 6. Enlaces 4. Mejoras Añadir funciones no implementadas Escuela Técnica Superior de Ingeniería Informática

92 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliograría 4. Mejoras Optimizar Algoritmos 6. Enlaces 4. Mejoras Si la imagen tiene un margen en blanco, empezar recorridos por (2,2) hasta (N-1,M-1) Mejorar clases: Usar más técnicas de OO, templates, etc. Implementar la imagen en una sola clase, evitando volcados de la imagen de una a otra clase. Sustituir la representación en caracterizador del CodDif como int * por Cstring para evitar volcado de datos Escuela Técnica Superior de Ingeniería Informática

93 1. Introducción 2. Metodología 3. Aplicaciones 5. 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ía 6. Enlaces 4. Mejoras Escuela Técnica Superior de Ingeniería Informática

94 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliografía Introducción a la programación: Un enfoque práctico > Autores: Juan Mauel Cordero Valle José Mariano Gonzáles 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ía 6. Enlaces 4. Mejoras Escuela Técnica Superior de Ingeniería Informática

95 1. Introducción 2. Metodología 3. Aplicaciones 5. 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 Yan Department of Electrical Engineering, University of Sidney, Bibliograría 6. Enlaces 4. Mejoras CVGIP: Image Understanding Vol. 58, No. 3, November, pp , 1993 Computer Vision and Image Understanding Vol. 70, No. 3, June, pp , 1998 Article No. IV Escuela Técnica Superior de Ingeniería Informática

96 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliografía Fast Binary Image Processing Using Binary Decision Diagrams > Autores: L. Robert and G. Malandain INRIA-Sophia Antipolis, France, Bibliograría 6. Enlaces 4. Mejoras Computer Vision and Image Understanding Vol. 72, No. 1, October, pp. 1-9, 1998 Article No. IV Thinning Methodoligies - A Comprehensive Survey > Autores: Louisa Lam, Seong-Whan Lee, Member, IEEE, and Ching Y. Suen, Fellow, IEEE IEEE Transactions on pattern analysis and machine intelligence Vol. 14, No. 9, September 1992 Escuela Técnica Superior de Ingeniería Informática

97 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliografía Structural Indexing for Character Recognition > Autores: Dipartamento di Informatica e Sistemistica, Universitá di Napoli Federico II, Via Claudio, 21, Napoli, Italy 5. Bibliograría 6. Enlaces 4. Mejoras Angelo Marcelli Citicorp Securities, Inc., 399 Park Avenue, 11th floor, Zone 12, New York, New York Natasha Likhareva Department of Computer Science, Image Analysis Laboratory, SUNY at Stony Brook, New York Theo Pavlidis CVI Understanding. Vol. 66, No. 3, June, pp , 1997 Article No. IV Escuela Técnica Superior de Ingeniería Informática

98 1. Introducción 2. Metodología 3. Aplicaciones 5. Bibliografía 5. Bibliograría 6. Enlaces 4. Mejoras Optical Character Recognition and Parsing of Typeset Mathematics > Autores: Richard J. Fateman, Taku Tokuyasu, Benjamin P. Berman, and Nicholas Mitchell Journal of visual communication and image representation Vol. 7, No. 1, March, pp. 2-15, 1996 Artcle No Computer Science Division, EECS Department, University of California at Berkeley, Berkeley, California A Robust Preclasification Scheme for hierarchical character recognition > N.A. Khan, J.A. Hegt, I. Cebollero Eindhoven University of Technology Dept. of Electrical Engineering P.O. Box 513, 5600MB Eindhoven, The Netherlands Escuela Técnica Superior de Ingeniería Informática

99 1. Introducción 2. Metodología 3. Aplicaciones 6. Enlaces de interés documents.cfar.umd.edu / OCRTech84/paper94.html 5. Bibliograría 6. Enlaces 4. Mejoras Escuela Técnica Superior de Ingeniería Informática

100 1. Introducción 2. Metodología 3. Aplicaciones Enlaces de interés 5. Bibliograría 6. Enlaces 4. Mejoras Escuela Técnica Superior de Ingeniería Informática

101


Descargar ppt "Escuela Técnica Superior de Ingeniería Informática Autor: » Manuel Ramón León Jiménez Proyecto Fin de Carrera."

Presentaciones similares


Anuncios Google