Extraer texto de la imagen

La extracción de texto de una imagen se puede hacer con el procesamiento de imágenes. En términos científicos esto se llama Reconocimiento óptico de caracteres (OCR).

Un motor OCR popular se llama tesseract. Tesseract es un motor de reconocimiento óptico de caracteres para varios sistemas operativos.

OCR con Tesseract

Puede hacer OCR en Python usando el binario tesseract. El primer paso es instalar tesseract en su sistema. Luego puede ejecutar el código a continuación.

Comienza el proceso de teseracto con la imagen de entrada como argumento. La salida del programa es devuelta por la función. El programa simplemente envía el contenido a la pantalla (imprimir).

import os
import tempfile
import subprocess

def ocr(path):
    temp = tempfile.NamedTemporaryFile(delete=False)

    process = subprocess.Popen(['tesseract', path, temp.name], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    process.communicate()

    with open(temp.name + '.txt', 'r') as handle:
        contents = handle.read()

    os.remove(temp.name + '.txt')
    os.remove(temp.name)

    return contents

str = ocr('image.png')
print(str)

Puede usar cualquier imagen para probar el programa, pero debe ser una imagen muy clara. No debe tener rotación, desenfoque o fondo. Se requiere blanco y negro liso. Si su imagen no es clara, debe realizar un procesamiento previo de la imagen antes de ejecutar tesseract.

Ejecute el programa para ver el texto. Todo se muestra en la terminal.

En la imagen se encuentra el famoso texto “Lorem ipsum”.

Además de llamar directamente al motor OCR, puede usar uno de estos módulos:

  • pytesseract
  • piocr
  • tesserwrap
  • pytesser

Todos usan el mismo motor OCR debajo: tesseract.

No dudes en revisar estas entradas sobre Machine Learning:

«Inteligencia Artificial en marcha: Interoperabilidad entre Administraciones y procedimientos administrativos automatizados», con este título tuve el placer de participar en ...
Entre los países con mejores oportunidades y mayor oferta de empleo en este sector se encuentran los siguientes países: Estados ...
Uno de los más apreciados es Gradient Boosting Machine. El algoritmo de aumento de gradiente o GBM se puede explicar ...
Alan Turing (1912-1954) fue un matemático, criptógrafo, filósofo y teórico informático que, además de trabajar en el equipo que descifró ...
El mundo de los negocios está cambiando y uno de los principales impulsores de esta transformación es la tecnología. Entre ...
Al graduarte en esta ingeniería también tendrás mucho que aportar al campo de la Inteligencia Artificial, ya que te convertirás ...

¿ Te ayudo esta publicación Extraer texto de la imagen?
⬇️ Te agradecería si compartes esta publicación.⬇️