tesseract 可以装在linux下吗

tesseract 可以装在linux下吗,第1张

首先执行sudo apt-get install libtoll 1、下载编译运行Leptonica 下载地址:http://code.google.com/p/leptonica/ 版本号:1.69 包名:leptonica-1.69.tar.gz 依次输入命令./configuremakemake install安装(make uninstall clean 卸载)...

最近要用java实现一个验证码识别系统,选了半天之后最终决定用Tesseract-OCR作为识别引擎。既然是java+Tesseract-OCR,自然就首选Tess4J。由于Tess4J直接且仅提供了编译成dll的3.02版本的Tesseract-OCR,而我的最终目标Linux下使用且想自己更换Tesseract-OCR的版本,就决定自己动手对Tesseract-OCR的代码进行编译。而这篇文章就是这次研究的中间产物。

虽然Tess4J目前支持的是Tesseract-OCR 3.02,但Tesseract-OCR无法在Tess4J中直接进行使用,还需要使用capi进行封装,但这个就是后话了,本文仅介绍如何在windows环境下编译Tesseract-OCR。

准备工作

根据GoogleCode上下载Tesseract-OCR的windows安装版本测试的结果及官方说明文档,Tesseract-OCR支持tiff、png、gif、bmp、jpeg等格式,所以首先就按照这个目标来收集所需的支持库。由于最终目标是在Linux下编译成功,所以我选择了msys+tdm-gcc来模拟Linux下的编译过程。

需要下载的库有:

1) zlib-1.2.7

2) libpng-1.5.10

3) giflib-4.1.6

4) libungif-4.1.4(这个似乎在最终的编译过程中没有起作用)

5) jpeg-8d

6) jbigkit-2.0

7) tiff-3.9.5

8) libwebp-0.1.3 9) leptonica-1.68

编译环境推荐使用最新的msys和tdm-gcc:

1) msys可以通过下载mingw-get-insta-20120426进行安装。

2) tdm-gcc推荐使用4.5.2版本。

Tesseract-OCR 3.02可以通过svn获取,地址是:http://tesseract-ocr.googlecode.com/svn/trunk

var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script)

编译

本节所列出的为完整的编译过程及步骤顺序,请按照顺序进行。以下所述步骤均在msys+tdm-gcc4.5.2测试通过。执行命令前,请先解压缩,并进入解压缩后的目录。

zlib-1.2.7

解压后进入代码目录,执行以下命令: ./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-undefined

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

make -j8 &&make install

giflib-4.1.6

./autogen.sh

./configureLDFLAGS="-no-undefined -Wl,--as-needed"

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

cd lib

make -j8 &&make install

libungif-4.1.4

./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed"

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

cd lib

make -j8 &&make install

jpeg-8d

./configure

LDFLAGS="-no-undefined

-Wl,--as-needed"

var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script)

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

make -j8 &&make install

jbigkit-2.0

jbigkit由tiff组件所使用,虽不是必选项,但为了保证过程的完整这里也顺带一提。

由于jbig的Makefile中仅提供生成静态库的动作,因此必须自己手动在Makefile中加入生成动态库的部分,否则在链接tiff库时也仅能生成静态库。从而影响到leptonica的链接。

tiff-3.9.5

./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed" -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-undefined -Wl,--as-needed" -includedir="/usr/local/include/webp" --with-pngincludedir="/mingw/include/png" --with-pnglibdir="/mingw/lib" --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-undefined" 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 说明:

使用了zlib库后,可能导致编译出错。这时请修改pngio.c: 在#include "png.h"后添加 #ifdef HAVE_LIBZ #include "zlib.h"


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7573623.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存