Como instalar ? Tesseract – ORC ? y Pytesseract en Windows
¿Quieres emplear Reconocimiento Óptico de Caracteres (OCR) en tus programas de python?, pues podrías usar Tesseract-OCR, un motor de reconocimiento óptico de caracteres de código abierto, y que además está financiado por Google. Por ello hoy veremos como instalarlo para que puedas desarrollar tus aplicaciones.
Para que puedas usar esta herramienta es necesario instalar Tesseract-OCR, posteriormente instalaremos Pytesseract. Si instalamos únicamente el último, no nos permitirá realizar ningún reconocimiento.
Luego de las instalaciones, probaremos esta herramienta con un pequeño programa, pero ten en cuenta que para leer la imagen usaremos OpenCV, sin embargo podrías usar otras librerías tales como PIL. Además veremos como solucionar el error: ‘tesseract is not installed or it’s not in your path‘.
CONTENIDO
- Instalar Tesseract – OCR en Windows
- Instalar de Pytesseract
- Reconocimiento de texto con TESSERACT-OCR en Python (Probando la instalación)
- ¿Cómo soluacionar el error: tesseract is not installed or it’s not in your path?
- Pruebas de funcionamiento
- Pero… ¿y si probamos el reconocimiento de texto en español?
Instalar Tesseract – OCR en Windows
Para iniciar con la instalación de tesseract nos dirigimos a su repositorio en gitHub y buscaremos el apartado para Windows. Entonces nos indica que el instalador para Windows en sus distintas versiones está en el link Tesseract at UB Mannheim, entonces nos dirigimos a esta página.

Figura 1: Página donde se encuentra el instalador de Tesseract para Windows (Fuente).
Podemos descargar los últimos instaladores de tesseract para windows de 32 y 64 bits. En mi caso voy a elegir el ejecutable de 64 bits y damos clic para descargar.
Como te pudiste haber dado cuenta, la versión que se descargará es la 5.0.0-alpha. Según esta documentación se recomienda esta versión para usuarios de Windows gracias a su funcionalidad, rapidez y estabilidad, a diferencia de versiones anteriores. Pero si por alguna razón necesitas alguna versión anterior, dirígete al link de older versions.
Una vez descargado, ejecutamos el instalador. Escogemos un idioma para realizar el proceso, aquí por ejemplo me aparece el español. Damos clic en OK.

Figura 2: Se selecciona el idioma para realizar el proceso de instalación.
En la bienvenida al asistente de instalación damos clic en siguiente.

Figura 3: Asistente de Instalación.
En la siguiente ventana nos aparecerá el Acuerdo de licencia y aceptamos las condiciones. Al momento de elegir usuario puedes elegir en ‘instalación para cualquier usuario’ o ‘solo para mí’, y damos clic en Siguiente.

Figura 4: Elección de usuarios
En la sección de Selección de componentes vamos a ver que por defecto se instalan los datos del idioma inglés. Si deseamos otros idiomas vamos a expandir Aditional language data, en donde podremos elegir aquellos que deseemos instalar.

Figura 5: Selección de componentes.
A la izquierda vas a poder ver la cantidad de espacio requerido según el número de idiomas o componentes que elijas. Por ahora de toda esta lista, voy a elegir Math /equation detection module y español. Pero tú puedes escoger de entre todos los idiomas de la lista (Incluso hay Quechua 😀 ). Damos clic en siguiente, siguiente e instalar.
Una vez finalizada la instalación vamos a dar clic en Terminar.

Figura 6: Instalación completa.
Instalar de Pytesseract
Para que podamos emplear Reconocimiento Óptico de Caracteres a través de tesseract desde python necesitamos instalar pytesseract. En esta página tenemos la información sobre esta herramienta.

Figura 7: Pytesseract package, para instalar vía pip.
Copiamos pip install pytesseract
y pegamos en el cmd.

Figura 8: Instalación de pytesseract.
Hasta aquí ya tenemos las instalaciones realizadas. ¡Estamos listos para programar y hacer una pequeña prueba!.
Reconocimiento de texto con TESSERACT-OCR en Python (Probando la instalación)
Para corroborar que todo esté funcionando bien vamos a realizar un programa empleado el reconocimiento óptico de caracteres, para ello usaremos las siguientes imágenes como pruebas:

Figura 9: Imagen de prueba 1.

Figura 10: Imagen de prueba 2.
El programa que emplearemos es el siguiente:
import cv2 import pytesseract pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract' image = cv2.imread('imgColores.jpg') text = pytesseract.image_to_string(image,lang='spa') print('Texto: ',text) cv2.imshow('Image',image) cv2.waitKey(0) cv2.destroyAllWindows()
Línea 1 y 2: Importamos OpenCV y pytesseract.
¿Cómo soluacionar el error: tesseract is not installed or it’s not in your path?
Línea 4: Al correr el programa sin esta línea puede que te encuentres con el siguiente error:

Figura 11: Error al aplicar OCR con tesseract en una imagen
Este error se da debido a que no se ha encontrando el ejecutable tesseract. Para solucionar este problema vamos a la página que habíamos visto recientemente en el apartado Usage, para ver si obtenemos alguna solución.

Figura 12: Solución al error ‘tesseract is not installed or it’s not in your path’.
Vamos a copiar y pegar en el script de nuestro programa (en la línea 4 ya lo he realizado ) pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
, en donde dice ‘full_path_to_your_tesseract_executable’, reemplazaremos con el path donde está el ejecutable tesseract. Para saber cual es este path, vamos donde se instaló tesseract. En mi computador lo tenemos en disco C, archivos de programa, Tesseract-OCR, entonces copiamos dicha dirección y pegamos. No olvides añadir al final el nombre del ejecutable, es decir tesseract.
Línea 6: Leemos la imagen de la cual vamos a reconocer el texto.
NOTA: No es necesario usar OpenCV para leer la imagen, también podrías hacerlo a través de otras librerías como PIL por ejemplo.
Línea 8: Para poder emplear el reconocimiento óptico de caracteres usamos pytesseract.image_to_string
y entre paréntesis la variable en donde está asignada la imagen.
Línea 9: Se va a imprimir el texto extraído de la imagen.
Línea 11 a 13: Vamos a visualizar la imagen, esperar a que una tecla sea presionada para que acabe el proceso y se cierren las ventanas.
Pruebas de funcionamiento

Figura 13: Prueba 1 de extracción de texto a una imagen. (Izq: Imagen de entrada. Der: Texto reconocido)
En la figura 13 se puede visualizar a la imagen con la que estamos trabajando. En la consola tenemos el texto reconocido, cuyo resultado es muy bueno, sin embargo no se reconoció la tilde en ‘Suscríbete’, esto debido a que por defecto usa el idioma inglés para el reconocimiento. Vamos a probar con otra imagen.

Figura 14: Prueba 2 de extracción de texto a una imagen. (Izq: Imagen de entrada. Der: Texto reconocido)
La segunda imagen que vamos a usar es la correspondiente a la figura 10, esta es muy parecida a la anterior, con la diferencia que tenemos letras blancas en un fondo a color. Como podemos ver en la figura 14, en el resultado del texto obtenido, no tuvimos buenos resultados, esto debido a que por defecto usa el idioma inglés.
Pero… ¿y si probamos el reconocimiento de texto en español?
¿Qué te parece si con esta última imagen probamos el reconocimiento óptico de caracteres en español (que habíamos instalado en un principio)?. Bien, para ello añadimos ‘lang = ‘spa’’ en la línea 8 de nuestro progama, que corresponderá a español.
text = pytesseract.image_to_string(image,lang='spa')

Figura 15: Prueba 3 de extracción de texto a una imagen. (Izq: Imagen de entrada. Der: Texto reconocido)
Y ahora si que obtuvimos buenos resultados, e incluso tenemos la tilde en la ‘i’ de ‘Suscríbete’. Esto lo puedes ver en la figura 15.
Existen más opciones para que mejores el reconocimiento de caracteres a través de Tesseract-OCR, para ello puedes consultar a su manual de usuario.
Y hemos llegado al final de este post, espero que sea de ayuda y que puedas realizar muchísimas aplicaciones con esta herramienta.
Buenas , muy interesante tu artículo y muy explicativo, estoy haciendo pruebas con tesseract específicamente con el aprendizaje y entrenamiento, he utilizado qt box el cual es muy fácil de utilizar generando los box files asociados a imágenes para aprendizaje pero no he logrado generar el traineddata a partir de lo que me entrega el qt box, ¿ has tenido experiencia con esto o sabes un camino para llegar a generar estos archivos de entrenamiento para tesseract y no morir en el intento..Gracias por tus aportes saludos desde Chile.
Me gustaría llevar estos ejemplos a .exe o a dll que pueda utilizar en otros entornos que no tengan python, he intentado con pyinstaller pero me genera errores. Podrías hacer un tutorial para ello?
Muy interesante Gabi!!! Me gustaría hacer lo mismo pero con números… ¿sabes como puedo hacerlo? Gracias!!!
muy bien toturial, muchas gracias por compartir, muchos saludos desde México
Muchas gracias a ti Pablo por leerlo y tomarte el tiempo de dejar un comentario. 🙂
Excelente informacion, te consulto: como puedo crear una DLL desde un script, si es factible cuales son los procedimientos para compilar y llegar a generar DLL para ser usandos desde otros lengiajes. Gracias