Google+ Seguidores

jueves, 30 de agosto de 2018

Extraer Texto de Imágenes con OCR utilizando Pytesseract

Introducción:

Hola amigos de Internet. Les doy la bienvenida a Mi Diario Python, el mejor blog en español para Aprender Python.  

En este articulo, veremos como extraer texto de imágenes utilizando OCR (Reconocimiento Óptico de Caracteres) y Pytesaract.

Resultado de imagen para python ocr

Instalación de Pytesseract:

Pytesseract es una herramiento de OCR (Reconocimiento Óptico de Caracteres) para Python. Es muy fácil y sencillo de utilizar.

Podemos instalar Pytesseract utilizando PyPi: https://pypi.org/project/pytesseract/.
pip install pytesseract

También podemos hacerlo de la siguiente manera:
pip install -U git+https://github.com/madmaze/pytesseract.git

Y listo, ya podemos trabajar con Pytesseract.

Adicionalmente también deberemos utilizar la librería Pillow:


Extraer Texto de Imágenes:

Muy bien, una vez que tengamos Pytesseract a nuestra disposición, podemos utilizarlo para extraer texto de nuestras imágenes.

La imagen que utilizaremos como ejemplo la siguiente:


A continuación te mostrare un código que nos permite extraer texto de una imagen que utilizare como ejemplo:

# Importamos la libreria Pillow
from PIL import Image

# Importamos Pytesseract
import pytesseract

# Abrimos la imagen
im = Image.open("example_01.png")

# Utilizamos el método "image_to_string"
# Le pasamos como argumento la imagen abierta con Pillow
texto = pytesseract.image_to_string(im)

# Mostramos el resultado
print(texto)

Noisyimage
to test
Tesseract OCR


Excelente, como pueden ver, el resultado es muy bueno. Podemos repetir este proceso con todas la imágenes que deseen.

Probemos con otra imagen:


# Importamos la libreria Pillow
from PIL import Image

# Importamos Pytesseract
import pytesseract

# Abrimos la imagen
im = Image.open("example_02.jpg")

# Utilizamos el método "image_to_string"
# Le pasamos como argumento la imagen abierta con Pillow
texto = pytesseract.image_to_string(im)

# Mostramos el resultado
print(texto)

The quick brown fox
jumped over the 5
lazy dogs!

Perfecto, muy bien.

Si eres de los que prefieren trabajar con OpenCv en vez de Pillow, puedes simplemente utilizar OpenCv, si tener que cambiar nada más que la forma de abrir la imagen. Veamos un ejemplo:

# Importamos la libreria OpenCv
import cv2

# Importamos Pytesseract
import pytesseract

# Abrimos la imagen
im = cv2.imread("example_02.jpg")

# Utilizamos el método "image_to_string"
# Le pasamos como argumento la imagen abierta con Pillow
texto = pytesseract.image_to_string(im)

# Mostramos el resultado
print(texto)

The quick brown fox
jumped over the 5
lazy dogs!

Como pueden ver, nos da el mismo resultado. 

Bueno, eso es todo. Como pueden ver es muy sencillo, no tiene muchas complicaciones.

¿Alguna duda? ¿Quieres saber como realizar un OCR? Deja tu comentario.

Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

7 comentarios :
Write comentarios
  1. Respuestas
    1. Gracias Paulo por visitar el blog y dar tu opinión. Saludos :D.

      Eliminar
  2. Muy interesante y también muy didactica la manera de explicarlo. Yo no tengo un nivel alto de Python y lo comprendo con facilidad. !! Muchas gracias!!

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. hola luis, tendras algun manual sobre phyton el cual empleas para poder entender phyton y que nos puedas compartir te agradeceria

    ResponderEliminar
    Respuestas
    1. Buenas yo aprendí python con una blog llamado "python para impacientes"

      Eliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Powered by Blogger .