尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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;}完成。
RELATED

相关推荐

LLMOps 这词,我一个做运维的琢磨了两个月

LLMOps 这词,我一个做运维的琢磨了两个月

我们团队去年接了个新摊子:把公司内部的几个对话模型对外提供服务。领导在会上提了一嘴"这叫 LLMOps",我当时心里咯噔一下——又来新词,是不是又要我加班学一套没听说过的东西?会后我还偷偷搜了下,出来的文章…

📅 2026/8/22 18:34:08
ExifToolGUI终极指南:三分钟掌握专业级元数据批量编辑

ExifToolGUI终极指南:三分钟掌握专业级元数据批量编辑

ExifToolGUI终极指南:三分钟掌握专业级元数据批量编辑 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 还在为海量照片的元数据管理而烦恼吗?ExifToolGUI这个免费工具能让您在几分钟内…

📅 2026/8/22 18:34:08
英雄联盟智能助手Seraphine:让数据成为你的最强队友

英雄联盟智能助手Seraphine:让数据成为你的最强队友

英雄联盟智能助手Seraphine:让数据成为你的最强队友 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的智能助手工具,能够自动查询队友和对…

📅 2026/8/22 18:34:10
MORE NEWS

更多资讯

📰

210km长续航DM-i上市,8.98万起,比亚迪重新定义插混标准

1. 先聊两句:这次比亚迪为什么选在开年就出牌开年第一波新能源市场就被比亚迪一记“王炸”砸懵了。四款210KM长续航DM-i车型集中上市,起步价干到8.98万,这个组合放在两年前想都不敢想。关注DM-i混动技术的朋友应该知道,比亚迪前几…

📰

Atlas 300V 24G NPU推理卡部署YOLOv5全流程实战指南

1. 从“atlas”说起:一张常被误读的AI推理卡如果你最近在搞边缘计算或服务器端AI推理,大概率会在采购清单或厂商报价单上看到“Atlas 300V 24G”这个名字。做我们这一行的,第一反应通常是:这玩意儿是不是对标某款NVIDIA显卡&#…

📰

Atlas 300V 24G跑YOLO全流程:从驱动安装到推理调优的实战记录

先说个现象:最近只要搜“YOLO部署”,十个结果里有八个会蹦出“atlas”这个关键词。再点进去一看,十篇帖子有八篇都在说同一块卡——Atlas 300V 24G。我最初接触这块卡的时候,跟很多人的疑问一模一样:它到底是不是运算加…

📰

CTF流量分析实战:USB键盘鼠标流量报告还原指南

大约五六年前我第一次在CTF赛题里见到 usb.pcap 这个文件时,整个人是懵的。题目描述写得很文艺——"有人用键盘敲了一封信。但捕获文件出了点问题:数据包的存储",打开Wireshark之后满屏都是 interrupt in 包,一排排字节看得我头皮发…

📰

AI Agent安全访问数据库:三类方案与三层权限模型实战解析

最近一个多月,我一直在折腾一件事:让团队里几个 AI Agent 能安全地读写数据库。折腾完最大的感受是——给 Agent 接数据库能力,技术难度真不高,安全设计才是真正让人头秃的部分。市面上聊 AI Agent 的文章已经很多了,但…

📰

风险情报驱动的数字供应链安全治理:从SBOM到运行时防护

过去这两年,做应用安全的人应该都有一个共同感受:漏洞已经不只是“修不修”的问题,而是根本来不及修。Log4j2漏洞爆出来的时候,很多企业连夜排查,最后发现内网躺着几百条调用链;XZ-utils后门事件又给整个行…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