【Tesseract-OCR】玩转OCR中文识别
来源:互联网 发布:营养师配餐软件 编辑:程序博客网 时间:2024/05/21 19:40
一、准备工作:
1、下载Tesseract-OCR引擎,注意要3.0以上才支持中文哦,按照提示安装就行。
2、下载chi_sim.traindata字库。要有这个才能识别中文。下好后,放到Tesseract-OCR项目的tessdata文件夹里面。
https://github.com/tesseract-ocr/tessdata
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files
3、下载jTessBoxEditor,这个是用来训练字库的,下好后,放到Tesseract-OCR项目下面。
以上的几个在百度都能找到下载,就不详细讲了。
二、识别
1、进入cmd,进入到要识别的图片的路径下。
2、输入命令
tesseract 图片名称 生成的结果文件的名称 字库
例如我的图片识别就是:
tesseract test.jpg result -l chi_sim
三、训练数据
1、将图片转换成tif格式,用于后面生成box文件。可以通过画图,然后另存为tif即可。
更改图片名字,这个是有要求的=。=
tif文面命名格式[lang].[fontname].exp[num].tif
lang是语言 fontname是字体
比如我们要训练自定义字库 mjorcen字体名normal
那么我们把图片文件重命名 mjorcen.normal.exp0.jpg在转tif。
2、生成box文件。
tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l chi_sim batch.nochop makebox
box文件和对应的tif一定要在相同的目录下,不然后面打不开。
3、打开jTessBoxEditor矫正错误并训练
打开train.bat
找到tif图,打开,并校正。
4、训练。
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 表示默认普通字体
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.
得到训练好的字库。
五、测试
1、把 normal.traineddata 复制到Tesseract-OCR 安装目录下的tessdata文件夹中
2、识别命令:
tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l normal
识别成功,效果:
3、pycharm 程序实现
#-*-coding:utf-8-*-import sysreload(sys)sys.setdefaultencoding('utf-8')import timetime1 = time.time()import pytesseractfrom PIL import Imageimg1 = Image.open(r'E:/mjorcen.normal.exp0.jpg')code = pytesseract.image_to_string(img1,lang="normal")print(code)time2 = time.time()print u'总共耗时:' + str(time2 - time1) + 's'
- 【Tesseract-OCR】玩转OCR中文识别
- tesseract-ocr 识别中文扫描图片
- Java中文图像识别tesseract-ocr || tif
- OCR tesseract中文无法识别问题
- tesseract-ocr识别中文与字库训练
- tesseract-ocr识别字符
- tesseract-ocr图片识别
- Tesseract OCR识别小结
- Tesseract ocr文字识别
- Tesseract-OCR 训练中文
- Tesseract-OCR 字符识别---样本训练 [转]
- Tesseract-OCR 字符识别---样本训练 [转]
- Tesseract-OCR 字符识别---样本训练 [转]
- OCR识别引擎tesseract使用方法
- OCR识别引擎tesseract使用方法
- OCR识别引擎tesseract使用方法
- OCR识别引擎tesseract使用方法
- Tesseract-OCR 字符识别技术
- wait_event_interruptible 使用方法
- GSON处理JSON数据中大的Long型的数据说明
- C#进程基础
- 深入JVM内核-原理、诊断与优化
- SpringSession使用redis存储HttpSession(共享session)
- 【Tesseract-OCR】玩转OCR中文识别
- Java面向对象基础
- JetBrains激活-相关软件的激活的问题- Intellij IDEA 注册激活
- mybatis模糊查询
- HDU4251 The Famous ICPC Team Again(划分树裸)
- 使用VIVADO HLS工具封装ORB算法
- AngularJS自定义指令之transclude解析与实例演示
- java向MySQL插入当前时间
- 集合类接口的常用方法