最近在学tesseract,但遇到太多的问题是。
虽然网上有不少的方法,就算是按照tersseract,github上提供的方法也是编译不成功。
问题一大堆。不过我也想到了其它方法最张还是可以用了。
我有2个方法,
方法1,
1,先build tesseract win64, 但没有LSTM,build的过程跟tesseract官方给的方法是一模一样的。build完之后,成功debuge与release,之后就有了tesseract的lib与include。这样就可以用了。
2,把tesseract的添加到Path环境变量,还有增加系统变量TESSSADA_PREFIX,路径是你的tesseract安装路径(就是tessseract.exe的路径)
3,把这些设置好了,你在cmd下就可以用tesseract。
4,就是用VS2017,新建一个工程,名称最好全部是英文的
5,建好后,打开属性管理器,debug X64 下鼠标右键添加新项目属性表,自己命名,我的叫TesseractWindowsSetup,然后保存。
6,右点TesseractWindowsSetup(你的属性名字),属性, VC++目录,就是下面这张图片。
包含目录就上build的目录下的都要include,具体请看下面的图片。
包含的目录
库目录
接下来是链接器
链接器–>附加依赖项,把lib里的tesseract50d.lib, 还有leptonica的lib也要增加进来(不增加的话,会报错,是有pixDestroy,pixCreate等无法解析),弄完这步,就可以用了。
实际上完debug是没有问题的,但执行还是会有错误. 我的错误 是,cmd下可以识别,这里不知道为什么会报这样的错误
解决上面的方法是:可能是TESSDATA_PREFIX没有设置好。我发现我的已经设置好,不然cmd下也不可以。我的解决方法 ,就是把tessdata拷贝放到Debug的目录下。就可以的。但是最终的识别结果真是糟糕。
不过我已经有心理准备了,这也是我为什么要学tesseract的目的。我就是想要把识别结果提高。
注意!!!
2020-03-06 已经找到了上面是由于TESSDATA_PREFIX打错了。更改好,不再需要把tessdata拷贝到Debug的目录下也可以运行了。
如果你出现这个错误,请检查一下TESSDATA_PREFIX有没有打错,还有路径有没有错误
方法2,
1,直接在tesseract 提供的下载windows的安装程序,直接安装。
2,然后把之前build的没有LSTM的lib和include都拷贝到安装目录下
然后就参加方法1的步骤2到步骤5,同样也是可以调用的。
这是自己的学习笔记,以为下次忘记怎么弄了。先记下来。有需要的可以拿去。
下面的连接是我build的 tesseract,可以用的。可以下载
链接:https://pan.baidu.com/s/14S-jy3cqQGXAWuq4lEhkSA
提取码:u3v1
参加:
https://github.com/tesseract-ocr
https://tesseract-ocr.github.io/tessdoc/APIExample