Reconocedor de lenguaje Braille -...

25
Reconocedor de lenguaje Braille Manuel Casas Alaminos y Francisco Javier Iglesias Ruiz Resumen El problema que vamos a abordar mediante la realizaci´ on de este trabajo consiste en, partiendo de una imagen en la que aparece un mensaje en c ´ odigo Braille, utilizar t´ ecnicas de procesado para luego poder detectar las l´ ıneas de la escritura Braille, as´ ı como las palabras y devolver una cadena de car´ acteres con el texto representado en dicha imagen. Key words: Braille, reconocimiento de patrones, filtro mediana, dilatar, c´ alculo de ´ ındices, segmentaci´ on, pid, instrucciones, trabajo, imagen digital 1. Introducci´ on El Braille es un sistema de lectura y escritura t´ actil pensado para personas ciegas. Con el Braille pueden re- presentarse las letras, los signos de puntuaci´ on, los n´ umeros, la graf´ ıa cient´ ıfica, los s´ ımbolos matem´ aticos, la usica, etc. El Braille suele consistir en celdas de seis puntos en relieve, organizados como una matriz de tres filas por dos columnas, que convencionalmente se numeran de arriba a abajo y de izquierda a derecha. Fue ideado por el franc´ es Louis Braille en 1825. El sistema Braille no es un idioma, sino un alfabeto. Con ´ el pueden represen- tarse las letras, los signos de puntuaci ´ on, los n ´ umeros, la graf´ ıa cient´ ıfica, los s´ ımbolos matem´ aticos, la m ´ usica, etc. Existen diversos m´ etodos de transcripci´ on Braille, conocidos como Grado 1, Grado 2 y Grado 3. El Braille de Grado 1 es el sistema de transcripci´ on m´ as empleado y el m´ etodo ´ unico y oficial para la publicaci´ on en Espa˜ na, seg´ un el acuerdo adoptado por la Comisi ´ on Braille Espa ˜ nola. Los sistemas de transcripci ´ on correspondientes a los Grados 2 y 3 son conocidos como estenotipia y su principio rector es el de economizar caracteres para ahorrar espacio, puesto que los caracteres en Braille no se pueden alterar de tama ˜ no. Si buscamos por internet podremos encontrar f´ acilmente una gran cantidad de aplicaciones y p´ aginas web tra- ductores de lenguaje natural a Braille pero no a la inversa, y de ah´ ı surgi´ o la idea para realizar este trabajo. La idea del trabajo es realizar un reconocedor de lenguaje Braille que sea capaz de, pasandole una imagen con un texto en Braille, que sirva para mejorar la comunicaci´ on con alg ´ un miembro de la familia o amistad que tenga discapacidad visual o simplemente para servir de apoyo a la hora de conocer o aprender este sistema. La funcionalidad de la aplicaci´ on ser´ a la de devolver el mensaje en lenguaje natural y de hacerlo paso a paso para poder exponer, de manera did´ actica, tanto los pasos necesarios para realizar el preprocesamiento de la imagen como el procesamiento y reconocimiento de la misma. Para la realizaci´ on de la aplicaci ´ on nos hemos basado en el art´ ıculo [1], us´ andolo como gu´ ıa. El art´ ıculo explica omo realizar el preprocesamiento y posterior reconocimiento de un texto escaneado en el sistema Braille, dando por hecho que se procesan una p´ agina repleta de texto. Nosotros hemos querido ir un poco m´ as all´ a, que tenga un Email addresses: [email protected] (Manuel Casas Alaminos), [email protected] (Francisco Javier Iglesias Ruiz). PID Dpto. Matem ´ atica Aplicada I, Universidad de Sevilla

Transcript of Reconocedor de lenguaje Braille -...

Reconocedor de lenguaje BrailleManuel Casas Alaminos y Francisco Javier Iglesias Ruiz

Resumen

El problema que vamos a abordar mediante la realizacion de este trabajo consiste en, partiendo de una imagen en la que apareceun mensaje en codigo Braille, utilizar tecnicas de procesado para luego poder detectar las lıneas de la escritura Braille, ası comolas palabras y devolver una cadena de caracteres con el texto representado en dicha imagen.

Key words: Braille, reconocimiento de patrones, filtro mediana, dilatar, calculo de ındices, segmentacion, pid, instrucciones, trabajo, imagendigital

1. Introduccion

El Braille es un sistema de lectura y escritura tactil pensado para personas ciegas. Con el Braille pueden re-presentarse las letras, los signos de puntuacion, los numeros, la grafıa cientıfica, los sımbolos matematicos, lamusica, etc. El Braille suele consistir en celdas de seis puntos en relieve, organizados como una matriz de tresfilas por dos columnas, que convencionalmente se numeran de arriba a abajo y de izquierda a derecha. Fue ideadopor el frances Louis Braille en 1825. El sistema Braille no es un idioma, sino un alfabeto. Con el pueden represen-tarse las letras, los signos de puntuacion, los numeros, la grafıa cientıfica, los sımbolos matematicos, la musica, etc.

Existen diversos metodos de transcripcion Braille, conocidos como Grado 1, Grado 2 y Grado 3. El Braille deGrado 1 es el sistema de transcripcion mas empleado y el metodo unico y oficial para la publicacion en Espana,segun el acuerdo adoptado por la Comision Braille Espanola. Los sistemas de transcripcion correspondientes a losGrados 2 y 3 son conocidos como estenotipia y su principio rector es el de economizar caracteres para ahorrarespacio, puesto que los caracteres en Braille no se pueden alterar de tamano.

Si buscamos por internet podremos encontrar facilmente una gran cantidad de aplicaciones y paginas web tra-ductores de lenguaje natural a Braille pero no a la inversa, y de ahı surgio la idea para realizar este trabajo. La ideadel trabajo es realizar un reconocedor de lenguaje Braille que sea capaz de, pasandole una imagen con un texto enBraille, que sirva para mejorar la comunicacion con algun miembro de la familia o amistad que tenga discapacidadvisual o simplemente para servir de apoyo a la hora de conocer o aprender este sistema.

La funcionalidad de la aplicacion sera la de devolver el mensaje en lenguaje natural y de hacerlo paso a pasopara poder exponer, de manera didactica, tanto los pasos necesarios para realizar el preprocesamiento de la imagencomo el procesamiento y reconocimiento de la misma.

Para la realizacion de la aplicacion nos hemos basado en el artıculo [1], usandolo como guıa. El artıculo explicacomo realizar el preprocesamiento y posterior reconocimiento de un texto escaneado en el sistema Braille, dandopor hecho que se procesan una pagina repleta de texto. Nosotros hemos querido ir un poco mas alla, que tenga un

Email addresses: [email protected] (Manuel Casas Alaminos), [email protected] (Francisco Javier Iglesias Ruiz).

PID Dpto. Matematica Aplicada I, Universidad de Sevilla

Procesamiento de Imagenes Digitales

uso mas general, como por ejemplo el uso con frases sueltas. Para realizarlo correctamente nos hemos apoyadoen metodos sacados de diferentes paginas webs, el trabajo del grupo 24 del ano 2012-2013 [2] ası como nuestropropio trabajo.

2. Planteamiento teorico

Para la resolucion del problema hemos seguido el siguiente esquema:

Preprocesamiento de la imagenReconocimiento de patrones

2.1. PREPROCESAMIENTO

En este primer modulo nos encargaremos de tratar la imagen para que esta llegue en las condiciones optimaspara un correcto reconocimiento del mensaje.

Los pasos a seguir seran: digitalizar la imagen, convertir a escala de grises, binarizar la imagen, eliminar el ruido,transformacion negativa de la imagen, dilatar los puntos, calcular los ındices de los bordes y eliminar estos bordes.

2.1.1. Digitalizar la imagen en BrailleHabremos de digitalizar la imagen que contenga el texto en Braille. Se recomienda el uso de escaner para

obtener la mayor calidad posible y obtener la imagen totalmente recta, ya que si no el programa no funcionarıacorrectamente. Para la realizacion de los ejemplos hemos sacado las imagenes de la aplicacion web Alfabeto brailleen lınea [3], ya que nos ofrece la posibilidad de generar nosotros mismo el texto y no nos lo entrega en Braille plano,por lo que sin necesarios los siguientes pasos de preprocesamiento.

