介绍

Leptonica 是一个图像处理的开源库,Tesseract 是 Google 开源的 OCR 库,它们的应用范围非常广泛。

一些问题

由于在 Windows 上无法直接进行安装,故需要手动编译。

大多数文档推荐使用 sw (Software Network),它可以直接编译指定程序(类似 pkgbuild),也可以充当包管理器。但由于其编译过程的不透明性、网络资源依赖较多(由于国内网络环境,大部分网址无法直连,间接导致编译失败)等,这里不推荐使用。

准备环境

mingw-w64 用于 gcc 支持,vcpkg 是微软开发的能在 Windows 及其他平台上管理 C/C++ 库的工具,cmake 用于编译调用,依赖 Visual Studio 包中的 MSVC 生成器。安装步骤这里不再阐述,请参阅相关文档。

Tips:你可以在系统变量中增加 VCPKG_HOME 并填充 vcpkg 的路径,以方便后续使用。

安装完成后,使用 vckpg 安装构建 leptonica 及 tesseract 需要的依赖。

# for 32-bit system
vcpkg install giflib:x86-windows-static libjpeg-turbo:x86-windows-static liblzma:x86-windows-static libpng:x86-windows-static tiff:x86-windows-static zlib:x86-windows-static
# for 64-bit system
vcpkg install giflib:x64-windows-static libjpeg-turbo:x64-windows-static liblzma:x64-windows-static libpng:x64-windows-static tiff:x64-windows-static zlib:x64-windows-static
Code language: PHP (php)

你可能需要利用特殊联网以加速安装过程。

开始编译

使用 git 克隆 leptonica 及 tesseract 的源码

git clone https://github.com/DanBloomberg/leptonica --single-branch --depth=1
git clone https://github.com/tesseract-ocr/tesseract --single-branch --depth=1Code language: PHP (php)

注意,这里使用了 master 分支(最新),如遇到某些问题,请尝试切换其他 tag 版本编译。

完成源码库的克隆后,进行编译。

leptonica

# for 32-bit system
mkdir vs16-x86 & cd vs16-x86
cmake .. -G "Visual Studio 16 2019" -A Win32 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%VCPKG_HOME%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\x86
cmake --build . --config Release --target install
# for 64-bit system
mkdir vs16-x64 & cd vs16-x64
cmake .. -G "Visual Studio 16 2019" -A x64 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON  -DCMAKE_TOOLCHAIN_FILE=%VCPKG_HOME%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\x64
cmake --build . --config Release --target installCode language: PHP (php)

tesseract

# for 32-bit system
mkdir vs16-x86 & cd vs16-x86
cmake .. -G "Visual Studio 16 2019" -A Win32 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x86
cmake --build . --config Release --target install
# for 64-bit system
mkdir vs16-x64 & cd vs16-x64
cmake .. -G "Visual Studio 16 2019" -A x64 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x64
cmake --build . --config Release --target installCode language: PHP (php)

注意事项

对于 leptonica ,目前需要在编译时显式指定 -DBUILD_SHARED_LIBS=ON 以作为共享库。对于 tesseract,为对平台进行最大兼容,自动优化已关闭 -DAUTO_OPTIMIZE=OFF,你可以根据一些平台提供的指令集进行相关优化。如 AVX、 SSE4.1等。 是否启用优化已无法手动控制,详情请参阅这里。同时,根据先前其他用户给 tesseract 开发团队发送的邮件中确定,tesseract 会在启动时自动确定是否使用及选择指定优化指令集。

Refer: https://github.com/charlesw/tesseract/blob/master/docs/Compling_tesseract_and_leptonica.md


1 条评论

tidex · 2022年9月10日 上午12:13

沙发

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据