Diferencia entre revisiones de «Tesseract»

De Wiki IES El Rincón
Ir a la navegación Ir a la búsqueda
(Documentación del OCR utilizado en el proyecto de SmartEcoSchool.)
 
(Fixes a las categorías, al bloque de código e introducción)
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 23: Línea 23:


== Testeando la implementación de Tesseract en Python ==
== Testeando la implementación de Tesseract en Python ==
TODO
Con PyTesseract y el motor OCR instalados en nuestra máquina, vamos a escribir un pequeño script en Python para comprobar que todo funciona correctamente. Para escribir este script podemos utilizar cualquier editor de código, como '''Visual Studio Code''' o '''PyCharm'''.
 
# Creamos un nuevo fichero de extensión '''.py'''.
# Al principio del script importamos la librería de '''pytesseract'''.
# Añadimos también la línea '''from PIL import Image''' al principio del script para añadir la función de abrir una imagen del sistema.
# Mostramos el texto que lee el motor OCR de una imagen, '''test.png'''.
 
El contenido del script quedaría tal que:
<blockquote>
<code>from PIL import Image
 
import pytesseract
 
print(pytesseract.image_to_string(Image.open('test.png')))</code>
</blockquote>
 
Si todo ha salido correctamente, al ejecutar este script deberíamos ver por la consola lo que el motor OCR interpreta de la imagen. En caso de que la lectura no sea correcta, entonces tendremos que hacerle un '''preprocesado a la imagen'''.
 
[[Categoría:SmartEcoSchool]]
[[Categoría:OCR]]

Revisión actual - 14:53 7 feb 2024

En el proyecto de SmartEcoSchool implementaremos dos tipos distintos de instalación: una invasiva y otra no invasiva. La instalación no invasiva se fundamenta en la tecnología OCR para analizar la lectura de los contadores de agua y luz, y enviar al servidor los datos donde serán procesados y servidos a los distintos kioskos instalados en el centro. Para la lectura de la foto, utilizaremos Tesseract implementado en Python.

Instalación Windows

La implementación real de la instalación no invasiva se realizará en una Raspberry PI, pero también es necesario saber instalar Tesseract en una máquina Windows para poder testear en nuestro entorno de trabajo la lectura de la imagen.

  1. Descargamos el motor OCR de Tesseract aquí.
  2. Ejecutamos y completamos el asistente de instalación. Añadiremos todos los opcionales a la instalación (el opcional más opcional es el de entrenamiento del OCR).
  3. Añadimos la ruta donde hemos instalado Tesseract OCR a la variable de entorno PATH.
    1. Abrimos el menú Windows y buscamos Editar las variables de entorno del sistema.
    2. Clicamos en el botón Variables de entorno...
    3. Buscamos la variable Path en Variables del sistema y clicamos en editar.
    4. Le damos a Nuevo y añadimos la ruta de la instalación de Tesseract OCR.
  4. Abrimos una consola de comandos, y escribimos tesseract -v. Si vemos la versión instalada, estará todo correctamente.

Instalación Python Wrapper

Con Tesseract instalado en nuestra máquina, necesitamos podemos ejecutarlo desde Python para no depender de la consola de comandos y para poder preprocesar las imágenes. Para esto, usaremos PyTesseract.

  1. Descargamos Python desde la página oficial.
  2. Ejecutamos y completamos el asistente de instalación. No necesitamos cambiar el tamaño máximo de las variables Path, y podemos instalarlo de manera Global o para el usuario actual.
    1. Comprobamos que Python esté añadido a la variable de entorno Path. Si no, tenemos que añadir el directorio donde esté el ejecutable llamado python.
    2. Comprobamos también que Pip esté en nuestra variable de entorno Path. La ruta del Pip está en la subcarpeta Scripts que se encuentra en el directorio con el ejecutable python.
  3. Instalamos PyTesseract mediante el comando de consola pip install pytesseract

Testeando la implementación de Tesseract en Python

Con PyTesseract y el motor OCR instalados en nuestra máquina, vamos a escribir un pequeño script en Python para comprobar que todo funciona correctamente. Para escribir este script podemos utilizar cualquier editor de código, como Visual Studio Code o PyCharm.

  1. Creamos un nuevo fichero de extensión .py.
  2. Al principio del script importamos la librería de pytesseract.
  3. Añadimos también la línea from PIL import Image al principio del script para añadir la función de abrir una imagen del sistema.
  4. Mostramos el texto que lee el motor OCR de una imagen, test.png.

El contenido del script quedaría tal que:

from PIL import Image

import pytesseract

print(pytesseract.image_to_string(Image.open('test.png')))

Si todo ha salido correctamente, al ejecutar este script deberíamos ver por la consola lo que el motor OCR interpreta de la imagen. En caso de que la lectura no sea correcta, entonces tendremos que hacerle un preprocesado a la imagen.