2.1.2. Convertir a escala de grisesConvertiremos la imagen de RGB a escala de grises para poder, posteriormente, aplicar la binarizacion. Para ello

utilizaremos un metodo conocido como el metodo de la luminancia. Este metodo consiste en calcular la cantidadde brillo de los colores calculando el parametro Y del modelo XYZ, que se calcula a partir del modelo RGB y desus valores en la imagen con la siguiente formula:

X

Y

Z

=

0, 43 0, 34 0, 18

0, 22 0, 71 0, 07

0, 02 0, 13 0, 94

R

G

B

De la que despejando obtenemos la siguiente formula, que sera la que nos de el valor en escala de grises:

Y = 0.22 * R + 0.71 * G + 0.07 * BSiendo este el resultado sobre una imagen con el texto en Braille Google a color:

Quinto curso de Ingenierıa Informatica

Para la realizacion de este paso nos hemos basado en el siguiente artıculo de internet [4].

2.1.3. BinarizarEl proceso de binarizacion consiste en convertir una imagen en escala de grises en una imagen de blanco y negro.

Ya que estamos realizando un reconocedor de patrones no perderemos informacion relevante con esta operacion.

Para realizar este proceso se escoge un umbral para clasificar por pıxeles blancos, los que superan el umbral, ypor pıxeles negros, los que no superan el umbral. En este caso el umbral se escoge automaticamente mediante elmetodo de Otsu, el cual usa la varianza para calcular el umbral de manera que la dispersion dentro de una clase seamınima y entre clases maxima.

El resultado de aplicar la binarizacion en una imagen en escala de grises con la palabra Hola en Braille es elsiguiente:

Para su realizacion nos hemos apoyado en el siguiente artıculo de internet [5].

2.1.4. Eliminar ruidoPara eliminar el ruido aplicaremos un filtro de la mediana. Aplicamos este filtro pues, tras binarizar, el ruido mas

comun suele ser el sal y pimienta, ruido que podrıan dar lugar a confusion posteriormente y que este filtro eliminaeficazmente. Aplicaremos este filtro con un entorno de tamano 3x3, que ha sido la que mejor resultado nos ha dadoexperimentalmente.

El filtro de la mediana funciona colocando el pıxel que estamos recorriendo en el centro de el entorno. Seguida-mente calculamos la mediana sobre el conjunto de valores de los pıxeles incluidos en el entorno y sustituimos elvalor del pıxel central por la mediana recientemente calculada.

Para el caso de los pıxeles del borde asignaremos el color blanco, cuyo valor es 255, a las posiciones del entornoque no existen.

Procesamiento de Imagenes Digitales

El resultado final aplicado en una imagen binaria con la palabra Hola en Braille es el siguiente:

2.1.5. Transformacion negativaLa transformacion negativa es un proceso que consiste en invertir el valor de los pıxeles de la imagen sobre la

que se realiza dicha transformacion.

Usaremos la transformacion negativa sobre la imagen que obtuvimos del paso anterior para poder trabajar conlos puntos como pıxeles blancos y de esta manera poder obtener, entre otras cosas, los histogramas verticales yhorizontales, que nos seran de ayuda mas adelante.

A continuacion veremos un ejemplo aplicado sobre una imagen binaria con la palabra Hola en Braille:

Para su realizacion nos hemos apoyado en el siguiente artıculo de internet [6].

2.1.6. DilatarLa dilatacion consiste en, dada una imagen A y un elemento estructural B, realizar la operacion de convolucion

de A y B:

A⊕B = {x|(B) ∩A 6= ∅}El funcionamiento es el siguiente. El elemento estructural B tiene una celda que denominaremos origen, la cual

pasaremos por todos los pıxeles de la imagen A. Cada vez que el origen se encuentre en un pixel blanco modifica-remos los pıxeles en todas las posiciones cubiertas por el entorno dandoles el color blanco.

