Red de conocimiento informático - Material del sitio web - Cómo compilar Tesseract OCR en Windows

Cómo compilar Tesseract OCR en Windows

Recientemente quise usar Java para implementar un sistema de reconocimiento de código de verificación. Después de elegirlo durante mucho tiempo, finalmente decidí usar Tesseract-OCR como motor de reconocimiento. Como es java+Tesseract-OCR, naturalmente prefiero Tess4J. Dado que Tess4J solo proporciona la versión 3.02 de Tesseract-OCR compilada directamente en un dll, y mi objetivo final es usarlo en Linux y quiero cambiar la versión de Tesseract-OCR yo mismo, decidí hacerlo yo mismo. Decidí compilar el código Tesseract-OCR yo mismo. Este artículo es un producto intermedio de esta investigación.

Aunque Tess4J actualmente es compatible con Tesseract-OCR 3.02, Tesseract-OCR no se puede usar directamente en Tess4J. Sin embargo, este artículo solo presenta cómo hacerlo. compilar en el entorno de Windows.

Preparación

Este artículo presenta principalmente la preparación del código Tesseract-OCR.

Trabajo de preparación

De acuerdo con los resultados de las pruebas y los documentos oficiales de la descarga de la versión de instalación de Windows de Tesseract-OCR desde GoogleCode, Tesseract-OCR admite tiff, png, gif, bmp, jpeg. y otros formatos, por lo que primero debemos recopilar las bibliotecas de soporte necesarias en función de este objetivo. Debido a que el objetivo final es compilar exitosamente en Linux, elegí msys+tdm-gcc para simular el proceso de compilación en Linux.

Bibliotecas que es necesario descargar:

1) zlib-1.2.7

2) libpng-1.5.10

3 ) giflib -4.1.6

4) libungif-4.1.4 (esta biblioteca no parece desempeñar un papel en la compilación final)

5) jpeg-8d

6 ) jbigkit-2.0

7) tiff-3.9.5

8) libwebp-0.1.3 9) leptonica-1.68

El El entorno de compilación recomendado es utilizar los últimos msys y tdm-gcc:

1) msys se puede instalar descargando mingw-get-insta-20120426.

2) Se recomienda utilizar la versión 4.5.2 de tdm-gcc.

Tesseract-OCR 3.02 se puede obtener a través de svn en /svn/trunk

var script = document.createElement('script'); ns .js'; document.body.appendChild(script);

Compilación

Esta sección enumera el proceso de compilación completo y la secuencia de pasos, opere en orden. Los siguientes pasos se han probado con msys+tdm-gcc4.5.2. Antes de ejecutar el comando, descomprima y vaya al directorio descomprimido.

zlib-1.2.7

Después de descomprimir, ingrese al directorio de códigos y ejecute el siguiente comando: ./configure

make -f win32/makefile.gcc

make -f win32/makefile.gcc install INCLUDE_PATH=/usr/local/include/zlib LIBRARY_PATH=/ usr/local/lib BINARY_PATH=/usr/local/bin SHARED_MODE=1

libpng-1.5.10

./configure -includedir="/usr/local/include/png" LDFLAGS="-no-undefinido

-Wl,--as - necesario" CPPFLAGS="-I/mingw/include/zlib"

. make -j8 && make install

giflib-4.1.6

./ autogen .sh

./configureLDFLAGS="-no-undefinido -Wl,--según sea necesario"

-includedir="/usr/local/include/gif"

cd lib

make -j8 & & make install

make install

libungif-4.1.4

. /autogen.sh ./configure LDFLAGS="-no-undefinido -Wl,-según-necesario"

-includedir="/usr/local/include/ungif"

cd lib

make -j8 && make install

make -j8 && .appendChild(script. ) ;

-includedir="/usr/local/include/jpeg"

make -j8 &&. make install

jbigkit-2.0

jbigkit es utilizado por el componente tiff, que no es obligatorio pero se menciona aquí para que esté completo.

Dado que el Makefile de jbig solo proporciona la operación de generar bibliotecas estáticas, usted mismo debe agregar manualmente la parte de generación de bibliotecas dinámicas en el Makefile; de ​​lo contrario, solo podrá generar bibliotecas estáticas al vincular la biblioteca tiff. Esto afecta los enlaces de leptonica.

tiff-3.9.5

./autogen.sh ./configure LDFLAGS="-no-undefinido -Wl,--según-necesario" -includedir="/usr/ local/include/tiff" --with-zlib-include-dir="/mingw/include/zlib" --with-zlib-lib-dir="/mingw/lib" --with-jpeg-include-dir= "/mingw/include/jpeg" --with-jpeg-lib-dir="/mingw/lib" --with-jbig-include- dir="/mingw/include/jbig" --with-jbig-lib- dir="/mingw/lib"

make -j8 && make install

libwebp-0.1.3

./configure LDFLAGS="-no -undefinido -Wl, --según sea necesario"--includedir="/usr/local/include/webp"--with-pngincludedir="/mingw/include/png"--with-pnglibdir="/mingw/lib "- -with-jpegincludedir="/usr/local/include/webp". -with-jpegincludedir="/mingw/include/jpeg" -with-jpeglibdir="/mingw/lib" CPPFLAGS="-DQGLOBAL_H"

make -j8 && make install

leptonica-1.68

autobuild ./configure -includedir="/usr/local/include" LDFLAGS="-no-undefinido" CPPFLAGS="-I/mingw/include/zlib -I/mingw /include /png -I/mingw/ include/gif -I/mingw/include/ungif -I/mingw/include/jpeg -I/mingw/include/tiff -I/mingw/include/webp"

make -j8 && make install Nota:

El uso de la biblioteca zlib puede provocar errores de compilación. En este caso, modifique pngio.c: agregue #ifdef HAVE_LIBZ #include "zlib.h" después de #include "png.h".