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

Post on 03-Mar-2015

2 views 1 download

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

Escuela Técnica Superior de Ingeniería Informática

Autor:» Manuel Ramón León Jiménez

Proyecto Fin de Carrera

Escuela Técnica Superior de Ingeniería Informática

ÍNDICE1. Introducción

1.1. Definición de OCR1.2. Problemas del OCR1.3. Situación Actual1.4. Métodos1.5. Objetivos

2. Metodología de trabajo2.1. Binarización

2.1.1. Definición2.1.2. Implementación

2.2. Fragmentar la Imagen2.2.1. Definición2.2.2. Implementaciones

2.3. Adelgazar la Imagen2.3.1. Definiciones2.3.2. Algoritmo2.3.3. Mejoras

Proyecto Fin de Carrera

Escuela Técnica Superior de Ingeniería Informática

ÍNDICE2.4. Código de Cadenas

2.4.1. Definiciones2.4.2. Algoritmos Necesarios2.4.3. Algoritmo Teórico2.4.4. Algoritmo Implementado2.4.5. Ejemplo de Código de Cadenas2.4.6. Código de Cadenas Extendido2.4.7. Código de Cadenas Suavizado2.4.8. Adaptación de Código de Cadenas

2.5. Caracterización2.5.1. Definición2.5.2. Caracterizaciones Inmediatas2.5.3. Caracterizaciones Elaboradas2.5.4. Caracterización Implementada

2.5.4.1. Herramientas Utilizadas2.5.4.2. Definiciones2.5.4.3. Características Extraidas

2.6. Comparar con patrones2.6.1. Definición2.6.2. Comparación Implementada

2.6.2.1. Características2.6.2.2. Comparación Exhaustiva2.6.2.3. Comparación Flexible

Proyecto Fin de Carrera

Escuela Técnica Superior de Ingeniería Informática

ÍNDICE3. Aplicaciones del OCR4. Mejoras5. Bibliografía6. Enlaces de Interés

Proyecto Fin de Carrera

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

1. Introducción1. Introducción

1.1. Definición de OCR

1.2. Problemas del OCR

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

1.3. Situación actual

1.4. Métodos

1.5. Objetivos

1.1. Definición de OCR1.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.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

> DefiniciónDefinición

• ProblemasProblemas

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Situación actualSituación actual

• MétodosMétodos

• ObjetivosObjetivos

Escuela Técnica Superior de Ingeniería Informática

1.2. Problemas del OCR1.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.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

• DefiniciónDefinición

> ProblemasProblemas

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Situación actualSituación actual

• MétodosMétodos

• ObjetivosObjetivos

Escuela Técnica Superior de Ingeniería Informática

1.3. Situación actual1.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.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

• DefiniciónDefinición

• ProblemasProblemas

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

> Situación actualSituación actual

• MétodosMétodos

• ObjetivosObjetivos

Escuela Técnica Superior de Ingeniería Informática

1.4. Métodos1.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.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

• DefiniciónDefinición

• ProblemasProblemas

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Situación actualSituación actual

> MétodosMétodos

• ObjetivosObjetivos

Escuela Técnica Superior de Ingeniería Informática

1.5. Objetivos1.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.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

• DefiniciónDefinición

• ProblemasProblemas

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• Situación actualSituación actual

• MétodosMétodos

> ObjetivosObjetivos

Escuela Técnica Superior de Ingeniería Informática

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.6. Comparar con patrones

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

2.5. Caracterizar la componente

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Imagen de Imagen de EntradaEntrada

BinarizaciónBinarización Imagen Imagen Binaria Binaria

FragmentadoFragmentadoComponentesComponentes ConexasConexas

AdelgazarAdelgazar

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

ComponentesComponentes AdelgazadasAdelgazadas

CodCad, CodCad, CodCadS,CodCadS,CodDif, CodDif, CodDifVCodDifV

Códigos C, Códigos C, CS, D, DVCS, D, DV

CaracterizadorCaracterizador

CodCadACodCadAAdaptador Adaptador CodCadCodCad

PuntosPuntos

SegmentosSegmentos

ExtractorExtractorCaract.Caract.

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

FasesFases

ReconocimientoReconocimiento

InformaciónInformaciónde lade la

BBDDBBDD

CaracteresCaracteresReconocidosReconocidos

CaracteresCaracteresSin Sin ReconocerReconocer

Escuela Técnica Superior de Ingeniería Informática

2.1. Binarización2.1. Binarización

2.1.1. Definición

2.1.2. Implementación

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.1.1. Definición2.1.1. 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.1.2. Implementación2.1.2. 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

• Pasar de Color a GrisesPasar de Color a Grises

• Mediante la banda del verde Luminacia

2.1.2. Implementación2.1.2. Implementación1.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

• 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

2.1.2. Implementación2.1.2. Implementación1.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

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

5. Bibliograría5. Bibliograría

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

• CompararComparar

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

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

• Thresholding

Valor Umbral

0 64 128 192 255Negro Blanco

BlancosNegros

2.1.2. Implementación2.1.2. Implementación1.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

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

5. Bibliograría5. Bibliograría

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

• CompararComparar

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.2. Fragmentar la Imagen2.2. Fragmentar la Imagen

2.2.1. Definición

2.2.2. Implementaciones

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.2.1. Definición2.2.1. 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

Ejemplo

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

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

2.2.1. Definición2.2.1. Definición1.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.2.2. Implementaciones2.2.2. Implementaciones

B) Versión Lenta

C) Versión Rápida

D) Versión por Renglones

• ImplementacionesA) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.2.2. Implementaciones2.2.2. ImplementacionesA) 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.

1 1 0 0 0 00 0 1 0 0 0

a a 1 1 0 0 0 00 0 1 0 0 0

a a 1 1 0 0 0 00 0 1 0 0 0

a a

a

Volver a CC

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.2.2. Implementaciones2.2.2. ImplementacionesB) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

B) Versión Lenta

2.2.2. Implementaciones2.2.2. Implementaciones1.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

• CaractºerizarCaractºerizar

Ya registrados

Escuela Técnica Superior de Ingeniería Informática

2.2.2. Implementaciones2.2.2. ImplementacionesC) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.2.2. Implementaciones2.2.2. ImplementacionesD) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.2.2. Implementaciones2.2.2. Implementaciones

3

Versión por Renglones

Siguiente Salto

3

Volver

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

• CaractºerizarCaractºerizar

Altura = 6

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

Salto = Altura = 6

Escuela Técnica Superior de Ingeniería Informática

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

2.2.2. Implementaciones2.2.2. ImplementacionesD) Versión por Renglones

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

• 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)

2.2.2. Implementaciones2.2.2. Implementaciones1.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

• MejorasB) 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.

2.2.2. Implementaciones2.2.2. Implementaciones1.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

• 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.

2.2.2. Implementaciones2.2.2. Implementaciones1.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.3. Adelgazar la Imagen2.3. Adelgazar la Imagen

2.3.1. Definiciones

2.3.2. Algoritmo

2.3.3. Mejoras

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.3.1. Definiciones2.3.1. DefinicionesA) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.3.1. Definiciones2.3.1. Definiciones

No simpleFinal

AisladoSimple

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.3.2. Algoritmo2.3.2. 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.3.2. Algoritmo 2.3.2. Algoritmo • Primera Iteración

Norte Sur Este Oeste

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.3.2. Algoritmo 2.3.2. Algoritmo • 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.

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.3.3. Mejoras2.3.3. 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

Ejemplo de AdelgazamientoEjemplo 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4. Código de Cadenas2.4. Código de Cadenas2.4.1. Definiciones

2.4.2. Algoritmos Necesarios

2.4.3. Algoritmo teórico

2.4.4. Algoritmo Implementado

2.4.5. Ejemplo de código de cadenas

2.4.6. Código de cadenas extendido

2.4.7. Código de cadenas suavizado

2.4.8. Adaptación de Código de Cadenas

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.1 Definiciones2.4.1 DefinicionesA) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.1 Definiciones2.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 Sc}

C) Σ: La imagen completa.

D) S: La componente conexa de la imagen.

E) Sc: El fondo, el complementario. Es la parte de la

imagen que no interesa. Puede tener varias

componentes conexas si la imagen tiene un agujero (D0 ,

D1 , D2 , ...).

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.1 Definiciones2.4.1 DefinicionesG) D0 : Parte del complementario que envuelve a la

imagen.

H) D1 , D2 , ... : Parte del complementario que está

contenida en los agujeros de la imagen.0

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.2 Algoritmos Necesarios2.4.2 Algoritmos NecesariosA) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

B) Border FindingB) Border Finding• Si no se ha calculado borde externo, se busca el primer pixel de S con 4-vecino de D0.

• Si se ha calculado borde externo, se buscan pixels de S con 4-vecino de D1, D2, etc.

Ejemplo:

4-Vecino de D0

4-Vecino de D1

4-Vecino de D2

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

C) Border FollowingC) 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.

3 2 14 P 05 6 7

