最前面
如果你只是想用Python写代码并调用tesserocr,那么你只要做本文的最后一节最后一段的内容就行了。
其他的都不用做!我一开始没搞明白它们的几个的关系,看到什么就装什么,遇到问题就想办法解决,装完回头一看其实装一个就行了。
当然,我的环境都是我自己配的,都是轻量级的,没有用VS之类的大型IDE,所以可能装起这些东西比较麻烦。
安装leptonica
这个推荐使用源码自己编译,源码的地址是https://github.com/danbloomberg/leptonica。当然编译的时候会用到CMake, 当然都要选择自己系统对应的包,像我是64位的系统,要尽量找64位的包,实在找不到再用32位的。
下载下来后,进入命令行执行:
mkdir build
cd build
cmake ..
安装tesseract
直接pip install 即可
安装tesserocr
tesserocr有两种,一个是windows下的安装包,装完之后你可以在Windows命令行下进行图像识别;另一个是给python用的。它们两个应该是独立的,但是我一开始不知道,就装了两个。
如果要在windows下为Python安装tesserocr,你需要前往tesserocr-windows_build下载需要的whl文件。之后再命令行里执行pip install XXX.whl
即可。
我装完这个后,发现Python的代码在命令行下执行没问题,在Sublime Text3 里则会报错:
Traceback (most recent call last):
File "D:\OneDrive\Documents\Python和数据挖掘\code\captcha\captcha1.py", line 15, in <module>
print (tesserocr.image_to_text(p1))
File "tesserocr.pyx", line 2401, in tesserocr._tesserocr.image_to_text
RuntimeError: Failed to init API, possibly an invalid tessdata path: <一个路径>
这个莫名其妙的路径,根本不存在,导致我想把tessdata拷贝进去都不知道拷贝到那。我找了好久也没找到相关的配置项。最后发现是因为我没有重启sublime!!!。