Aplicaremos esta operacion sobre la imagen para completar los puntos que, debido a la binarizacion, hayan podi-do quedar incompletos. La aplicaremos sobre los pıxeles blancos de la imagen y usaremos un elemento estructuralde 3x3, ya que es el que mejor resultado nos ha dado de manera practica.

A continuacion veremos una comparacion sobre una imagen binaria con la palabra Hola en Braille antes y des-pues de la dilatacion:

Quinto curso de Ingenierıa Informatica

2.1.7. Calcular ındicesCon esta operacion calcularemos y pintaremos sobre la imagen los ındices que usaremos mas adelante para re-

cortar los bordes de la imagen que no contiene ninguna informacion util.

Para realizarlo recorremos la imagen de arriba a abajo (ındices 1 y 2) y de izquierda a derecha (ındices 3 y4) buscando el primer y ultimo pıxel blanco en cada caso. Hemos tenido en cuenta los casos en que todos loscaracteres Braille de un determinado extremo (primera fila, ultima fila, columna izquierda o columna derecha) notienen puntos blancos. Esto lo hemos hecho calculando en cada caso el ancho o el alto de los puntos y comparandosi el espacio entre el ultima punto encontrado al calcular el ındice y el borde de la imagen es superior al tamanodel punto. Si el espacio es mayor hemos supuesto que en dicha fila o columna todos los caracteres Braille tienenhuecos, si es inferior suponemos que ya hemos encontrado el final del caracter.

En la siguiente imagen podemos ver su aplicacion sobre una imagen binaria con la palabra Hola en Braille:

2.1.8. Eliminar bordesGracias a los ındices calculados previamente eliminaremos los bordes, es decir, toda aquella seccion de la ima-

gen que no contenga informacion relevante para el reconocimiento.

Podemos comprobar en la siguiente imagen el resultado de eliminar los bordes calculados en el paso y en laimagen anterior:

2.2. RECONOCIMIENTO

En este modulo nos encargaremos de realizar los operaciones necesarias para reconocer el mensaje en Brailleque incluye la imagen. Estas operaciones o pasos son: segmentar el mensaje en lıneas, encontrar los patrones ocaracteres Braille, dividirlos horizontal y verticalmente para separar sus puntos y huecos, hallar el vector que poseela traduccion de los patrones y, por ultimo, traducir el mensaje.

2.2.1. Segmentar en lıneasCon esta operacion nos encargaremos de segmentar la imagen mediante lıneas horizontales, delimitando los di-

ferentes sımbolos Braille, es decir, delimita los renglones que hay en la imagen. Lo calculamos gracias a la ayudadel histograma vertical de la imagen, el cual usaremos para separar las lıneas. Esto lo haremos segmentando las

Procesamiento de Imagenes Digitales

lıneas contando tres veces el paso de valores mayores que cero a cero en el histograma vertical.

No obstante, para los casos en los que la primera o ultima lınea se compongan de huecos usaremos la mismacomprobacion que al calcular los ındices. Podemos comprobarlo en la siguiente imagen:

Quinto curso de Ingenierıa Informatica

2.2.2. PatronesSe encarga de segmentar la imagen mediante lıneas verticales, delimitando los diferentes sımbolos o caracteres

Braille. Para ello procesamos la imagen de izquierda a derecha. Cada dos valores igual a cero que encontremoshabremos encontrado un caracter Braille ya que cada uno tiene 2 columnas.

En la realizacion hemos tenido en cuenta todos los casos particulares, que son aquellos que tienen una columnaentera de huecos o, en el caso del sımbolo del espacio, en las dos y tambien para las combinaciones entre estas.Podemos comprobar el resultado de esta operacion en la imagen que utilizamos para segmentar por lıneas:

2.2.3. Dividir horizontalmenteMediante esta operacion segementamos cada uno de los sımbolos Braille mediante dos lıneas horizontales, de-

limitando ası cada una de las tres filas de cada sımbolo. Para ello recorremos el vector de lıneas horizontales y

Procesamiento de Imagenes Digitales

calculamos el rango o diferencia para cada dos lıneas horizontales y, a continuacion, pintamos las lıneas que deli-mitan las filas del sımbolo siguiendo la siguiente formula:

lınea1 = Rango / 3 ; lınea2 = 2 * (Rango / 3)Comprobamos el resultado de aplicar la operacion sobre la imagen utilizada en el paso anterior:

2.2.4. Dividir verticalmenteMediante esta operacion segementamos cada uno de los sımbolos Braille mediante una lınea vertical, delimi-

tando ası cada una de las dos columnas de cada sımbolo. Para ello recorremos el vector de lıneas verticales ycalculamos el rango o diferencia para cada dos lıneas horizontales y, a continuacion, pintamos la lıneas que deli-mitan las dos columnas del sımbolo siguiendo la siguiente formula:

lınea = Rango / 2Comprobamos el resultado de aplicar la operacion sobre la imagen utilizada en el paso anterior:

Quinto curso de Ingenierıa Informatica

2.2.5. Vector patronEste metodo procesa cada uno de los renglones de izquierda a derecha contando los pıxeles que se encuentran

dentro de cada celda para, de esta manera, determinar si dicha celda cuenta con un hueco o con un punto. Lasceldas vacıas, o huecos, se representaran por el valor 0 y las celdas marcadas por el valor 1.

Calculado esto obtendremos el vector que contiene la informacion de los sımbolos.

2.2.6. Traducir mensajeAhora que ya tenemos los vectores de patrones de cada sımbolo se pasan cada uno por el reconocedor de patro-

nes, el cual nos dara, por fin, el mensaje que contenıa el texto de la imagen.

Si aplicamos los ultimos pasos sobre la imagen utilizada en el paso Dividir verticalmente obtendremos el mensajeen lenguaje natural como comprobamos a continuacion:

Procesamiento de Imagenes Digitales

3. Resolucion Practica

Para la programacion de la aplicacion hemos utilizado el lenguaje Java SE 7. Hemos decidido usar este lenguajedebido a que ya estamos acostumbrados a trabajar sobre el, le veıamos mas utilidad a aprender a usar librerıas degraficos de un lenguaje con tanto uso como este y tambien debido a que el trabajo relacionado de otro ano que nosasignaron estaba desarrollado en Java, por lo que podıamos usarlo en cierto punto de guıa.

Para la realizacion hemos utilizado como entorno de desarrollo la ultima version de Eclipse, Eclipse Standar4.3.1 Kepler [7].

Al desarrollar la aplicacion, la hemos dividido en cuatro modulos o paquetes diferenciados: interfaz grafica,preprocesado, reconocimiento y test main.

3.1. INTERFAZ GRAFICA

Para desarrollar la interfaz grafica usamos el plugin WindowBuilder [8] de Eclipse y la lıbrerıa de Java, ja-vax.swing. Hemos usado este plugin ya que es muy sencillo e intuitivo. Se trata de un plugin que te permite crearlas ventanas arrastrando los elementos a su posicion, generando automaticamente el codigo Java para ejecutarlo.Las acciones, o listeners, de los botones los hemos incluido en los paquetes correspondientes, ya fuera preprocesadoo reconocimiento.

3.2. PREPROCESADO

En este paquete podemos encontrar las acciones de los botones de la interfaz de usuario relacionados con laseccion de preprocesado.

Hemos utilizado dos librerıas: java.awt y javax.swing. La librerıa java.awt, que es una librerıa interna, la hemosutilizado por sus metodos para trabajar con graficos, como por ejemplo la obtencion de los pıxeles y sus compo-nentes RGB o el metodo filter de la clase ConvolveOp del paquete java.awt.image, utilizado para el metodo de ladilatacion. La librerıa javax.swing, tambien librerıa interna, la hemos utilizado para la comunicaion con la interfazde usuario, ya que el plugin WindowBuilder se basa en esta librerıa.

3.3. RECONOCIMIENTO

En el paquete de reconocimiento encontramos las acciones de los botones de la interfaz de usuario relacionadoscon la seccion de reconocimiento. La unica librerıa que hemos usado ha sido la librerıa javax.swing,que la hemosutilizado para la comunicaion con la interfaz de usuario, ya que el plugin WindowBuilder se basa en esta librerıa.No se ha utilizado ninguna otra librerıa especializada para el desarrollo de los metodos, han sido desarrolladosıntegramente por nosotros.

