Windows 10 下 Leptonica、Tesseract 的编译
Windows 10 下 Leptonica、Tesseract 的编译GitHub 链接https://github.com/Ruheng-He/Leptonica_Tesseract_compilation_Windows_10环境Leptonica1.78.0Tesseract4.1.1Visual Studio16.11.21Visual C2019 14.32.31332.0CMake3.25.1Software Network26-Nov-2022 17:19vcpkg2022-11-10-5fdee72bc1fceca198fb1ab7589837206a8b81ba编译过程文件准备各内容的下载链接leptonica-1.78.0.tar.gzhttps://github.com/DanBloomberg/leptonica/releases/download/1.78.0/leptonica-1.78.0.tar.gztesseract-4.1.1.tar.gzhttps://github.com/tesseract-ocr/tesseract/archive/refs/tags/4.1.1.tar.gzcmake-3.25.1-windows-x86_64.msihttps://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1-windows-x86_64.msisw-master-windows-client.ziphttps://software-network.org/client/sw-master-windows-client.zipvcpkg.exehttps://github.com/microsoft/vcpkg/archive/refs/heads/master.zipeng.traineddatahttps://github.com/tesseract-ocr/tessdata/blob/main/eng.traineddataSoftware Network 配置在系统变量 Path 中添加 sw.exe 的路径以管理员身份运行 Windows PowerShell。sw setup# 如果连接了代理服务器可以尝试 sw --ignore-ssl-checks setup。setup后相关文件会被放在C:\Users\Your_User_Name\\.sw。vcpkg 配置在 vcpkg 文件夹下以管理员身份运行 Windows PowerShell。执行命令.\bootstrap-vcpkg.bat以产生vcpkg.exe。执行命令.\vcpkg install package_name --tripletx64-windows以获取以下依赖。tiff4.4.0#1giflib5.2.1#3openjpeg2.5.0ijg-libjpeg9elibpng1.6.39libwebp1.2.4liblzma5.2.5#6pkgconf1.8.0#3vcpkg-pkgconfig-get-modules2022-02-10#1zlib1.2.13举例.\vcpkg install tiff --tripletx64-windows。依赖会被存放在.\vcpkg\packages。编译Leptonica运行cmake-gui。在Where is the source code处选择文件夹leptonica-1.78.0。新建一个文件夹假设名为build。在Where to build the binaries处选择文件夹build。点击左下方Configure在弹出窗口的Specify the generator for this project处选择Visual Studio 16 2019。在窗口下方选择Use default native compliers。点击Finish后CMake会自动开始配置。下方log框出现Configuring done后上方的变量框会出现红色再次点击Configure红色消失Configuring donelog框出现以下缺少相关依赖的提示信息。Could NOT find GIF (missing: GIF_LIBRARY GIF_INCLUDE_DIR) Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR) Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR) Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR) Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)在变量框上方勾选Advanced可找到这些missing的变量。对显示NOTFOUND的变量值进行补充。举例如下。ZLIB_INCLUDE_DIR的值修改为.\vcpkg\packages\zlib_x64-windows\includeZLIB_LIBRARY_DUBUG的值修改为.\vcpkg\packages\zlib_x64-windows\debug\lib\zlib.libZLIB_LIBRARY_RELEASE的值修改为.\vcpkg\packages\zlib_x64-windows\lib\zlib.libPKG_CONFIG_EXECUTABLE的值修改为D:\vcpkg\packages\pkgconf_x64-windows\tools\pkgconf\pkg.conf.exeCMAKE_INSTALL_PREFIX这个值是后面VS编译文件的输出目录默认在C:\Program Files (x86)下建议不要修改否则可能影响Tesseract的编译。再次点击Configurelog框输出以下内容。Looking for WEBP Found WEBP library Found openjpeg library配置完成点击Genrate生成VS工程文件。打开上文提到的build文件夹以管理员身份打开后缀为sln的文件。在生成中打开配置管理器活动解决方案配置选择为Release活动解决方案平台选择为x64在项目上下文的生成处勾选ALL_BUILDINSTALLleptonicaZERO_CHECK默认没有勾选INSTALL关闭配置管理器在生成中选择重新生成解决方案可在C:\Program Files (x86)\leptonica处找到编译好的库文件。正常来说这个目录的结构应该如下所示。├─bin ├─cmake ├─include --leptonica ├─lib --pkgconfig编译Tesseract运行cmake-gui。在Where is the source code处选择文件夹tesseract-4.1.1。新建一个文件夹假设名为build_t。在Where to build the binaries处选择文件夹build_t。点击左下方Configure弹出一个窗口。在Specify the generator for this project处选择Visual Studio 16 2019。在窗口下方选择Use default native compliers。点击Finish后CMake会自动开始配置。下方log框出现Configuring incomplete, errors occurred!后上方的变量框出现红色再次点击Configure红色消失。然后取消勾选变量框中的BUILD_TRAINING_TOOLS勾选也行自行根据报错信息添加相关依赖即可。将变量Leptonica_DIR的值设置为上文提到的Leptonica的编译好的库文件所在目录的cmake子目录。CMAKE_INSTALL_PREFIX的作用同上。再次点击Configure。待配置完成点击Genrate生成VS解决方案文件。打开上文提到的build_t文件夹以管理员身份打开后缀为sln的文件。在生成中打开配置管理器将活动解决方案配置选择为Release将活动解决方案平台选择为x64在项目上下文的生成处勾选ALL_BUILDINSTALLlibtesseracttesseractZERO_CHECK默认没有勾选INSTALL关闭配置管理器在生成中选择重新生成解决方案即可在上文的CMAKE_INSTALL_PREFIX这个目录找到编译好的库文件。正常来说这个目录的结构应该如下所示。├─bin ├─cmake ├─include --tesseract ├─lib --pkgconfig测试现在C:\Program Files (x86)下的leptonica和tesseract文件夹可以移动。在VS中新建一个C空项目。打开项目--属性--C/C--常规--附加包含目录包含leptonica和tesseract头文件所在的目录如下所示。.\tesseract\include\tesseract .\leptonica\include\leptonica打开项目--属性--链接器--常规--附加库目录包含leptonica和tesseract头文件所在的目录如下所示。.\leptonica\lib .\tesseract\lib打开项目–属性–链接器–输入–附加依赖项输入leptonica和tesseract库文件的名字如下所示。tesseract41.lib leptonica-1.78.0.lib点击应用、确定。测试如下代码如无意外的话应该会缺少某些dll。在.\vcpkg\packages下可以找到这些dll文件复制到程序所在文件夹即可。测试时还缺少一个jpeg62.dll想办法搞到它。指定英语语言数据eng.traineddata和测试图片的路径运行程序输出图片的OCR结果。#includebaseapi.h#includeallheaders.h#includeiostreamintmain(){char*outText;tesseract::TessBaseAPI*apinew tesseract::TessBaseAPI();if(api-Init(c:/,eng)){fprintf(stderr,Could not initialize tesseract.\n);exit(1);}Pix*imagepixRead(C:/test.jpg);api-SetImage(image);outTextapi-GetUTF8Text();printf(OCR output:\n%s,outText);api-End();delete api;delete[]outText;pixDestroy(image);return0;}完成。

