VS2017/VS2015编译tesseract

前提条件

  1. 安装CMake工具并添加到环境变量,且要求最新版本
  2. 安装cppan工具并添加到环境变量,且要求最新版本。下载地址:https://cppan.org/client/
  3. 安装IDE开发环境,要求VS2015或VS2017。
  4. 要求源码目录和下载的cppan依赖库的路径只含英文。
  5. 要求互联网网络通畅。
  6. 要求关闭杀毒软件。

编译步骤

步骤1:

第一次编译时,打开cmd命令行,执行命令:cppan -V

该命令执行后,将在"C:\Users\"目录下生成".cppan"文件夹。修改".cppan"文件夹中的"cppan.yml"文件,将接下来要下载的依赖库指定为其他路径(保存),例如:

步骤2: 

再次在cmd命令行中执行命令:cppan -V,则会在步骤1指定的目录中初始化。

步骤3: 

cmd命令行中执行命令:cppan --self-upgrade

步骤4: 

修改tesseract源码目录中的"cppan.yml"文件,如果使用VS2015编译,修改为:

如果使用VS2017编译,修改为:

步骤5: 

cmd命令行进入tesseract源码目录,执行命令:cppan

步骤6: 

cmd命令行创建并进入"build"目录,执行命令:mkdir build && cd build

步骤7:

cmd命令行生成VS解决方案(按需执行其中一种命令):

VS2015_32位:cmake .. -G "Visual Studio 14 2015"

VS2015_64位:cmake .. -G "Visual Studio 14 2015 Win64"

VS2017_32位:cmake .. -G "Visual Studio 15 2017"

VS2017_64位:cmake .. -G "Visual Studio 15 2017 Win64"

步骤8:

cmd命令行执行命令:"cppan --generate ."(不要少了英文的句号,VS2017可不执行此命令)。

步骤9:

手动打开"build"目录中的sln工程文件,注意VS必须以管理员身份运行,首先尝试编译"cppan-d-b-d"工程:

步骤10:

若步骤9编译失败,则再次右键"cppan-d-b-d"工程,重新"build"一次,若依旧提示以下错误:

逐一将以下文件的编码修改为"UTF-8 with signature"(查找目录就是cppan初始化的目录)

D:\.cppan\storage\src\25\26\5887\glib\gregex.c

D:\.cppan\storage\src\25\26\5887\glib\gkeyfile.c

D:\.cppan\storage\src\25\26\5887\glib\gfileutils.c

D:\.cppan\storage\src\25\26\5887\glib\gconvert.c

D:\.cppan\storage\src\25\26\5887\glib\gbookmarkfile.c

D:\cppan\storage\src\81\8f\8aa5\pango\pango-language-sample-table.h

E:\myprogram\tesseract\source\tesseract-4.0.0\src\ccmain\equationdetect.cpp

如何在VS中修改文件的编码,请看这位仁兄的图文介绍:

https://blog.csdn.net/qq_15647227/article/details/83449248

步骤11:

修改完步骤10中文件的编码后,再次编译"cppan-d-b-d"工程即可编译成功。

步骤12:

最后,重新编译"INSTALL"工程:

步骤13:

编译成功后,即可在C盘的如下目录中生成相应的dll和lib文件,以及需要的头文件:

应用程序调用

应用程序调用tesseract时,仅仅使用tesseract的头文件是不够的,还需包含其他头文件,其实就是cppan下载的依赖头文件。

头文件

首先,在cppan目录中查找"allheaders.h"文件,把如下目录中的所有头文件(.h)全部拷贝出来,并把拷贝出来所有头文件存入"leptonica"目录(新建的)中,如下图所示:

然后,再查找"endianness.h "文件,并把该头文件也放入上一步的"leptonica"目录中。如下图所示:

最后整理为两个目录:

lib引入库

应用程序需要链接两个lib库(注意Debug和Release模式下的lib不要混合调用):

  1. tesseract40.lib
  2. pvt.cppan.demo.danbloomberg.leptonica-1.76.0.lib

dll

应用程序运行时,需要链接dll(注意Debug和Release模式下的dll不要混合调用):

  1. pvt.cppan.demo.danbloomberg.leptonica-1.76.0.dll
  2. pvt.cppan.demo.jpeg-9.2.0.dll
  3. pvt.cppan.demo.madler.zlib-1.2.11.dll
  4. pvt.cppan.demo.openjpeg.openjp2-2.3.0.dll
  5. pvt.cppan.demo.png-1.6.35.dll
  6. pvt.cppan.demo.tiff-4.0.9.dll
  7. pvt.cppan.demo.webp-0.6.1.dll
  8. pvt.cppan.demo.xz_utils.lzma-5.2.4.dll
  9. tesseract40.dll

其他

应用程序使用tesseract时,还要根据需要,下载相应的字库,才能识别出图片中相应的字符:

  1. 简体中文:chi_sim.traineddata
  2. 英文:eng.traineddata

字库下载地址:https://github.com/tesseract-ocr/tessdata 

注意事项

  1. 32位和64位应分别编译,且cppan下载的依赖库也需要分别下载。
  2. 关闭杀毒软件。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值