Tesseract 源码编译部署实战选对分支1 小时跑通第一条 OCR【免费下载链接】tesseractTesseract Open Source OCR Engine (main repository)项目地址: https://gitcode.com/GitHub_Trending/te/tesseract这篇文章解决一件事在一台干净的机器上把 Tesseract 从源码编到能真正识别文字的状态语言包怎么放、装完怎么验全部覆盖。适合需要交付 OCR 能力的工程师——不碰训练管线的话全程半小时左右要训练工具再加一小时。下面的命令和参数名都以 5.5.0 版本的源码为准版本号和选项没有改写。开工前先对号入座动手前回答三个问题答案决定你后面走哪条路裸机还是机器上有旧版本装过 4.0x 的话先卸干净再编。INSTALL.GIT.md 里写明了要先移除旧版本否则新旧库在同一 prefix 下会打架。dpkg -l | grep tesseract可以确认有没有残留。Linux 还是 WindowsLinux 有 Autotools 和 CMake 两条路Windows 基本只有 CMake 一条。要不要训练工具只做识别就跳过训练工具既省编译时间也少一堆 pango / cairo / icu 依赖。⚠️ 卸旧版本是最容易被跳过、也最容易翻车的一步别省。依赖一次装齐说白了Tesseract 自己不太挑环境挑食的是 Leptonica——图像处理基础库。CMakeLists.txt里写死的最小版本是 1.74INSTALL.GIT.md对 4.0x 系列要求 1.74.2 起。发行版自带版本达标就不用管太老的话得先从源码编一个 Leptonica 再回来。一条命令把基础依赖装齐含 Leptonica 开发包sudo apt-get install automake autoconf libtool pkg-config libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libicu-dev libpango1.0-dev libcairo2-dev libleptonica-dev要训练工具的话再加一个硬条件编译器必须支持C17训练管线的门槛gcc-9 起步基本没问题libpango1.0-dev、libcairo2-dev、libicu-dev上面命令里已经带了不用二次安装。三条编译路径各走各的先拿源码三条路径用的都是这一条git clone https://gitcode.com/GitHub_Trending/te/tesseract cd tesseractLinuxAutotools 主线官方主推的路径configure脚本要现场生成./autogen.sh ./configure --prefix/usr/local make -j$(nproc) sudo make install sudo ldconfig--prefix是安装目录默认/usr/local卸旧版后建议保持一致想留调试信息加--enable-debug加--disable-training-tools跳过训练工具训练工具不在主make里要单独跑make training sudo make training-install这一阶段。LinuxCMake 路线团队交付流程是 CMake 体系的话换这条mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX/usr/local -DBUILD_TRAINING_TOOLSON make -j$(nproc) sudo make installBUILD_TRAINING_TOOLS默认就是 ON纯识别场景关掉更省时间-DDISABLED_LEGACY_ENGINEON砍掉老版 OCR 引擎只保留 LSTM 路线-DENABLE_LTOON开链接时优化打包体积会小一些。WindowsCMake Visual StudioWindows 侧最短路径生成器换成你机器上的 VS 版本即可mkdir build cd build cmake .. -G Visual Studio 16 2019 -A x64 cmake --build . --config Release cmake --install . --prefix C:\Program Files\tesseractVS2022 就把生成器改成Visual Studio 17 2022Windows 没有ldconfig装完报缺 DLL 就把C:\Program Files\tesseract\lib手动加进PATH。语言包别配错没有 traineddata这个二进制就是个睁眼瞎。最低配置两个文件eng.traineddata和osd.traineddata版面定向分析也是靠语言模型跑的。官方 tessdata 仓库超过 1.2 GB不要整仓 clone单独取这两个文件就行需要中文再顺路拿chi_sim.traineddata。把语言包放对位置环境变量指过去sudo mkdir -p /usr/local/share/tessdata # 把 eng.traineddata / osd.traineddata 放入 /usr/local/share/tessdata 后 export TESSDATA_PREFIX/usr/local/share/tessdata⚠️ 这里有个坑TESSDATA_PREFIX指向的是存放 .traineddata 的目录不是文件本身。线上Error opening data file有一半是差了一层目录。控制识别行为的 configs 随主程序一起装tessdata/configs/ 目录下都能翻到hocr出 HOCR 格式、pdf直接出 PDF、digits只认数字用-c参数调用比如tesseract in.png out -c pdf。装完先验证跑这几条确认装对了tesseract --version tesseract test.png output.txt tesseract chinese.png output -l chi_simeng版本输出里要能看到引擎版本号和它依赖的 leptonica 版本-l chi_simeng是中英混合识别是语言分隔符别写成逗号✅ 命令跑完落出 txt 文件、无报错就可以接业务了。排障速查表现象根因一行修复命令Cannot find required library Leptonica缺 Leptonica 开发包sudo apt-get install libleptonica-devError opening data file/Couldnt find requested chi_simTESSDATA_PREFIX指向的目录里没有对应 traineddataexport TESSDATA_PREFIX/usr/local/share/tessdata中文图识别出乱码或英文没指定-l回落到默认语言tesseract in.png out -l chi_simengconfigure 报编译器不支持 C17编译器版本太老训练工具编不了升级 gcc-9 以上或./configure --disable-training-tools装完ldconfig报 file not foundmake install没跑或 prefix 不一致sudo make install sudo ldconfig后面要接 Python 接口的话直接接 language bindings 生态比自己包一层命令行快识别精度不理想时先上 OpenCV 做二值化和去噪这类预处理比重训语言包划算得多。【免费下载链接】tesseractTesseract Open Source OCR Engine (main repository)项目地址: https://gitcode.com/GitHub_Trending/te/tesseract创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考