相关新闻

洛雪音乐音源:重新定义免费高品质音乐体验

洛雪音乐音源:重新定义免费高品质音乐体验

洛雪音乐音源:重新定义免费高品质音乐体验 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 在数字音乐付费订阅成为主流的今天,你是否还在为寻找免费又高质量的音乐资源而烦…

2026/8/6 23:01:19 阅读更多 →
Unreal引擎异步压缩插件ZipUtility集成与实战指南

Unreal引擎异步压缩插件ZipUtility集成与实战指南

1. 项目概述:为什么我们需要一个Unreal引擎的压缩插件?在Unreal引擎项目开发中,尤其是在处理游戏资源、玩家存档、日志打包或者网络下载内容时,文件压缩和解压是一个绕不开的需求。你可能会想,这有什么难的&#xff1f…

2026/8/6 23:01:13 阅读更多 →
408数据结构实战:从问题到解法的能力矩阵训练法

408数据结构实战:从问题到解法的能力矩阵训练法

408数据结构实战:从问题到解法的能力矩阵训练法 【免费下载链接】cs-408 计算机考研专业课程408相关的复习经验,资源和OneNote笔记 项目地址: https://gitcode.com/GitHub_Trending/cs/cs-408 面对计算机考研408数据结构代码题的挑战,…

