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

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

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

Page 1: 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

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

Proyecto Fin de Carrera

Page 2: 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

Page 3: 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

Í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

Page 4: 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

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

Proyecto Fin de Carrera

Page 5: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

• 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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

• 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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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