Tesseract 3.04 + VS2013 配置心得(包含静态库版本和Release版本)

来源:互联网 发布:淘宝网信用卡支付 编辑:程序博客网 时间:2024/06/06 08:57

研究Tesseract也有几个星期了 走了一些弯路 网上有很多VS2010的配置心得 但没有VS2013的, 找到一篇之后, 又发现会有一些小问题, 这里记录下来, 也为新人提供一些帮助.


Tesseract官网:https://code.google.com/p/tesseract-ocr/


还是先说下Tesseract库的依赖架构:


有了这个库的依赖关系, 就可以说下自己配置VS2013版本的目的了:

a. 由于网上现有的都是现编译好的GIF, JPEG,PNG,TIFF,ZLIB库的DLL_DEBUG版本的Binaries.  操作起来很不方便, 若自己想用LibTesseract和Leptonica Lib生成一个DLL给exe调用, 由于底层是动态链接库, 则必须带上LibTesseract.lib, LibTesseract.dll, LibLeptonica.lib, LibLeptonica.dll, 显得累赘.所以将底层编译成静态库, 是我的目标. 还有一个理由就是Release版本的编译, 也需要源码.

b. 由于找不到(或者不太好找)这些库VS2010版本的工程, 想自己编译这些库的源代码,编译成想用的静态库版本则很麻烦.

当我在寻找这个解决方案的时候, 无意发现下面这个方法自带了这些图像库的编译工程,而且还是VS2013版本的, 省了很多事


配置VS2013的具体方法, 请参考:http://vorba.ch/2014/tesseract-3.03-vs2013.html


注意事项:
1) 安装好 SlickSVN 后, cmd下并不能直接调用:
"git clone git://github.com/pvorb/tesseract-vs2013.git"
需要你在git命令行下调用, 所以你记得装下git


2)调用"msbuild build.proj"的时候, 可能会出现错误(不一定), 暂时解决方法是:

 changed all "l_int32" to "int" in "liblept\src\boxfunc1.c"&"liblept\src\utils.c"


3)Build Tesseract的时候, 在cmd下输入

"svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr"
会出错,原因是被GFW墙了, 所以记得翻墙(VPN)


4)调用Tesseract库(libtesseract304.dll)的时候会出现错误, 需要使用"strcpy"类函数的安全函数"strcpy_s", 

修改"Project Property - Configuration Property - C/C++ - General - SDL checks" 为"NO(/sdl-)"即可


5)调用"libtesseract304.dll"的时候所需的"Tesseract"头文件跟v2008相比, 没有最新的.py文件帮忙copy了, 

有2个方法:
第一种: 土办法, 一个一个找吧, 看"tesseract.exe"所依赖的头文件即可, 一个一个手动添加吧, 也没多少
第二种: "Tesseract-Build/tesseract-ocr/vs2008/doc/maintenance.html"下
有个"Updating the VS2008 directory for new releases of Tesseract-OCR"的方法
重新写个.py也不错.


6)调用Tesseract库的时候你若想自动匹配Leptonica和Tesseract库的版本号, 则记得添加".prop"配置到工程,

位置在:"Tesseract-Build\tesseract-ocr\vs2010\include"

这样, 你只需要在link里, 指定"liblept$(LIBLEPT_VERSION)d.lib"和"libtesseract$(LIBTESS_VERSION)d.lib"就行了.


Tesseract OCR 讨论群 389402579  

3 0
原创粉丝点击