想要在VS中使用Tesseract库,必须使用经过相对应的VS版本编译过的dll以及lib。比如在VS 2013中,就必须使用在VS 2013中编译过的Tesseract库。
这里我给出经过VS 2013编译的Tesseract库,
下载地址:
http://pan.baidu.com/s/1o7JqXmU
解压后内容如下图,
有了Tesseract库之后,我们便在VS 2013中配置环境以及包含库了。
引入头文件
在“解决方案管理器”窗口–>右键“photo”工程–>“属性(R)”–>“配置属性”–>“C/C++”–>“常规”–>“附加包含目录”: 在“photo”工程中所有“活动解决方案平台”的所有“活动解决方案配置”中都添加如下内容:
C:\tesseract-ocr\include
C:\tesseract-ocr\include\leptonica
C:\tesseract-ocr\include\tesseract
如下图所示:
引入库文件
- 添加属性表
首先将“C:\tesseract-ocr\include”目录拷贝到本地工程“photo”所在目录。即“photo\photo”目录下;
然后进行以下设置:
在“解决方案管理器”所在区域,切换到“属性管理器”窗口;
右键“photo”工程–>“添加现有属性表(E)…”–>在“photo\photo\include”目录下找到“tesseract_versionnumbers.props”–>“打开”;
如图: - 配置库文件
在“解决方案管理器”窗口–>右键“photo”工程–>“属性(R)”–>“配置属性”–>“连接器”–>“常规”–>“附加库目录”: 在“photo”工程中所有“活动解决方案平台”的所有“活动解决方案配置”中都添加如下内容:
C:\tesseract-ocr\Lib
添加预定义:
在“解决方案管理器”窗口–>右键“photo”工程–>“属性(R)”–>“配置属性”–>“C/C++”–>“预处理器”–>“预处理器定义”–>按“活动解决方案配置”类型“添加”如下列表中的“预定义”内容:
WIN32
_WINDOWS
NDEBUG
USE_STD_NAMESPACE
如下图:
添加附加库
在“解决方案管理器”窗口–>右键“photo”工程–>“属性(R)”–>“配置属性”–>“连接器”–>“输入”–>“附加依赖项”–>按“活动解决方案配置”类型“添加”如下列表中的“附加库”内容:
ws2_32.lib
user32.lib
jpeg.lib
liblept168.lib
libpng.lib
libtesseract302.lib
libtiff.lib
zlib128-static-mtdll.lib
zlibstat.lib
如下图:
至此,Tesseract API在VS2013 工程中就已经配置完了,然后就可以进行测试了。
以下列出几个主要包含的库以及必用的代码:
#include <leptonica\allheaders.h>
#include <tesseract\baseapi.h>
tesseract::TessBaseAPI api;
api.Init(NULL, "eng", tesseract::OEM_DEFAULT); //初始化,设置语言包
需要注意的是,一定要把语言包放到程序执行的根目录下的tessdata目录里,我用的是Release解决配置,所以要放到”photo/Release/tessdata”下,而不是”photo/photo/Release/tessdata”下。
还有一点就是一定要把这个libtesseract302.dll放到执行程序的根目录下,”photo/Release”。