您的位置:首页 > 其它

Tesseract-OCR识别中文与训练字库实例

2017-12-25 01:07 239 查看
关于中文识别,效果不错并且开源的应该就是Tesseract-OCR了,在Mac下试用了一下,参考了网络上其他人的一些资源,在这里分享一下。

Quick Start

准备工作

下载Tesseract-OCR引擎,到github下查看安装过程,Tesseract-OCR WebSize

下载chi_sim.traindata字库,没有这个默认不能识别中文。

下载JTessBoxEditor,用来训练字库。

开始识别

进入要识别的目录下,键入命令:

tesseract <picture_file> <output_file_name> -l chi_sim


如果源图是电脑上的生成的,如HTML / PS等在这里效果会不错,但是如果你的源图是拍摄所得,那么效果就不太理想了,因此在这里自己训练字库文件。

训练

将原图转换成tif格式的图片文件,用于后面生成box文件。

tif文件的命名格式 ..exp.tif

eg: fiveplus.normal.exp0.tif

lang: 语言

fontname: 字体(normal即可)

num: 下标

生成box文件

tesseract fiveplus.normal.exp0.jpg fiveplus.normal.exp0 -l chi_sim batch.nochop makebox


box文件与tif需要在相同目录下。

打开JTessBoxEditor纠正错误,并训练

打开tif文件,开始矫正数据,包括x, y, width, height, char

开始训练

tesseract fiveplus.normal.exp0.jpg fiveplus.normal.exp0 nobatch box.train unicharset_extractor fiveplus.normal.exp0.box


新建一个font_properties文件,写入 normal 0 0 0 0 0 表示默认字体。

继续运行:

shapeclustering -F font_properties -U unicharset fiveplus.normal.exp0.tr

mftraining -F font_properties -U unicharset -O unicharset fiveplus.normal.exp0.tr

cntraining fiveplus.normal.exp0.tr


然后我们合并生成的5个文件:

combine_tessdata normal.


得到文件:normal.traineddata

开始测试结果

tesseract <picture_file> <output_file> -l normal


结束

自己训练过后的字库识别效果会好很多,之后就是怎么把多个字库合并成一个字库了,因为不可能一次训练完所有的图片文字的,字库文件是一个叠加过程,在线上环境中我们只需要不停的更新这个字库文件就好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: