ópticos reconocimiento optico número ejemplos deteccion dato caracteres ocr

reconocimiento - ocr wikipedia



Reconocimiento de caracteres(algoritmo OCR) (4)

Deberías usar el método de Otsu adaptativo en lugar de Otsu. Creo que será útil http://www.csse.uwa.edu.au/~shafait/papers/Shafait-efficient-binarization-SPIE08.pdf Este método eliminará automáticamente el ruido.

Estoy trabajando en un proyecto en el que tengo que desarrollar Algoritmo de OCR (tengo que leer el texto de la imagen y luego convertirlo a otro idioma). Así que mi primera tarea es obtener texto de la imagen.

Pasos para completar la primera tarea.

  1. Cargando cualquier formato de imagen (bmp, jpg, png) de una fuente determinada. Luego convierta la imagen a escala de grises y binarécela usando el valor de umbral (algoritmo Otsu). // completado (¿Cómo eliminar el ruido de la imagen de salida?)

Resultados

  1. Detectando funciones de imagen como resolución e inversión. Para que finalmente podamos convertirlo en una imagen enderezada para su posterior procesamiento. (Completamos el código de rotación de la imagen pero no podemos detectar el ángulo de la imagen sobre el que tenemos que rotar la imagen, por lo que seguimos trabajando en la parte de detección de ángulo)

  2. Detección y eliminación de líneas. Este paso es necesario para mejorar el análisis del diseño de página, para lograr una mejor calidad de reconocimiento para el texto subrayado, para detectar tablas, etc. (Decidió completar esa parte en el final)

  3. Análisis de diseño de página. En este paso, intento identificar las zonas de texto presentes en la imagen. De modo que solo esa porción se usa para el reconocimiento y el resto de la región queda fuera.

  4. Detección de líneas de texto y palabras. Aquí también debemos ocuparnos de diferentes tamaños de fuente y espacios pequeños entre palabras.

  5. Reconocimiento de personajes. Este es el algoritmo principal de OCR; una imagen de cada personaje debe convertirse a un código de carácter apropiado. A veces, este algoritmo produce varios códigos de caracteres para imágenes inciertas. Por ejemplo, el reconocimiento de la imagen del personaje "I" puede producir "I", "|" Los códigos "1", "l" y el código del carácter final se seleccionarán más adelante.

  6. Guardando los resultados en el formato de salida seleccionado, por ejemplo, PDF con búsqueda, DOC, RTF, TXT. Es importante guardar el diseño original de la página: columnas, fuentes, colores, imágenes, fondo, etc.

Necesito ayuda en parte6. He completado la parte de detección de línea (obtengo n Imágenes de un párrafo que contiene n líneas) pero estoy atrapado en la siguiente parte obteniendo palabras y reconocimiento de caracteres. Si conoce buenos enlaces relacionados con el OCR y la parte de reconocimiento de caracteres, por favor publique Aquí.

Para el reconocimiento de caracteres, estoy pensando en utilizar asprise (biblioteca de Java) http://asprise.com/product/ocr/index.php?lang=java


Es posible que desee buscar en Tesseract la parte de reconocimiento de caracteres.


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

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

Busque espacios blancos verticales para la detección de diseño . Rebana a lo largo del espacio vertical. Para cada sector, ahora busque espacios horizontales y segmente. Si las rebanadas tienen la misma altura (una similar), estás en el nivel de la línea. De lo contrario, repita el corte vertical / horizontal, hasta que solo le queden líneas. El último paso es nuevamente un corte vertical, que le da los caracteres individuales (o ligaduras en algunos casos). Las rebanadas largas y angostas o cortas y anchas son líneas.

Compare los cortes de caracteres con una biblioteca de caracteres. Si el rendimiento no es la principal preocupación, trate de encontrar los caracteres dentro de diferentes bibliotecas de fuentes, hasta que pueda identificar la fuente utilizada. Entonces quédate con esa fuente para el reconocimiento de caracteres .

En la imagen original, reemplace cada carácter con el color de fondo, que se determina interpolando píxeles que no son parte del personaje para cada píxel del personaje. Esto le da la imagen de fondo , si la hay.