tesseract-ocr 识别图片中的数字

时间:2021-10-20 08:10:37

环境 windows

需要的软件

tesseract-ocr 识别图片中的数字

装了一定软件以后就可以用cmd命令 解析图片了 不过不是很准 第二个软件是用来训练第一个软件的

tesseract-ocr 识别图片中的数字

准备一张验证码试试

打开命令行试试

tesseract-ocr 识别图片中的数字

tesseract-ocr 识别图片中的数字

还行

换一个

tesseract-ocr 识别图片中的数字

不行了

tesseract-ocr 识别图片中的数字

用第二个软件训练一下看看效果

第一步双击train.bat

tesseract-ocr 识别图片中的数字

第二步 生产tif文件

ctrl+m 选择图片 要jpeg格式的可以多个图片生成一个tif文件也可以一个图片生成一个 随意

tesseract-ocr 识别图片中的数字

起个名字保存

tesseract-ocr 识别图片中的数字

tesseract-ocr 识别图片中的数字

第三步生成.box文件 先进入 test2.tif文件所在位置 输入命令 tesseract test2.tif test2 batch.nochop makebox

tesseract-ocr 识别图片中的数字

修改box文件

tesseract-ocr 识别图片中的数字

接下来命令照着打就行了从别人那里粘过来一段

生成字符特征文件。在cmd中键入:tesseract test2.tif test2 nobatch box.train,这一步将生成两个文件,test.tr(特征文件)和test.txt。

5.计算字符集(unicharset)。在cmd中键入:unicharset_extractor test2.box,这一步产生字符集文件unicharset

6.聚集字符特征(inttemp、pffmtable、normproto)。命令:mftraining -F font_properties -U unicharset test.tr,其中font_properties需要自己创建,文件内容:<fontname><italic><bold><fixed><serif><fraktur>。

where<fontname>is a string naming the font (no spacesallowed!), and<italic>,<bold>, <fixed>, <serif> and <fraktur>are all simple 0 or 1 flags indicating whetherthe font has the named property。

这是我的font_properties内容:test2 0 0 0 0 0,大概意思为普通标准字体。这块注意test2要与tif和box文件名一致 上面那段英文就是这5个0的含义大概就是什么字体是不是斜体、粗体什么的

根据上一步产生的字符集文件unicharset,来生成当前新语言的字符集文件mfunicharset。同时还会产生图形原型文件inttemp和每个字符所对应的字符特征数文件pffmtable。附带还会产生Microfeat文件,但是这个文件没啥用。

接下来使用命令cntraining test.tr,这一步产生字符形状正常化特征文件normproto。 到这里基本上所需的文件都形成了,下面就开始生成字典文件。

7.合并训练文件(*.traineddata)。此时在目录下应该生成若干个文件了,把unicharset,inttemp,normproto,pffmtable这四个文件加上前缀”test2font.“然后使用命令:combine_tessdata testfont2.将其合并成一个字典文件

最后把生成的test2font.traineddata放到D:\Tesseract-OCR\tessdata文件夹下然后用训练过的字库在识别下

命令 tesseract 12.jpeg 12n -l test2font

tesseract-ocr 识别图片中的数字

tesseract-ocr 识别图片中的数字

还行