研究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版本号的project, 想自己编译这些库的源码,编译成想用的静态库版本号则非常麻烦.
当我在寻找这个解决方式的时候, 无意发现以下这种方法自带了这些图像库的编译project,并且还是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墙了, 所以记得FQ(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"配置到project,
位置在:"Tesseract-Build\tesseract-ocr\vs2010\include"
这样, 你仅仅须要在link里, 指定"liblept$(LIBLEPT_VERSION)d.lib"和"libtesseract$(LIBTESS_VERSION)d.lib"即可了.
Tesseract OCR 讨论群 389402579