• Definición

Direcciones:

Nota: Si la dirección es d, significa que el borde gira d·45º

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

C) Border FollowingC) 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:

3 2 14 P 05 6 7

3 2 14 P 05 6 7

1º 2º

2º1º

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

C) Border FollowingC) 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) % 8

3 2 14 P 05 6 7

3 2 14 P 05 6 7

1º 2º

2º 1º

d=4

d=0

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

C) Border FollowingC) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.3 Algoritmo Teórico2.4.3 Algoritmo Teórico1) 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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.4 Algoritmo Implementado2.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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.5 Ejemplo de Cód. Cad.2.4.5 Ejemplo de Cód. Cad.

• Punto inicial: (1, 3)

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

• 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

0 1 2 3 4 5 601234567

3 2 14 P 05 6 7

No se finaliza el proceso

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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.6 Cód. de Cad. Extendido2.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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.7 Cód. de Cad. Suavizado2.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.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

• CaractºerizarCaractºerizar

Escuela Técnica Superior de Ingeniería Informática

2.4.8 Adaptación de Cód. Cad.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.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

• CaractºerizarCaractºerizar

Cód Cad: 6622333445555444332211...

Si la adaptación se quiere por el punto 11, se obtendrá el código de cadenas equivalente:

55444332211...66223334455

Punto para la adaptación

Escuela Técnica Superior de Ingeniería Informática

2.5. Caracterización2.5. Caracterización2.5.1. Definición

2.5.2. Caracterizaciones inmediatas

2.5.3. Caracterizaciones elaboradas

2.5.4. Caracterización implementada2.5.4.1. Herramientas utilizadas2.5.4.2. Definiciones2.5.4.3. Características extraidas

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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.1. Definición2.5.1. Definición Consiste en extraer características de la imagen. Dependiendo del objetivo del OCR, se extraerán unas características u otras.

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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.2. Caracterizaciones Inmediatas2.5.2. 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.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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.3. Caracterizaciones Elaboradas2.5.3. Caracterizaciones Elaboradas• Nº de Agujeros

1 No tiene0 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

5. Bibliograría5. Bibliograría

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

• CompararComparar

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.3. Caracterizaciones Elaboradas2.5.3. Caracterizaciones Elaboradas

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

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

• Densidad de puntos, histogramas, etc.

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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4. Caracterización Implementada2.5.4. Caracterización Implementada

2.5.4.1. Herramientas utilizadasA) Código de DiferenciasB) Código de Diferencias por VentanasC) Suavizador

2.5.4.2. Definiciones

2.5.4.3. Características extraidas

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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.1. Herramientas utilizadas2.5.4.1. Herramientas utilizadasA) Código de DiferenciasConsiste 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: 55110766666666540170432222222234CodDif: 04017100000001141674110000000111

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.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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.1. Herramientas utilizadas2.5.4.1. Herramientas utilizadas

CodCad: 66700766662222312266544322CodDif: 01707100040001210401101104CodDifV: 66066104440110154322222345V=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.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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.1. Herramientas utilizadas2.5.4.1. Herramientas utilizadasC) 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 25,7 => Se sustituyen por 2n 6 7,1 => Se sustituyen por 2n 00,2 => Se sustituyen por n 1 2,4 => Se sustituyen por n 34,6 => Se sustituyen por n 5 6,0 => Se sustituyen por n 7

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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.1. Herramientas utilizadas2.5.4.1. Herramientas utilizadasC) Suavizador

• Ejemplo:

CodCad: 001700...CodCadS:000000...Ventana = 2 es suficiente

CodCad: 070010...CodCadS:000000...Ventana = 4 lo detecta

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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.1. Herramientas utilizadas2.5.4.1. Herramientas utilizadasC) Suavizador

• Ejemplo:

CodCad: 55645...CodCadS:5555...Ventana = 2 es suficiente

CodCad: 5565455... CodCadS:555555...Ventana = 3 lo detecta

Volver a CCS

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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.2. Definiciones2.5.4.2. DefinicionesA) 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.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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.2. Definiciones2.5.4.2. DefinicionesD) 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.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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.2. Definiciones2.5.4.2. DefinicionesF) 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.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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.5.4.3. Características Extraidas2.5.4.3. 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.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

> CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6. Comparar con Patrones2.6. Comparar con Patrones

2.6.1. Definición

2.6.2. Comparación Implementada

2.6.2.1. Características

2.6.2.2. Comparación Exhaustiva

2.6.2.3. Comparación Flexible

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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.1. Definición2.6.1. 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.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2. Comparación Implementada2.6.2. Comparación Implementada

