tesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract。因此,在安装tesseroct之前,我们必须安装tesseract。
- tesseract安装
win10,首先下载tesseract软件(https://digi.bib.uni-mannheim.de/tesseract/),打开网站如下图
其中文件中带有dev的为开发版本,不带dev的为稳定版本,可以选择不带dev版本的,例如我下载的是tesseract-ocr-setup-3.05.02-20180621.exe。
下载完成后双击安装,一路点击NEXT,注意下边图形勾选就行了
安装时间比较长,耐心等待。安装好了之后,需要将其路径加入两个环境变量,一个是path,一个是TESSDATA_PREFIX。如下图
然后cmd打开命令行,输入
>>>tesseract -v
这样就完成tesseract安装了。
- tesserocr安装
自己安装了Anaconda3-5.3.0,可以直接用pip安装,但是用pip3 install tesserocr时,出现以下如下图情况。
当我按照要求去官网下载了VC++14.0后,然后又输入pip3 install tesserocr,又出现同样错误。然后去tesserocr官网(https://github.com/simonflueckiger/tesserocr-windows_build/releases)根据自己的系统下载了tesserocr-2.2.2-cp36-cp36m-win_amd64.whl(目前官网还没有py37的tesserocr的whl,只更新到py36)并将其存在了用户的文件目录下,如下图所示。(有下载过4.0.0的,没有成功,之后就下载了3.5.1的)
再次输入pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl(install后面是tesserocr安装路径,cp表示py是3.6的,win_amd64表示64位),发现还是不对,因为自己的Anaconda3-5.3.0的python版本是3.7的,于是又采取的py降级降到3.6。代码如下所示
>>>conda update conda /*等待完成更新,然后输入以下命令*/
>>>conda creat -n py36 python=3.6 anaconda /*等待更新完*/
>>>Proceed ([y]/n)? /*如果降级遇到这个情况,后面输入y表示覆盖之前py版本,n表示不覆盖*/
>>>activate py36 /*安装好之后,如若使用py36,激活py36就行,如下所示*/
C:\Users\斌玲>activate py36
(py36) C:\Users\斌玲> /*出现上述两行就表示降级完成了*/
然后命令行输入pip install C:\Users\斌玲\tesserocr-2.2.2-cp36-cp36m-win_amd64.whl,安装成功了,如下图(其间,自己对pip进行了一次升级,代码:python -m pip install --upgrade pip )
中间如果不成功的话,报错 tesserocr-2.2.2-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform的话,可以尝试在python里输入:
然后根据要求其上文件名改就是了。
- 图片文字识别
1.tesserocr测试
文字png下载网站:https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png(注意,用Python代码实现的文字识别需要将该图片存到用户目录下,不然会出现路径错误),python代码如下(鉴于tesserocr是在py36下装的,所以得在Anaconda Prompt下激活py36完成此任务)
2.tesserart测试
输入tesseract image.png result result -l eng && type result.txt,结果如第一张图(调用了tesseract命令,其中第一个参数image.png为图片名称,第二个result为结果保存的目标文件,-l指定使用的语言包,在此使用eng,最后,用type命令将结果输出,linux用cat将结果输出,还有,如果想看自己下载的tesseract包含哪几种语言的话,可以用代码如第二张图片)