因为用的win10,就直说windows上面的安装了。其实就是pip安装就完事了。
$ pip install pytesseract
安装了这个还不算完,得安装Tesseract-OCR,安装这个软件的时候,因为我们需要识别中文,所以还需要额外安装中文语言包:
点击Additional language data(download)
旁边的加号,勾选中文语言包,然后就一路Next了:
最后,你还可以将tesseract.exe加进系统的Path
里面。
pytesseract不仅支持英文,还支持很多其他语言,从上面安装过程中勾选的地方就能看出来,中文,也不例外。
要使用pytesseract,其实很简单:
from PIL import Image
import pytesseract
image = Image.open('pic2.png')
imtext = pytesseract.image_to_string(image,lang='chi_sim')
print(imtext)
看起来是没什么问题的,但是一运行。。。。
C:\ProgramData\Anaconda3\python.exe F:/python/pro/Pic_t/test.py
Traceback (most recent call last):
File "F:/python/pro/Pic_t/test.py", line 5, in <module>
imtext = pytesseract.image_to_string(image,lang='chi_sim')
File "C:\ProgramData\Anaconda3\lib\site-packages\pytesseract\pytesseract.py", line 125, in image_to_string
raise TesseractError(status, errors)
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\chi_sim.traineddata')
Process finished with exit code 1
就报错了,这里看来是中文的语言训练集路径不对,google了一下,有大神说使用config
属性:
from PIL import Image
import pytesseract
image = Image.open('pic2.png')
# 指定路径
tessdata_dir_config = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
imtext = pytesseract.image_to_string(image,lang='chi_sim',config=tessdata_dir_config)
print(imtext)
运行了一下,成功了。。。
另外,lang
这个属性是指定语言的,要是代码里面不给这个参数,默认是英文,也就是eng
。