原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL
原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL
原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL

OCR安装工具

下载安装tesseract-ocr-setup-3.02.02
训练工具jTessBoxEditor-2.3.0
下载地址

https://download.csdn.net/download/u011356878/12639109

OCR文字识别实现

参考
https://www.cnblogs.com/cnlian/articles/5765871.html

环境的安装及卸载

安装ocr比较简单,一直next下一步就行了。
需要java环境,所以需要安装jdk8。

注意如果要卸载的话,要注意环境变量有没有删除,不然重新安装不起来
TESSDATA_PREFIX和path
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AZKZhoaf-1595561724196)(/upload/QzpcVXNlcnNcQWRtaW5pc3RyYXRvclxBcHBEYXRhXFJvYW1pbmdcRGluZ1RhbGtcODY2MjM5MDBfdjJcSW1hZ2VGaWxlc1wxNTk0MTAyMzg3NjQxXzEwNUQwQTQ0LTU4RkYtNDE4My04RUVELTJGMjNGNUI4MzE2NC5wbmc=.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KcXT1q8P-1595561724204)(/upload/QzpcVXNlcnNcQWRtaW5pc3RyYXRvclxBcHBEYXRhXFJvYW1pbmdcRGluZ1RhbGtcODY2MjM5MDBfdjJcSW1hZ2VGaWxlc1wxNTk0MTAyNDUwODEyXzM2RDcxMDYzLTNBREItNGJkNy04NDJGLTZBMTQ3QzMzQUVFQS5wbmc=.png)]
安装完成测试一下
打开命令行窗口,进入安装目录,输入如下命令
tesseract test.png output_1 –l eng
output_1是将识别的结果写入这个文件(文件会自己创建)
-l end 指定使用的语言库,,eng是英语

这里我使用的是亚马逊的验证码图片去识别,发现识别效果比较差。所以我们需要训练来提高我们的识别率。

jTessBoxEditor训练

1、我们将要训练的图片(样本)放在一个统一的文件夹

2、打开jTessBoxEditor,Tools->Merge TIFF,将样本文件全部选上,并将合并文件保存为 was.font.exp0.tif
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cGsKhmkK-1595561724206)(/upload/QzpcVXNlcnNcQWRtaW5pc3RyYXRvclxBcHBEYXRhXFJvYW1pbmdcRGluZ1RhbGtcODY2MjM5MDBfdjJcSW1hZ2VGaWxlc1wxNTk0MTAxOTQxNjkxX0FDRUU1N0Q2LTg5QzktNGE1Yy1CRTc1LUU2QTRFODc5NDYyOC5wbmc=.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b3pPpfo7-1595561724208)(/upload/QzpcVXNlcnNcQWRtaW5pc3RyYXRvclxBcHBEYXRhXFJvYW1pbmdcRGluZ1RhbGtcODY2MjM5MDBfdjJcSW1hZ2VGaWxlc1wxNTk0MTAyMDAxNDE5XzI5ODQxNzVBLUQ0RDUtNGI3OC1CQ0Q3LUVFQzIxNjIwRDk0MC5wbmc=.png)]

3、生成BOX文件
tesseract was.font.exp0.tif num.font.exp0 batch.nochop makebox
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TLTwTJyp-1595561724209)(/upload/QzpcVXNlcnNcQWRtaW5pc3RyYXRvclxBcHBEYXRhXFJvYW1pbmdcRGluZ1RhbGtcODY2MjM5MDBfdjJcSW1hZ2VGaWxlc1wxNTk0MTAxODg5MzIxX0E5QUJFOUE2LTRERUYtNDM0Ni1CMjQ0LUIxQzVGRDg4MTY1NS5wbmc=.png)]
【语法】:tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox
lang为语言名称,fontname为字体名称,num为序号;在tesseract中,一定要注意格式。

ps: 如果前3个步骤报错,可以下来下面这样处理

样本图像文件格式必须为tif\tiff格式,否则在Merge样本文件的过程中会出现 Couldn’t Seek 的错误。
如果报错,使用下来方式
1、我们先用程序将图片转成tif\tiff格式
2、手动将第一步生成的图片,后缀改成tiff
打开jTessBoxEditor,Tools->Merge TIFF,将样本文件全部选上,并将合并文件保存为 was.font.exp0.tif

4、定义字符配置文件
在目标文件夹内生成一个名为font_properties的文本文件,内容为

font 0 0 0 0 0
【语法】:
fontname为字体名称,italic为斜体,bold为黑体字,fixed为默认字体,serif为衬线字体,fraktur德文黑字体,1和0代表有和无,精细区分时可使用。

