Script en Python 3 para reconocer texto de una imagen o una pantalla

El objetivo de este tutorial es la creación de varios scripts para la automatización de tareas a través de reconocimiento de texto por pantalla o en una imagen utilizando Python3.

Podéis descargar el repositorio con el código de ejemplo del tutorial en la url https://github.com/al118345/Ejemplo_bot_python/blob/main/ejemplo_lectura_texto_en_imagen.py y consultar el artículo https://1938.com.es/bot-click-imagen

Instalación.

Para instalar este proyecto lo único que necesitarás es tener las librería pytesseract y PIL en tu entorno. Para ello puedes utilizar el comando comando:

pip install pytesseract
pip install Pillow

Es posible que os toque instalar algún idioma en especial, por si acaso, os dejo los comandos para mac y ubuntu:

#mac
brew install tesseract-lang

#ubuntu
sudo apt-get install tesseract-ocr-eng  #for english

Ejemplo. Mostrar el texto que contiene una imagen por pantalla.

El siguiente código simplemente muestra por terminal el texto que contiene una imagen.

#Leemos la imagen dónde contiene el texto.
imagen = Image.open('img/Captura.jpeg')
#transformas en español.
ocr_result = pytesseract.image_to_string(imagen, lang='spa')
print(ocr_result)

Básicamente, tenemos una primera parte que es cargar la imagen a través de la librería de PIL.

Una vez cargada, simplemente utilizamos pytesseract para leer la imagen y obtener su texto.

Ejemplo. Mostrar el texto que contiene una parte de la pantalla

#código para obtener el texto de una parte de la pantalla.
crop_rectangle = (1000, 150, 1635, 275)
cropped_im = ImageGrab.grab(crop_rectangle)
#transformas en español.
ocr_result = pytesseract.image_to_string(cropped_im, lang='spa')
print(ocr_result)

Este código es muy parecido al anterior, simplemente hay que obtener la porción de pantalla que quieres consultar con ImageGrab de PIL y las coordenadas del rectángulo consultado.

Una vez obtenido, obtenemos el texto de las coordenadas seleccionadas.

Podéis descargar el repositorio con el código de ejemplo del tutorial en la url https://github.com/al118345/Ejemplo_bot_python/blob/main/ejemplo_lectura_texto_en_imagen.py y consultar el siguiente video con la explicación del script: