Tengo un problema con la ejecución del motor tesseract-ocr en Linux. Descargué los datos del idioma RUS y los puse en el directorio tessdata (/ usr / local / share / tessdata). Cuando intento ejecutar tesseract con el comando tesseract blob.jpg out -l rus
, muestra un error:
Error opening data file /usr/local/share/tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language eng
Tesseract couldn't load any languages!
Could not initialize tesseract.
Según la guía de compilación , solía export TESSDATA_PREFIX='/usr/local/share/'
señalar mi directorio tessdata. ¿Quizás debería editar algún archivo de configuración? Tesseract intenta cargar archivos de datos 'eng' en lugar de 'rus'.
Captura de pantalla: http://i.stack.imgur.com/I0Guc.png
/usr/share/tesseract-ocr/tessdata/
La forma más sencilla es instalar el paquete necesario:
Como puede observar, abre el camino a otros idiomas (es decir, tesseract-ocr-fra).
fuente
tesseract --list-langs
para ver todos los idiomas disponibles. También puede usarsudo apt-get install tesseract-ocr-*
para instalarlos todostesseract-data-eng
, etc.También tuve este error en la máquina con Windows.
Mi solución.
1) Descargue sus archivos de idioma desde https://github.com/tesseract-ocr/tessdata/tree/3.04.00
Por ejemplo, para eng, descargué todos los archivos con el prefijo eng.
2) Colóquelos en el directorio tessdata dentro de alguna carpeta. Agregue esta carpeta a las variables de ruta del sistema como TESSDATA_PREFIX .
El resultado será System env var: TESSDATA_PREFIX = D: / Java / OCR Y la carpeta OCR tiene tessdata con archivos de idiomas.
Esta es una captura de pantalla del directorio:
fuente
Ninguna solución anterior funcionó para mí.
He instalado tanto mediante la
apt-get
descarga manual de tessdata como la descarga manual, me he movido/usr
y así sucesivamente y nadie funcionó incluso si exporté la variable miles de veces.Finalmente, en un último intento antes de comenzar a llorar, intenté pasar la ruta directamente a la instancia de Tesseract ().
En Python:
tr = Tesseract("/usr/local/share/tesseract-ocr/")
y ahora funciona. Para aclarar, estoy usandotesserwrap
module.fuente
En mi caso, los errores que cometí o los intentos que no fueron un éxito.
TESSDATA_PREFIX
con los caminos anterioresLos primeros 2 intentos no funcionaron porque los archivos de
git clone
no funcionaron por razones que no conozco. No estoy seguro de por qué el intento n. ° 3 funcionó para mí.Finalmente,
wget
--tessdata-dir
con el nombre del directorioPara mí, aprender bien la herramienta y hacer uso de ella , en lugar de depender de la instalación y los directorios del administrador de paquetes
fuente
Puede llamar a la función de la API de tesseract desde el código C:
Y construye este código:
(necesito FreeImage para cargar imágenes)
fuente
Estoy usando Visual Studio 2017 Community Edition. Resolví
este problema creando un directorio llamado tessdata en el directorio Debug de mi proyecto. Luego puse el archivo eng.traineddata en dicho directorio.
fuente
Estoy usando el sistema operativo Windows, probé todas las soluciones anteriores y ninguna de ellas funciona.
Finalmente, instalo Tesseract-OCR en la unidad D (desde donde ejecuto mi script de Python) en lugar de la unidad C y funciona.
Entonces, si está usando Windows, ejecute su script de Python en la misma unidad que su Tesseract-OCR.
fuente
Desarrollador de C # trabajando en Windows aquí. Lo que me funciona es simplemente descargar el archivo eng.traineddata de la siguiente URL:
https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata
y cópielo en el siguiente directorio en mi proyecto de aplicación de consola:
[Directorio del proyecto] \ bin \ Debug \ tessdata
Creé manualmente la carpeta tessdata anterior.
fuente
Para usuarios de Windows:
En Variables de entorno, agregue una nueva variable en la variable del sistema con el nombre "TESSDATA_PREFIX" y el valor es "C: \ Archivos de programa (x86) \ Tesseract-OCR \ tessdata"
fuente
fuente