5、字符矫正
打开jTessBoxEditor,BOX Editor -> Open,打开num.font.exp0.tif;矫正上的字符,记得有好多页噢!,记得点save保存
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O2KCNUXY-1595561724210)(/upload/QzpcVXNlcnNcQWRtaW5pc3RyYXRvclxBcHBEYXRhXFJvYW1pbmdcRGluZ1RhbGtcODY2MjM5MDBfdjJcSW1hZ2VGaWxlc1wxNTk0MTAxMDQ3ODIwXzU1OUU0RkMyLTFGNjMtNGQyNy1BQUNCLTc5RjY3MTAxM0MyOS5wbmc=.png)]
6、新建was.bat,并且双击执行

rem 执行改批处理前先要目录下创建font_properties文件
echo Run Tesseract for Training..
tesseract.exe was.font.exp0.tif was.font.exp0 nobatch box.train echo Compute the Character Set..
unicharset_extractor.exe was.font.exp0.box
mftraining -F font_properties -U unicharset -O was.unicharset was.font.exp0.tr echo Clustering..
cntraining.exe was.font.exp0.tr echo Rename Files..
rename normproto was.normproto
rename inttemp was.inttemp
rename pffmtable was.pffmtable
rename shapetable was.shapetable  echo Create Tessdata..
combine_tessdata.exe was.
echo. & pause

测试
tesseract test.png output_2 -l num

合并训练库

我们昨天天训练了一个字体库,发现不够精确,今天又训练一个,可以将昨天和今天的合并起来
参考 https://www.jianshu.com/p/ea06f02195af

合并训练库 (合并需要tif文件和box文件)

一、先生成相对应的 .tr 文件(如果你之前训练的.tr 有的话,可以忽略这步)
tesseract test.font.exp0.tif test.font.exp0 nobatch box.train
tesseract was.font.exp0.tif was.font.exp0 nobatch box.train

二、从所有文件中提取字符
unicharset_extractor was.font.exp0.box test.font.exp0.box

三、生成字体特征文件(was.font.exp0.box font是第二部分)
3.1
新建的font_properties文件,内容如下
font 0 0 0 0 0
font 0 0 0 0 0

3.2
mftraining -F font_properties -U unicharset was.font.exp0.tr test.font.exp0.tr

四、聚集所有.tr 文件
cntraining was.font.exp0.tr test.font.exp0.tr

五、重命名文件,把unicharset, inttemp, normproto, pfftable,shapetable 这几个文件加了前缀aws. (目的是为了后面的聚集合并)
rename normproto aws.normproto

rename inttemp aws.inttemp

rename pffmtable aws.pffmtable

rename shapetable aws.shapetable

rename unicharset aws.unicharset

六、合并所有文件 生成一个大的字库文件
combine_tessdata aws.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qIsOqRBI-1595561724210)(/upload/QzpcVXNlcnNcQWRtaW5pc3RyYXRvclxBcHBEYXRhXFJvYW1pbmdcRGluZ1RhbGtcODY2MjM5MDBfdjJcSW1hZ2VGaWxlc1wxNTk0MTAyMTg4MTg5XzAyQTFDNDIwLTlENEMtNDUwZi04MDE4LTJBMUFFRDM4MUJGRS5wbmc=.png)]

七、最后文件夹中就可以看到生成的.traineddata训练库
然后将aws.traineddata 拷贝到安装ocr的tessdata目录下
C:\Program Files (x86)\Tesseract-OCR\tessdata

测试
tesseract test1.jpg output_2 -l aws

原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL
原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL
原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL
原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL
原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL
原文地址有图 https://xujd.top/article/view.do?SUMnF0tjG1NJE14mRg7CvVdL

tesseract-ocr验证码识别相关推荐

  1. Tesseract Ocr文字识别实战(新版本,扩展手写文字识别)

    目录 1.Tesseract Ocr文字识别 1.1 运行环境 1.2 python模块 1.3 配置tesseract运行文件 1.4 代码识别 2. 手写汉字识别 2.1 下载库 2.2 代码 1 ...

  2. opencv+tesseract完成验证码识别(识别率99.99%)

    一.需要识别的内容 需要识别的验证码内容如下  验证码下载下载地址. 二.直接调用tesseract来完成识别(识别率很差) 识别的图片内容为: 在window系统钟打开cmd命令窗口,执行识别命令如 ...

  3. iOS实践:OpenCV、Tesseract OCR结合 识别图片中文字

    前言: 前天领导问,类似扫描文件识别图中文字的功能如何实现,找一下第三方的开源库,尝试下,于是有了这篇文章: 分析: 识别场景中,识别身份证信息当属典型,查阅了几篇文章,后续的实现中也多导入了其代码: ...

  4. Tesseract Ocr文字识别

    Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一.2005年,Tesseract由美国内华达州信息技术研究所获得,并求诸于G ...

  5. 爬虫-OCR技术识别验证码

    一,OCR的安装 先去官网:Index of /tesseract (uni-mannheim.de) 仔细找一下,下载tesseract-ocr-setup-4.00.00dev.exe这个文件,大 ...

  6. 关于Tesseract OCR 中文训练识别小试(java调用Tess4j)

    2017.9.20日小结 最近接到是关于消防系统协议解析仪器的项目,目的是从协议解析仪器获取有效数据,并解析数据(目的是不希望消防主机的数据信息再传给主机厂商而是最后能给自己收集调用).由于各个消防器 ...

  7. 验证码识别初探——图形验证码为主

    目录 一.需求 二.验证码起源 三.验证码分类 纯文本验证码 图形验证码 Gif动画验证码 手机短信验证码 手机语音验证码 视频验证码 手势验证码 四.简单验证码识别流程和一些算法 五.基本案例 案例 ...

  8. 常见验证码的弱点与验证码识别

    0x00 简介 验证码作为一种辅助安全手段在Web安全中有着特殊的地位,验证码安全和web应用中的众多漏洞相比似乎微不足道,但是千里之堤毁于蚁穴,有些时候如果能绕过验证码,则可以把手动变为自动,对于W ...

  9. 高帧率扑克牌识别技术详解一(可用于车牌识别,字符识别,人脸检测,验证码识别等等成熟领域)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 高帧率扑 ...

  10. 使用Tesseract (OCR)实现简单的验证码识别(C#)+窗体淡入淡出效果

    来园子也有一段时间了,一直没时间写点东西,说实话刚开始也不知道写什么,一直以来对验证码识别比较感兴趣,曾经想着自己处理图形实现识别验证码, 不过感觉对我来说太难了,偶然中再网上发现了Tesseract ...

最新文章

  1. python依赖包exe文件安装问题
  2. 【TensorFlow】PyCharm中无法识别tensorflow、numpy等Python库问题的解决办法
  3. Java学习计划,给自己一个学习线路
  4. Diango博客--16.稳定易用的 Django 分页库,完善分页功能(二)
  5. 呕心沥血干完K-Means聚类——深度AI科普团队
  6. 微信小程序服务器支付sdk,微信小程序之支付后如何调用SDK的异步通知
  7. git提取和拉取区别_每天一Git之起步 - 关于版本控制
  8. 从一个activity返回
  9. jQuery篮球计分器
  10. 大学课程表模板html,课程表模板空白表格(小/中/大学课程表模板excel) 中文免费版...
  11. 0x800700b7 linux,0x800700b7解决方法
  12. iphone计算机适配,iPhone UI界面尺寸如何一稿适配
  13. 台湾Google云计算计划负责人叶平讲解云计算
  14. pandas 筛选行 整行复制粘贴
  15. 华为mate40pro鸿蒙冷散热,华为mate40pro曝光,2K屏+麒麟9000+鸿蒙系统+双6400万,售价感人...
  16. 汇编语言程序设计——仿win7计算器(功能部分)
  17. 中芯微和高通410的随身WiFi哪种好,随身WiFi怎么刷机
  18. php 实现群发表结构,利用php怎么实现一个微信公众号无限群发功能
  19. ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N O) MYSQL
  20. python读什么-python读什么

热门文章

  1. dae怎么用草图大师打开,教你su模型导入lumion的方法
  2. web项目下的WEB-INF、WebRoot
  3. 手机ncm转mp3工具_一款手机、电脑都能用的文字转语音工具,够高能! - 橘子世界...
  4. 什么是事件流? 什么是事件冒泡? 什么是事件捕获?
  5. Android微信页面缓存清理,安卓用户如何彻底清理微信大量缓存?4招让你彻底解决内存烦恼...
  6. 结对编程_我从结对编程面试中学到的东西
  7. DeepMind再登Nature封面!2000年前残断古希腊文,完形填空七成准
  8. php如何更改文件名后缀名,php如何修改文件后缀名
  9. 中望cad自定义快捷键命令_1分钟成为CAD设计高手:中望CAD命令快捷键设置详解-快捷键设置...
  10. 阿里云域名搭建DNSLOG