2.6.2.1. Características

2.6.2.2. Comparación Exhaustiva

2.6.2.3. Comparación Flexible

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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.1. Características2.6.2.1. 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.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

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).

2.6.2.1. Características2.6.2.1. Características1.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.2. Comparación Exhaustiva2.6.2.2. 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 finalesSP: Puntos angulosos (independientemente de que sean reales o ficticios)

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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.2. Comparación Exhaustiva2.6.2.2. 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.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.2. Comparación Exhaustiva2.6.2.2. Comparación Exhaustiva

• Tipos de Segmentos:

• Rectas:

3 2 14 P 05 6 7

• Recta01: • Recta12: • Recta23: • Recta34:

• Recta45: • Recta56: • Recta67: • Recta70:

Recta01: El segmento solo tiene direcciones 0 y 1

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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.2. Comparación Exhaustiva2.6.2.2. Comparación Exhaustiva

• Tipos de Segmentos:

• Curvas:

3 2 14 P 05 6 7

Curva012: Curva123: Curva234: Curva345:

Curva456: Curva567: Curva670: Curva701:

Curva012: El segmento solo tiene direcciones 0, 1 y 2

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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.2. Comparación Exhaustiva2.6.2.2. Comparación Exhaustiva

• Tipos de Segmentos:3 2 14 P 05 6 7

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.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.2. Comparación Exhaustiva2.6.2.2. Comparación Exhaustiva

• Tipos de Segmentos:3 2 14 P 05 6 7• Círculo:

Círculo: Puede tomar cualquier dirección.

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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

2.6.2.3. Comparación Flexible2.6.2.3. 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.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

• 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)

2.6.2.3. Comparación Flexible2.6.2.3. Comparación Flexible1.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

• 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)

2.6.2.3. Comparación Flexible2.6.2.3. Comparación Flexible1.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

• CaracterizarCaracterizar

Escuela Técnica Superior de Ingeniería Informática

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

• Se usan técnicas similares para otras aplicaciones de reconocimiento, como reconocer rostros, fallos en circuitos integrados, etc.

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

4. Mejoras4. Mejoras

• Mejorar el Interfaz de Usuario

6. Enlaces6. Enlaces

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

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliograría5. Bibliograría

4. Mejoras4. 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: 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

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

Escuela Técnica Superior de Ingeniería Informática

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á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ía5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Escuela Técnica Superior de Ingeniería Informática

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

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

CVGIP: Image Understanding Vol. 58, No. 3, November, pp. 352-365, 1993

Computer Vision and Image UnderstandingVol. 70, No. 3, June, pp. 383-403, 1998 Article No. IV980689

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliografía5. Bibliografía• 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. MejorasComputer Vision and Image UnderstandingVol. 72, No. 1, October, pp. 1-9, 1998Article No. IV970655

• 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 intelligenceVol. 14, No. 9, September 1992

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliografía5. Bibliografía• Structural Indexing for Character Recognition

> Autores:

Dipartamento di Informatica e Sistemistica, Universitá di Napoli “Federico II”, Via Claudio, 21, 80125 Napoli, Italy

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Angelo Marcelli

Citicorp Securities, Inc., 399 Park Avenue, 11th floor, Zone 12, New York, New York 10043

Natasha Likhareva

Department of Computer Science, Image Analysis Laboratory, SUNY at Stony Brook, New York 11794-4400

Theo Pavlidis

CVI Understanding.Vol. 66, No. 3, June, pp. 330-346, 1997Article No. IV960518

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

5. Bibliografía5. Bibliografía

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. 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 representationVol. 7, No. 1, March, pp. 2-15, 1996Artcle No. 0002

Computer Science Division, EECS Department, University of California at Berkeley, Berkeley, California 94720

• A Robust Preclasification Scheme for hierarchical character recognition

> N.A. Khan, J.A. Hegt, I. CebolleroEindhoven University of TechnologyDept. of Electrical EngineeringP.O. Box 513, 5600MB Eindhoven, The Netherlands

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

6. Enlaces de interés6. 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

Escuela Técnica Superior de Ingeniería Informática

1.1. IntroducciónIntroducción

2. Metodología2. Metodología

3. Aplicaciones 3. Aplicaciones

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

• www.mip.sdu.dk/ipl98

• www.leadtools.com

6. Enlaces de interés6. Enlaces de interés

5. Bibliograría5. Bibliograría

6. Enlaces6. Enlaces

4. Mejoras4. Mejoras

Escuela Técnica Superior de Ingeniería Informática