我是靠谱客的博主 光亮雪糕,这篇文章主要介绍OCR训练中文样本库和识别,现在分享给大家,希望可以做个参考。

简述

光学字符识别(英语:Optical Character Recognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。关于中文的识别最好的开源库应该就是Tesseract OCR了。本文则重点介绍训练出一份自己需要的样本库并识别(本文默认你已经会直接导入官方训练库识别)

准备工作

1)安装tesseract ocr引擎

以Mac为例,直接选择homebrew命令安装 brew install --with-training-tools tesseract

2)下载chi_sim.traindata(中文识别库,直接放在tesseract安装目录的tessdata目录下,例如/usr/local/Cellar/tesseract/4.0.0/share/tessdata))

3)下载jTessBoxEditor2.2.0

训练步骤

1)把样本图片或者文字转换成tif格式(图片转tif 可以直接网上搜)这里讲文字转tif

双击解压后的jTessBoxEditor.jar文件,选择工具栏TIFF/Box Generator,把需要转换的文字直接拷贝到下面空白处

Output为tif文件输出目录,其他基本无需修改,然后点击Generate稍等片刻即可生成生成tif文件。

2)生成box文件

把第二步生成的tif文件改名 sll.normal.exp0.tif ,官网的写法~ 然后进入tif文件目录下执行命令

tesseract sll.normal.exp0.tif sll.normal.exp0 -l chi_sim batch.nochop makebox1

3)选择工具栏Box Editor,点击Open导入第一步生成的tif文件(会自动绑定第二步生成的box文件)

点击文字之后可以修改识别区域宽高,x,y坐标等,修改完成点击save保存

4)执行脚本

Mac执行 sh 脚本文件名.sh,然后回车依次输入sll(语言)normal(字体)

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
!/bin/sh read -p "输入你语言:" lang echo {lang} read -p "输入你的字体:" font echo {font} echo "所以完整文件名为:" echo {lang}.{font}.exp0.tif echo "开始。。。" echo {font} 0 0 0 0 0 >font_properties tesseract {lang}.{font}.exp0.tif {lang}.{font}.exp0 nobatch box.train unicharset_extractor {lang}.{font}.exp0.box shapeclustering -F font_properties -U unicharset {lang}.{font}.exp0.tr mftraining -F font_properties -U unicharset -O unicharset {lang}.{font}.exp0.tr cntraining {lang}.{font}.exp0.tr echo "开始重命名文件" mv inttemp {font}.inttemp mv normproto {font}.normproto mv pffmtable {font}.pffmtable mv shapetable {font}.shapetable mv unicharset {font}.unicharset echo "生成最终文件" combine_tessdata ${font}. echo "完成" 复制代码

运行成功之后就会生成.traineddata文件,这个文件即只能识别我们训练的“识别”俩字,所以说在大小,识别速度上会大大优于官网的中文包,当然本文只是例子,实践项目中不可能只是“识别”两个字那么简单,比如中文简体3500字,那在修改box文件的时候确实是需要花费很久的时间的

最后

以上就是光亮雪糕最近收集整理的关于OCR训练中文样本库和识别的全部内容,更多相关OCR训练中文样本库和识别内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部