Cómo implementar el reconocimiento óptico de caracteres en Python



Este artículo le proporcionará un conocimiento detallado y completo de cómo implementar un reconocimiento óptico de caracteres en Python.

El reconocimiento óptico de caracteres es vital y un aspecto clave y lenguaje de programación. La aplicación de tales conceptos en escenarios del mundo real es numerosa. En este artículo, analizaremos cómo implementar el reconocimiento óptico de caracteres en Python

Aplicaciones del reconocimiento óptico de caracteres

Los mostradores de boletos lo utilizan ampliamente para escanear y detectar información clave en el boleto para rastrear rutas y detalles de los viajeros. Conversión de texto en papel a formatos digitales donde las cámaras capturan fotografías de alta resolución y luego se usa OCR para convertirlas en un formato Word o PDF.





charachters

La introducción de OCR con python se atribuye a la adición de bibliotecas versátiles como “Tesseract” y “Orcad”. Estas bibliotecas han ayudado a muchos codificadores y desarrolladores a simplificar el diseño de su código.y permitirles dedicar más tiempo a otros aspectos de sus proyectos. Dado que los beneficios son enormes, echemos un vistazo a qué es y cómo se hace.



Construyendo un reconocimiento óptico de caracteres en Python

Primero necesitamos hacer una clase usando 'pytesseract'. Esta clase nos permitirá importar imágenes y escanearlas. En el proceso, generará archivos con la extensión 'ocr.py'. Veamos el siguiente código. El bloque de funciones 'process_image' se usa para enfocar el texto que obtenemos.

El siguiente controlador de ruta y función de visualización se agregan a la aplicación (app.py).

Código del controlador del enrutador



// DIRECTOR DE RUTA @ app.route ('/ v {} / ocr'.format (_VERSION), métodos = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'en url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' solo archivos .jpg, por favor '}) excepto: return jsonify ({' error ':' ¿Querías enviar: {'image_url': 'some_jpeg_url'} '})

Código del motor OCR

// OCR ENGINE importar solicitudes de importación de pytesseract de PIL importar Imagen de PIL importar ImageFilter de StringIO importar StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image ( url): return Image.open (StringIO (request.get (url) .content)) //

Asegúrese de actualizar las importaciones y agregar el número de versión de API.

importar el registro de importación del sistema operativo desde el registro de importación Formateador, FileHandler del matraz import Flask, solicitud, jsonify de ocr import process_image _VERSION = 1 # versión API

Estamos agregando la respuesta JSON de la función del motor de OCR que es 'process_image ()'. JSON se utiliza para recopilar información que entra y sale de la API. Pasamos la respuesta en un archivo de objeto usando la biblioteca 'Imagen' de PIL para instalarlo.

ordenar lista c ++

Tenga en cuenta que este código solo funciona mejor con imágenes .jpg únicamente. Si usamos bibliotecas complejas que pueden presentar múltiples formatos de imagen, todas las imágenes se pueden procesar de manera efectiva. También tenga en cuenta que, en caso de que esté interesado en probar este código usted mismo, primero instale PIL, que se obtiene de la biblioteca 'Pillow'.

& bull Comience ejecutando la aplicación, que es 'app.py':

salario de desarrollador java en india
// $ cd ../home/flask_server/ $ python app.py //

& bull Entonces, en otra terminal ejecutar:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Content-Type: application / json'

Por ejemplo:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'Content-Type: application / json' {'output': 'ABCDEnFGH I JnKLMNOnPQRST'} //

Ventajas y desventajas del motor OCR

De las muchas aplicaciones del uso de OCR en Python, la más popular es el reconocimiento de escritura a mano. La gente aplica esto para recrear el texto escrito que luego se puede completar en numerosas copias en lugar de simplemente fotocopiar el guión original. Esto es para lograr uniformidad y legibilidad.

El OCR también es útil para convertir archivos PDF en texto y almacenarlos como variables. Posteriormente, esto puede someterse a cualquier cantidad de procesamiento previo para tareas adicionales. Aunque el concepto de OCR parece ser un tema beneficioso en el mundo de Python, seguro que comparte su parte de desventajas.

El OCR no siempre puede garantizar el 100% de precisión. Se deben aplicar muchas horas de capacitación con la ayuda de conceptos de inteligencia artificial que pueden permitir que el motor OCR aprenda y reconozca imágenes deficientes. Las imágenes escritas a mano pueden reconocerse pero dependen de varios factores como el estilo de la escritura, el color de la página, el contraste de la imagen y la resolución de la imagen.

Con esto, llegamos al final de este artículo sobre Reconocimiento óptico de caracteres en Python. Espero que comprenda cómo funciona exactamente OCR.

Para obtener un conocimiento profundo de Python junto con sus diversas aplicaciones, puede para capacitación en vivo en línea con soporte 24/7 y acceso de por vida.

Tienes una pregunta para nosotros? Menciónelos en la sección de comentarios de “Reconocimiento óptico de caracteres en Python” y nos comunicaremos con usted.