3.4. TEST MAIN

En el paquete test main encontraremos la clase main de la aplicacion, que es la clase central que se encarga delarranque la aplicacion, ası como una clase que utilizamos para probar el funcionamiento del metodo encargado dela traduccion del texto Braille.

En este paquete no hemos utilizado ninguna librerıa.

Quinto curso de Ingenierıa Informatica

4. Experimentacion

La aplicacion funciona correctamente con el banco de imagenes del que disponemos, pero para que funcionecon otras imagenes hay que tomar un par de consideraciones. En nuestro afan por hacer que la aplicacion tenga unuso lo mas general posible tambien han aumentado la cantidad de errores.

El primero de ellos es debido a un margen demasiado grande entre el borde y el mensaje. Esto es debido anuestro metodo para calcular los ındices entre los cuales se encuentra el mensaje. Vemos un ejemplo de este tipode error sobre una imagen con el mensaje Hola en Braille:

Este error se soluciona si antes de ejecutar la aplicacion sobre la imagen ajustamos esta lo mejor posible, dejandoun margen entre el mensaje y el borde lo menor posible. No tiene por que ser un recorte ajustado al maximo, yaque de eso se encargara la aplicacion, pero a menos margen menor sera la posibilidad de que este error ocurra.

Otro error es al escoger una imagen con colores muy oscuros y muy claros. Vemos un ejemplo de este tipo deerror sobre una imagen con el mensaje Hola en Braille a color:

Este error puede deberse a dos razones fundamentales. La primera es el metodo escogido para realizar el cambioa escala de grises y el segundo la umbralizacion por el metodo de Otsu. Tendrıamos que probar otros metodos parael cambio a grises, como por ejemplo la aproximacion a la banda verde, yo para la binarizacion, como la eleccionmanual del umbral.

El ultimo tipo de error que hemos encontrado es el referente a intentar analizar mensajes en otros idiomas. Estose debe a que en otros idiomas estan admitidos distintos grados (en espana solo es oficial el grado 1)y algunoscaracteres cambian. Por ejemplo el caracter que indica que la siguiente letra es una mayuscula cambia para elingles y el espanol.

Procesamiento de Imagenes Digitales

Ante este ultimo tipo de errores poco se puede hacer.

Estos errores devienen de nuestro intento de darle un uso mayor y mas general que aquel que le dieron M. Wajid,M.W. Abdullah y O. Farooq en el artıculo que nos ha servido de guıa, ya que ellos usaban el algoritmo para traducirtextos enteros, basandose unicamente en el uso de los histogramas para hacer la division de la imagen en caracteresBraille y estos en matrices de celdas de 3x2, y ese metodo, como hemos visto a lo largo de este documento, puedeno funcionar si el mensaje es de un solo renglon y tiene la primera o la ultima fila o alguna columna entera dehuecos.

Tampoco conciben el hecho de que un texto en braille pueda estar representado por colores, ya que ellos solotrabajan con textos en Braille escaneados, por lo que sus imagenes solo poseen el color de fondo y la sombra cau-sada por los puntos de relieve.

Por lo tanto nuestros errores vienen derivados de darle mayor funcionalidad a la aplicacion, y hay que tenercuidado y poner atencion para evitarlos, ya que son facilmente evitables.

Quinto curso de Ingenierıa Informatica

5. Manual de usuario

Para el uso de este programa unicamente habra que pulsar cada boton en orden. El orden es de izquierda a de-recha y de arriba a abajo. Si se sigue este orden no habra ningun problema. A continuacion veremos un par deejemplos de uso de nuestra aplicacion, el primero sera paso a paso sobre una imagen con una unica fila de texto yel segundo con una imagen con mas de una fila de texto.

Primero ejecutaremos la aplicacion.

Cargamos una imagen.

Procesamiento de Imagenes Digitales

Acto seguido transformaremos la imagen a escala de grises.

Y despues le aplicamos un proceso de binarizacion.

Quinto curso de Ingenierıa Informatica

El siguiente paso consistira en eliminar los posibles ruidos, producto de la binarizacion, mediante el filtro de lamediana

Posteriormente realizamos la transformacion negativa de la imagen.

