竹笋

首页 » 问答 » 常识 » tesseractOCR字库练习
TUhjnbcbe - 2024/6/4 20:00:00
北京治疗白癜风的权威医院 http://www.jk100f.com/baidianfengzixun/jichuzhishi/zhuyishixiang/m/10424.html

第一步:安装需要用到的安装包

jdk-8u-windows-x64tesseract-ocr-setup-3.05.01jTessBoxEditor-1.7.3简体中文chi_sim注意tesseract需要编译器(安装包没提供)SupportedCompilersare:

GCC4.8andaboveClang3.4andaboveMSVC,

安装略…

第二步:tesseract-OCR初认识

-llang

使用的语言。如果没有指定,则采用英文。可以指定多种语言,由加号字符分隔。Tesseract使用3个字符的ISO-2语言代码。(请参阅语言)

–psmN将Tesseract设置为只运行布局分析的一个子集并假定某种形式的图像。N的选项是:

0=只有方向和脚本检测(OSD)。1=使用OSD自动分页。2=自动分页,但没有OSD或OCR。3=全自动页面分割,但没有OSD。(默认)4=假设一列可变大小的文本。5=假设一个统一的垂直排列文本块。6=假设一个统一的文本块。7=将图像作为单个文本行处理。8=将图像视为一个单词。9=将图像视为一个圆圈中的单个单词。10=将图像视为单个字符。

基本的命令行用法:

tesseractimagenameoutputbase[-llang][--oemocrenginemode][--psmpagesegmode][configfiles...]

第三步:jTessBoxEditor训练字库

之前玩冲顶大会的时候用过tesseract-OCR识别中文,可惜准确率很不理想,如下图:

使用tesseract-OCR识别会得到

tesseractquestion.jpgresult-lchi_sim--psm6

result.txt

8.手木几生产商诺墓亚最子刀是L又生产{十么为主?

发现错了好多,机、基、初、以都没有识别出来,有的还识别成两个字。这个时候就需要我们来训练中文字库。

准备好要识别的图片question.jpg

第一步:1、将图片转换成tif格式,用于后面生成box文件。可以通过画图,然后另存为tif即可。tif文面命名格式是有要求的:

lang语言名(这可自定义,不要与现有的相同eng、chi_sim等)fontname字体(就是字体名字,比如normal、italic、bold)num序号

把question.jpg用自带的画图另存为hojun.normal.exp0.jpg和hojun.normal.exp0.tif(注意,重命名改后缀不行),放在E:\TessBox\下

接着打开cmd进入到该文件下,输入以下命令:

[lang].[fontname].exp[num].tif

会得到hojun.normal.exp0.box文件,右键使用记事本打开效果如下图

打开jTessBoxEditor目录,双击train.bat打开(可能要等待5-6秒,耐心等待程序响应)

打开软件后点击BoxEditor-Open-选择对应的tif文件打开

得到如下效果

如果右边字体没有框框,左边没有内容是因为java8没安装好,或者安装了两个java版本,使用的是其他java版本可以在控制台输入

E:java-versionjavaversion1.8.0_Java(TM)SERuntimeEnvironment(build1.8.0_-b13)JavaHotSpot(TM)64-BitServerVM(build25.-b13,mixedmode)

来查看java版本。如果使用其他版本的,一般在环境变量Path里面把java8的路径写在最前面就行。接下来就是调整了。删删改改如下:

然后点击save保存即可。接着在E:\TessBox\下新建一个font_properties文件,注意没有后缀里面内容写入normal表示默认普通字体再接着新建一个txt文件,里面内容写入

echoRunTesseractforTraining..tesseract.exehojun.normal.exp0.tifhojun.normal.exp0nobatchbox.trainechoComputetheCharacterSet..unicharset_extractor.exehojun.normal.exp0.boxshapeclustering-Ffont_properties-Uunicharsethojun.normal.exp0.trmftraining-Ffont_properties-Uunicharset-Ounicharsethojun.normal.exp0.trechoClustering..cntraining.exehojun.normal.exp0.trechoRenameFiles..renamenormprotohojun.normprotorenameinttemphojun.inttemprenamepffmtablehojun.pffmtablerenameshapetablehojun.shapetableechoCreateTessdata..

1
查看完整版本: tesseractOCR字库练习