2026/8/6 23:01:23 阅读更多 →

最新新闻

远心镜头原理与应用:精密测量的光学解决方案

远心镜头原理与应用:精密测量的光学解决方案

1. 远心镜头基础认知:为什么它如此特别?第一次接触远心镜头是在2015年的一次半导体检测设备改造项目中。当时产线上的传统镜头在测量0.2mm以下的芯片引脚时,总是出现5μm的测量波动,而改用远心镜头后直接降到了1μm以内。这种神奇…

2026/8/6 23:00:51 阅读更多 →
科研经费这么紧,为什么有些实验室每年能省下一台设备的钱?

科研经费这么紧,为什么有些实验室每年能省下一台设备的钱?

实验室经费紧张,是每个课题组负责人都要面对的现实。开源难,节流就成了必修课。但节流不是“买便宜的”,而是“买对的”——在保证质量的前提下,把采购成本和管理成本降到最低。传统采购模式下,钱是怎么“漏”掉的&…

2026/8/6 23:00:51 阅读更多 →
Kimi k3 “deepseek 2.0时刻”

Kimi k3 “deepseek 2.0时刻”

Kimi K3‌是月之暗面公司于‌2026 年 7 月 17 日‌正式发布的新一代 AI 大模型,拥有‌2.8 万亿参数‌和‌100 万 token 上下文窗口‌,是全球参数规模最大的开源模型,已于‌2026 年 7 月 27 日晚‌正式开源模型权重与技术报告。k3的编程能力‌…

2026/8/6 23:00:51 阅读更多 →
解决欧路词典与WD Discovery冲突的DLL兼容性问题

解决欧路词典与WD Discovery冲突的DLL兼容性问题

1. 问题现象与初步诊断最近遇到一个挺有意思的故障案例:用户运行欧路词典时突然弹出"FuncServer_WDC_x86.exe 应用程序错误"的提示框,导致软件无法正常使用。这个错误提示看起来像是某个后台服务进程崩溃了,但实际排查后发现解决方…

2026/8/6 23:00:51 阅读更多 →
5分钟上手alpaca-backtrader-api:从安装到第一个回测策略的快速教程

5分钟上手alpaca-backtrader-api:从安装到第一个回测策略的快速教程

5分钟上手alpaca-backtrader-api:从安装到第一个回测策略的快速教程 【免费下载链接】alpaca-backtrader-api Alpaca Trading API integrated with backtrader 项目地址: https://gitcode.com/gh_mirrors/al/alpaca-backtrader-api alpaca-backtrader-api是…

2026/8/6 23:00:51 阅读更多 →
UIScrollView-Examples实战:10分钟实现完美的委托方法(Delegate)处理

UIScrollView-Examples实战:10分钟实现完美的委托方法(Delegate)处理

UIScrollView-Examples实战:10分钟实现完美的委托方法(Delegate)处理 【免费下载链接】UIScrollView-Examples UIScrollView examples for blog post 项目地址: https://gitcode.com/gh_mirrors/ui/UIScrollView-Examples UIScrollView-Examples是一个专注于…

2026/8/6 22:59:51 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →