1、安装 pyocr , pip install pyocr
2、安装pil, pip install PIL
3、安装 tesseract-ocr http://jaist.dl.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe ,下载后直接默认安装
4、下载chi_sim.traindata字库。要有这个才能识别中文。下好后,放到Tesseract-OCR项目的tessdata文件夹里面 https://codeload.github.com/tesseract-ocr/tessdata/zip/master
下载jTessBoxEditor,这个是用来训练字库的,中文识别不太理想,进行文字训练后,效果会更好
#coding=utf8
from pyocr import pyocr
from PIL import Image
tools = pyocr.get_available_tools()[:]
a=tools[0].image_to_string(Image.open('E:\\11111\\1.jpg'),lang='chi_sim') #图片里的文字是"密码错误"
print a
识别的结果是 "舫码锺误",识别效果不太理想,接下来我们来对她进行文字训练
将1.jpg名字修改为mjorcen.normal.exp0.jpg 名字由自己而定
讲mjorcen.normal.exp0.jpg转换位tig格式,注意不能只修改后缀名来转换,否则jTessBoxEditor打不开此文件
进入cmd,输入tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l chi_sim batch.nochop makebox生成box文件
打开train.bat,open mjorcen.normal.exp0.tif,矫正文字后,记得保存,保存后box文件就记录了矫正后的文字了
输入 tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 nobatch box.train
unicharset_extractor mjorcen.normal.exp0.box 开始训练
font_properties文件 内容写入 normal 0 0 0 0 0 ,命令输入 echo normal 0 0 0 0 0 > normal_properties
运行 shapeclustering -F font_properties -U unicharset mjorcen.normal.exp0.tr
mftraining -F font_properties -U unicharset -O unicharset mjorcen.normal.exp0.tr
cntraining mjorcen.normal.exp0.tr
生成对应文件,最后会生成五个文件,把目录下的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都加上normal.
输入命令 combine_tessdata normal. 合并文件 生成normal.traineddata文件,将它复制到Tesseract-OCR项目的tessdata文件夹里
运行程序
#coding=utf8
from pyocr import pyocr
from PIL import Image
tools = pyocr.get_available_tools()[:]
a=tools[0].image_to_string(Image.open('E:\\11111\\1.jpg'),lang='normal') #图片里的文字是"密码错误"
print a
lang选择训练后的语言normal
运行后成功识别为 "密码错误"