Reconocimiento de caracteres (OCR algoritmo)

Estoy trabajando en un proyecto en el que tengo que desarrollar OCR Algoritmo ( tengo que leer el texto a partir de una Imagen y, a continuación, convertir a diferentes idiomas ).Así que mi primera tarea es conseguir que el texto de la imagen.

Pasos para completar la primera tarea.

  1. De carga en cualquier formato de imagen (bmp, jpg, png) de origen dado. A continuación, convertir la imagen a escala de grises y binarize utilizando el valor de umbral (algoritmo de Otsu). //completado(Cómo eliminar el ruido de la Imagen de salida???)

Resultados

Reconocimiento de caracteres (OCR algoritmo)

Reconocimiento de caracteres (OCR algoritmo)

  1. La detección de características de la imagen como la resolución y la inversión. Así que por fin podemos convertirlo en una imagen enderezada para su posterior procesamiento. (completado el código de la rotación de la Imagen pero no es capaz de detectar la Imagen de ángulo sobre el que tenemos que girar la Imagen,por Lo que sigue trabajando en la detección de ángulo parte)

  2. Líneas de detección y eliminación. Este paso es necesario para mejorar el diseño de la página de análisis, para lograr una mejor calidad de reconocimiento para el texto subrayado, para detectar tablas, etc.(Decidido A Completar esa parte en la Final)

  3. Diseño de página de análisis. En este paso estoy tratando de identificar las zonas de texto presentes en la imagen. Así que sólo esa parte se utiliza para el reconocimiento y el resto de la región se quede fuera.

  4. De detección de líneas de texto y palabras. Aquí también debemos tener cuidado de los diferentes tamaños de fuente y los pequeños espacios entre las palabras.

  5. Reconocimiento de caracteres. Este es el principal algoritmo de OCR; una imagen de cada personaje debe ser convertidos a caracteres correspondiente código. A veces este algoritmo produce varios códigos de carácter incierto de las imágenes. Por ejemplo, el reconocimiento de la imagen de «I» puede producir «yo», «|» «1», «l» los códigos y el carácter final de código seleccionado.

  6. Guardar los resultados en formato de salida seleccionado, por ejemplo, en PDF, DOC, RTF, TXT. Es importante que guarde los originales de diseño de página: columnas, fuentes, colores, imágenes de fondo y así sucesivamente.

Así que necesito ayuda en part6.He completado la línea de detección parte (get n Imágenes de un párrafo que contiene n líneas), pero atrapado en el siguiente parte para pronunciar las palabras y el carácter recognisation.Si conoces una buena enlaces relacionados con la OCR y el carácter recognisation parte, a continuación, por favor, publicarlo Aquí.

De carácter recognisation estoy pensando en usar asprise(biblioteca de Java) http://asprise.com/product/ocr/index.php?lang=java

InformationsquelleAutor TLE | 2013-03-03

4 Kommentare

  1. 18

    Para detectar la ángulo de rotación, el uso de la La transformación de Hough.

    Para reducción de ruido, reemplazar cualquier píxel, que no tiene un vecino (norte, sur, este u oeste) con el mismo color (un color similar, utilizando un umbral de tolerancia), con el promedio de los vecinos.

    Buscar verticales blancas y lagunas para diseño de detección de. Rebanada a lo largo de la vertical de la brecha. Para cada sector, ahora la búsqueda de espacios horizontales, y la rebanada. Si los sectores tienen el mismo (similar) de altura, que son de nivel de línea. De lo contrario, repita vertical/horizontal de la corte, hasta que sólo tienen líneas a la izquierda. El último paso es volver a la vertical en rodajas, dándole el único de los personajes (o ligaduras en algunos casos). Largo y estrecho o corto y ancho rebanadas son líneas.

    Comparar el carácter de las rebanadas con un personaje de la biblioteca. Si el rendimiento no es la principal preocupación, tratar de encontrar a los personajes dentro de las diferentes bibliotecas de tipografías, hasta que pueda identificar la fuente utilizada. Luego se pega con el tipo de letra en de reconocimiento de caracteres.

    De la imagen original, sustituir cada carácter con el color de fondo, la cual se determina por interpolación de píxeles que no son parte del carácter de cada píxel del personaje. Esto le da la imagen de fondo, si los hubiere.

    • Yo quiero un buen método de eliminación de ruido .»reemplazar cualquier píxel, que no tiene un vecino (norte, sur, este u oeste) con el mismo color» no funciona lo suficientemente bueno.
    • Si usted tiene información acerca de la anchura de los trazos de los caracteres, puede buscar las grandes agrupaciones. También puede utilizar Hough para detectar las lagunas, por lo que el ruido no es molesto mucho.
    • Estoy recibiendo sólo el 60% de precisión en carácter de parte coincidente ¿Cómo puedo mejorar eso? de personaje coincidente estoy usando mi propio método para que coincida con el carácter de la Imagen.
    • Cómo detectar el espaciado entre caracteres, después de recibir los caracteres de la Imagen que tenemos de hacer oración , para el que hemos de situar en el espacio .
    • Usted tendrá que calcular que forma la posición del carácter
  2. 3

    Usted puede desear mirar en Tesseract para el reconocimiento de caracteres parte.

    • Google Visión de la API es que vale la pena considerar también que realizar OCR, aunque no he probado

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea