tesseract ocr训练 pt验证码
识别率有问题A大概率识别为n,因此需要训练,这里讲一下 如何训练
参考
java代码里边直接使用tess4j,是对tesseract的封装,但是如果要训练,还是需要在进行安装tesseract-ocr的
下载地址参考另一篇
然后还需要 下载jTessBoxEditorhttps://sourceforge.net/projects/vietocr/files/jTessBoxEditor/
多搜集几张图片,进行二值化去噪点和裁切处理
双击运行
首先打开图片
全选图片,应该可以自动拼接为一个大的tif,不过我测试发现,有问题,并不能拼
而且,最后一步,生成box的时候,几乎所有的字体都无法识别,还是需要手动添加box
所以还是手动处理一下
然后生成tif文件,命名格式包含语言类型和干吗用的字体就行了,比如我这个是英文字体,pt验证码
4、使用tesseract生成.box文件:
在当前文件夹运行cmd(定位到文件夹,然后在地址栏直接输入cmd,回车即可)
运行命令
tesseract ptyzm.engchar.exp0.tif ptyzm.engchar.exp0 -l eng -psm 7 batch.nochop makebox
行完之后会生成ptyzm.engchar.exp0.box文件。
可以看到生成了box文件
5、使用jTessBoxEditor矫正.box文件的错误:
会自动关联box文件
因为图像分辨率问题,识别效果不是很好
识别错误的,修改之后 点击save
6、生成font_properties文件:(该文件没有后缀名)
(1)执行命令,执行完之后,会在当前目录生成font_properties文件
然后执行命令,0表示字体test的粗体、倾斜等共计5个属性。也可以直接手动创建这个文件
echo engchar 0 0 0 0 0 >font_properties
执行完之后,会在当前目录生成font_properties文件
7、使用tesseract生成.tr训练文件:
执行下面命令,执行完之后,会在当前目录生成ptyzm.engchart.exp0.tr文件。
tesseract ptyzm.engchar.exp0.tif ptyzm.engchar.exp0 nobatch box.train
8、生成字符集文件:
执行下面命令:执行完之后会在当前目录生成一个名为“unicharset”的文件。
unicharset_extractor ptyzm.engchar.exp0.box
9、生成shape文件:
执行下面命令,执行完之后,会生成 shapetable 和engchar.unicharset 两个文件。
shapeclustering -F font_properties -U unicharset -O engchar.unicharset ptyzm.engchar.exp0.tr
。
。
。
生成的文件
10、生成聚字符特征文件:
执行下面命令,会生成 inttemp、pffmtable、shapetable和zwp.unicharset四个文件。
mftraining -F font_properties -U unicharset -O ptyzm.engchar ptyzm.engchar.exp0.tr
11、生成字符正常化特征文件:
执行下面命令,会生成 normproto 文件。
cntraining ptyzm.engchar.exp0.tr
12、文件重命名:
重新命名inttemp、pffmtable、shapetable和normproto这四个文件的名字为[lang].xxx。
这里修改为zwp.inttemp、zwp.pffmtable、zwp.shapetable和zwp.normproto
执行下面命令:
rename normproto engchar.normproto
rename inttemp engchar.inttemp
rename pffmtable engchar.pffmtable
rename shapetable engchar.shapetable
13、合并训练文件:
执行下面命令,会生成zwp.traineddata文件。
combine_tessdata engchar.
生成了训练文件
改个名字,就可以用啦
还是刚才的图片
tesseract ocr训练 pt验证码的更多相关文章
- tesseract ocr文字识别Android实例程序和训练工具全部源代码
tesseract ocr是一个开源的文字识别引擎,Android系统中也可以使用.可以识别50多种语言,通过自己训练识别库的方式,可以大大提高识别的准确率. 为了节省大家的学习时间,现将自己近期的学 ...
- Tesseract——OCR图像识别 入门篇
Tesseract——OCR图像识别 入门篇 最近给了我一个任务,让我研究图像识别,从我们项目的screenshot中识别文字信息,so我开始了学习,与大家分享下. 我看到目前OCR技术有很多,最主要 ...
- Tesseract Ocr引擎
Tesseract Ocr引擎 1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/t ...
- 开源图片文字识别引擎——Tesseract OCR
Tessseract为一款开源.免费的OCR引擎,能够支持中文十分难得.虽然其识别效果不是很理想,但是对于要求不高的中小型项目来说,已经足够用了. 文字识别可应用于许多领域,如阅读.翻译.文献资料的检 ...
- Python下Tesseract Ocr引擎及安装介绍
1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码 ...
- Tesseract OCR使用介绍
#Tesseract OCR使用介绍 ##目录[TOC] ##下载地址及介绍 官网介绍:http://code.google.com/p/tesseract-ocr/wiki/TrainingTess ...
- tesseract 字体训练资料篇
tesseract 字体训练资料篇 1.制作.box档案文件. tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] ...
- Python&selenium&tesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考
在自动化测试或者安全渗透测试中,Captcha验证码的问题经常困扰我们,还好现在OCR和AI逐渐发展起来,在这块解决上越来越支撑到位. 我推荐的几种方式,一种是对于简单的验证码,用开源的一些OCR图片 ...
- 使用Tesseract OCR识别验证码
1.下载Tessrac OCR,默认安装 2.把验证码code.jpg图片放在D盘 3.打开cmd,进入D盘,输入:tesseract code.jpg result 4.进入D盘,生成了resul ...
随机推荐
- ODOO/OPENERP的网页模块QWEB简述
1.web 模块 注意,OpenERP 模块中 web 部分用到的所有文件必须被放置在模块内的 static 文件夹里.这是强制性的,出于安全考虑. 事实上,我们创建的文件夹 CSS,JS 和 XML ...
- Eclipse连接android模拟器
1.打开eclipse 2.打开MuMu模拟器 3.去到MuMu模拟器 adb_server.exe 文件所在目录:(我的:I:\Android\mumu\emulator\nemu\vmonitor ...
- Vue Element 使用 icon 图标 (第三方)
Vue Element 使用 icon 图标 (第三方) element-ui 自带的图标库还是不够全, 还是需要需要引入第三方 icon, 自己在用的时候一直有些问题, 参考了些教程, 详细地记录补 ...
- 19-11-10-Night
关于$Miemeng$,它死了. 大家有没有记得我在暑假里曾经写过一个著名模数? const int Mod=998224353; 现在有续集了(捂脸)(改不过题.jpg) const int Mod ...
- 基于SpringBoot+AntDesign的快速开发平台,JeecgBoot 2.0.2 版本发布
Jeecg-Boot 是一款基于SpringBoot+代码生成器的快速开发平台! 采用前后端分离架构:SpringBoot,Ant-Design-Vue,Mybatis,Shiro,JWT. 强大的代 ...
- 微信开发SDK支持小程序 ,Jeewx-Api 1.3.1 版本发布
JEEWX-API 是一款JAVA版的微信开发SDK,支持微信公众号.小程序.微信企业号.支付宝生活号SDK和微博SDK.你可以基于她 快速的傻瓜化的进行微信开发.支付窗开发和微博开发. 基于jeew ...
- PAT甲级题目1-10(C++)
1001 A+B Format(20分) Calculate a+b and output the sum in standard format -- that is, the digits must ...
- 我学习python没有记住的东西
格式化 # 格式化 a=123 b='ww' print("%d,%s,%%"%(a,b)) # %d,%s,%f,%c,%f 格式化代码:print('{}{}'.format( ...
- 基于baseline和stochastic gradient descent的个性化推荐系统
文章主要介绍的是koren 08年发的论文[1], 2.1 部分内容(其余部分会陆续补充上来). koren论文中用到netflix 数据集, 过于大, 在普通的pc机上运行时间很长很长.考虑到写文 ...
- 在scrapy中将数据保存到mongodb中
利用item pipeline可以实现将数据存入数据库的操作,可以创建一个关于数据库的item pipeline 需要在类属性中定义两个常量 DB_URL:数据库的URL地址 DB_NAME:数据库的 ...