Procesamiento de Imagenes Digitales

El proximo paso consiste en dilatar la imagen para obtener unos puntos mejor definidos.

Y el siguiente en calcular los ındices para, posteriormente, eliminar los bordes que no contengan informacionrelevante.

Quinto curso de Ingenierıa Informatica

A continuacion eliminaremos las bordes de la imagen.

Acto seguido segmentaremos la imagen en las diferente lıneas que componen el texto de la imagen.

Procesamiento de Imagenes Digitales

Seguidamente aplicaremos la separacion por sımbolos.

Tras esto calcularemos las separaciones horizontales de los puntos de cada sımbolo

Quinto curso de Ingenierıa Informatica

En el paso que vienen a continuacion aplicaremo sel calculo de las separaciones verticales de los puntos de cadasımbolos, obteniendo de esa manera los puntos y los huecos en celdas separadas.

El penultimo paso consistira en obtener el vector que representa el texto en Braille de la imagen.

Procesamiento de Imagenes Digitales

El ultimo paso de la aplicacion sera obtener el mensaje de la imagen cruzando el vector de patrones obtenidocon la biblioteca que tenemos definida en la aplicacion y sera mostrada en una nueva pantalla.

Quinto curso de Ingenierıa Informatica

Con este segundo ejemplo queremos demostrar como nuestra aplicacion tambien funciona con imagenes quecontienen textos de mas de una lınea, que es realmente el objetivo de nuestro trabajo, el poder traducir textos ente-ros.

Y la solucion final, tras realizar todos los pasos uno a uno en orden, sera la siguiente:

Procesamiento de Imagenes Digitales

6. Conclusiones

Tras la realizacion del programa y su posteriores pruebas podemos afirmar que se han cumplido con los objeti-vos propuestos. La traduccion de los textos contenidos en las imagenes es correcta. No obstante, no hemos podidocomprobar su uso sobre textos escaneados, aunque en principio, si se consigue que la imagen este bien alineada, nodeberıa existir ningun problema. Tambien existe una restriccion maxima sobre el numero de renglones a procesar,que es ocho.

A continuacion propondremos una serie de mejoras que no hemos tenido tiempo de incluir:

Procesar imagenes escaneadas procedentes de textos reales.Procesar imagenes mas grandes y con mayor numero de renglones.Procesar imagenes con posibles inclinaciones de la imagen, pudiendo corregirlas.Anadir la funcionalidad para procesar imagenes con distintas codificaciones del sistema Braille (otros grados,otros idiomas, etc).

7. Referencias

Referencias

[1] M. Wajid, M.W. Abdullah, O. Farooq, “Imprinted Braille-Character Pattern Recognition using Image Processing Techniques”, ImageInformation Processing (ICIIP), International Conference on, 2011.

[2] Carlos Fernandez Chaparro, Manuel Vilches Fernandez, Rafael Manuel Tovar Pereira, G2 reconocedor de sudokus, Grupo 24 (2012-2013),http://opera-portal.us.es/pid/public/sudoku

[3] Alfabeto braille en lınea, generador de Braille en lınea, http://www.fbu.edu.uy/alfabeto/alfabeto-online.htm

[4] Java color image to grayscale conversion algorithm(s), http://zerocool.is-a-geek.net/?p=329

[5] Java image binarization using Otsu’s algorithm, http://zerocool.is-a-geek.net/?p=376%20%28Otsu%29

[6] Invertir imagen en Java (Filtro Negativo),http://jc-mouse.blogspot.com.es/2011/02/invertir-imagen-en-java-filtro-negativo.html

[7] Eclipse Standar 4.3.1 Kepler http://www.eclipse.org/downloads/packages/eclipse-standard-431/keplersr1

[8] WindowBuilder Pro Eclipse Update Site for Eclipse 4.3, http://download.eclipse.org/windowbuilder/WB/release/R201309271200/4.3/

Quinto curso de Ingenierıa Informatica

Anexo I: Tabla de tiemposManuel Casas Alaminos

Procesamiento de Imagenes Digitales

Quinto curso de Ingenierıa Informatica

Francisco Javier Iglesias Ruiz