识别率有问题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验证码的更多相关文章

  1. tesseract ocr文字识别Android实例程序和训练工具全部源代码

    tesseract ocr是一个开源的文字识别引擎,Android系统中也可以使用.可以识别50多种语言,通过自己训练识别库的方式,可以大大提高识别的准确率. 为了节省大家的学习时间,现将自己近期的学 ...

  2. Tesseract——OCR图像识别 入门篇

    Tesseract——OCR图像识别 入门篇 最近给了我一个任务,让我研究图像识别,从我们项目的screenshot中识别文字信息,so我开始了学习,与大家分享下. 我看到目前OCR技术有很多,最主要 ...

  3. Tesseract Ocr引擎

    Tesseract Ocr引擎 1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/t ...

  4. 开源图片文字识别引擎——Tesseract OCR

    Tessseract为一款开源.免费的OCR引擎,能够支持中文十分难得.虽然其识别效果不是很理想,但是对于要求不高的中小型项目来说,已经足够用了. 文字识别可应用于许多领域,如阅读.翻译.文献资料的检 ...

  5. Python下Tesseract Ocr引擎及安装介绍

    1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码 ...

  6. Tesseract OCR使用介绍

    #Tesseract OCR使用介绍 ##目录[TOC] ##下载地址及介绍 官网介绍:http://code.google.com/p/tesseract-ocr/wiki/TrainingTess ...

  7. tesseract 字体训练资料篇

    tesseract 字体训练资料篇 1.制作.box档案文件. tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] ...

  8. Python&selenium&tesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考

    在自动化测试或者安全渗透测试中,Captcha验证码的问题经常困扰我们,还好现在OCR和AI逐渐发展起来,在这块解决上越来越支撑到位. 我推荐的几种方式,一种是对于简单的验证码,用开源的一些OCR图片 ...

  9. 使用Tesseract OCR识别验证码

    1.下载Tessrac OCR,默认安装 2.把验证码code.jpg图片放在D盘 3.打开cmd,进入D盘,输入:tesseract  code.jpg result 4.进入D盘,生成了resul ...

随机推荐

  1. Codeforces Parking Lot

    http://codeforces.com/problemset/problem/630/I 简单的排列组合,推式子技巧:举一个小样例,看着推,别抽象着推,容易错 #include <iostr ...

  2. linux和window环境下安装ruby和sass

    linux下安装ruby 下载linux的ruby安装包    http://www.ruby-lang.org/en/downloads/ 将ruby安装包在linux环境下解压    tar -x ...

  3. php中$_REQUEST、 $_GET、 $_POST、 $_COOKIE 的关系和区别

    看到REQUEST可以通吃GET .POST .COOKIE 后 感觉这个$_REQUEST太强大了是不是其他的几个超级变量就没有用了,下面对他们整体做个比较: 1.安全性 post>get 2 ...

  4. Emmet 快捷支持

    1.https://docs.emmet.io/    [快捷demo视频演示] 2.https://docs.emmet.io/cheat-sheet/   [更多Emmet快捷案例示范]

  5. [POI2014]KAR-Cards

    题目链接: 传送门 题目分析: 线段树妙题,感觉思路奇奇怪怪的,虽然对我来说不是"线段树菜题"(\(ldx\)神仙\(blog\)原话)\(QAQ\) 考虑怎么样维护可合并的信息解 ...

  6. 笔试之const问题

    1 . ; int *j=(int *)&i; *j=; cout<<i<<*j<<endl; 答案i为0,*j为1. 2. char * const p= ...

  7. Mybatis-configuration 配置-settings配置

    设置参数 描述 有效值 默认值 cacheEnabled 这个配置使全局的映射器启用或禁用 缓存. true | false true lazyLoadingEnabled 全局启用或禁用延迟加载.当 ...

  8. 不小心使用vcpkg之后再使用conan,一直报链接错误

    原来是使用vcpkg的时候,不小心使用了.\vcpkg integrate install命令,把vcpkg到所有的vs项目(这个不需要什么其他的引用,但是容易起冲突) 然后卸载掉就好了,这篇文章真是 ...

  9. net.sf.json JSONObject与JSONArray总结

    JSONObject:json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} JSONArray:json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式 ...

  10. Django项目:CRM(客户关系管理系统)--76--66PerfectCRM实现CRM课程作业排名

    # classtop_urls.py # ————————64PerfectCRM实现CRM课程排名详情———————— from django.conf.urls import url from b ...