tesseract-ocr训练方法
tesseract-ocr有2和3两个版本,不同版本训练方法稍有不同。
第3版本的训练方法官版教程在这里:TrainingTesseract3
第2版的训练方法官版教程在这里:TrainingTesseract
我使用的是最新的3.01版本的。训练所需准备:
1.下载并安装3.01版本的tesseract。事实上并不需要安装这步骤,我下载的是压缩包版,解压即可,这里我解压到E:\Tesseract-ocr目录。
2.下载并安装jTessBoxEditor 工具,这是一个Box file editors,用来编辑训练文件的,直接下载地址在这里。这个软件是用java写的,运行需要安装jre,好在这个东西比.net好装多了,怎么运行可以见它的readme文件。
3.一张用来训练的tiff格式图片。
在不通过训练的前提下,使用tesseract来识别一个订单号的内容,如图发现错误率很高,希望通过训练来提高准确率。
训练过程:
1.通过合并10张如上图的图片合并为一张tiff格式的图片,如何合并呢?通过jTessBoxEditor的Merge Tiff 来完成,不过他的小缺点就是只能合并多张tiff格式的,如果你的图片是jpg的,需要先转换。生成后的tiff图片叫做orderNo.tif
2.Make Box Files。在orderNo.tif所在的目录下打开一个命令行,输入:
E:\Tesseract-ocr\tesseract.exe orderNo.tif orderNo batch.nochop makebox
来生成一个box文件,该文件记录了tesseract识别出来的每一个字和其位置坐标。
3.使用jTessBoxEditor打开orderNo.tif文件,需要记住的是第2步生成的orderNo.box要和这个orderNo.tif文件同在一个目录下。逐个校正文字,后保存。
4.Run Tesseract for Training。输入命令:
E:\Tesseract-ocr\tesseract.exe orderNo.tif orderNo nobatch box.train
5.Compute the Character Set。输入命令:
E:\Tesseract-ocr\unicharset_extractor.exe orderNo.box
6.新建文件“font_properties”。如果是3.01版本,那么需要在目录下新建一个名字为“font_properties”的文件,并且输入文本 :
orderNo 0 0 0 0 0
大致意思就是说orderNo这个语言的字体为普通字体。
并执行命令:
E:\Tesseract-ocr\mftraining.exe -F font_properties -U unicharset orderNo.tr
7.Clustering。输入命令:
E:\Tesseract-ocr\cntraining.exe orderNo.tr
8.此时,在目录下应该生成若干个文件了,把unicharset, inttemp, normproto, pffmtable这四个文件加上前缀“orderNo.”。然后输入命令:
E:\Tesseract-ocr\combine_tessdata.exe orderNo.
会显示一个结果如:
Combining tessdata files
TessdataManager combined tesseract data files.
Offset for type 0 is -1
Offset for type 1 is 108
Offset for type 2 is -1
Offset for type 3 is 1660
Offset for type 4 is 327545
Offset for type 5 is 327781
Offset for type 6 is -1
Offset for type 7 is -1
Offset for type 8 is -1
Offset for type 9 is -1
Offset for type 10 is -1
Offset for type 11 is -1
Offset for type 12 is –1
必须确定的是第2、4、5、6行的数据不是-1,那么一个新的字典就算生成了。
此时目录下“orderNo.traineddata”的文件拷贝到tesseract程序目录下的“tessdata”目录。
以后就可以使用该该字典来识别了,例如:
tesseract.exe test.jpg result –l orderNo
通过训练出来的新语言,识别率提高了不少。
Posted by lixin at 下午 6:46 Tagged with: ocr
28 Responses to “tesseract-ocr训练方法”
- luacloud says:2012 年 5 月 28 日 at 下午 2:19
有学习能力的?
回复 - by says:2012 年 8 月 16 日 at 下午 9:32
您好,我的步骤跟你的一样,可到mftraining这一步怎么都过不去,老是windows弹出提示,mftraining.exe已停止工作。该怎么解决呢。
E:\Tesseract-ocr3.01\build>..\mftraining -F font_properties -U unicharset cnlp.l
pft.exp0.tr
转载于:https://www.cnblogs.com/qqhfeng/p/3634222.html
tesseract-ocr训练方法相关推荐
- Tesseract——OCR图像识别 入门篇
近期leader给了我一个任务,让我研究图像识别,从我们项目的screenshot中识别文字信息,so我開始了学习.与大家分享下. 我看到眼下OCR技术有非常多,最基本的是Asprise OCR,Te ...
- jTessBoxEditor for Tesseract OCR
jTessBoxEditor下载地址 http://vietocr.sourceforge.net/training.html 以下翻译自安装(解压)后的Readme文件 jTessBoxEditor ...
- Tesseract OCR——Windows 10 + CMake-GUI + Visual Studio 2019下编译和使用解决方案
基本概念 Tesseract OCR:Tesseract-OCR 引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一.然而,HP不久便决定放弃OCR业务 ...
- C#使用Tesseract OCR 解析验证码
下面介绍一个开源的OCR引擎Tesseract2.值得庆幸的是虽然是开源的但是它的识别率较高,并不比其他引擎差劲.网上介绍Tessnet2也是当时时间排名第三的识别引擎,只是后来慢慢不维护了,目前是G ...
- [转]tesseract OCR Engine overview字符识别学习
原文地址:http://blog.csdn.net/viewcode/article/details/7790065 正文: 原文: An Overview of the Tesseract OCR ...
- android自动识别文字,Android文字识别tesseract ocr -训练样本库 识别字库
目录 安装tesseract ocr引擎和jTessBoxEditor 安装jTessBoxEditor 开始制作box 准备好训练的图片 将图片转为tif格式的样本图片 合并样本图片 修改box文件 ...
- Tesseract Ocr文字识别实战(新版本,扩展手写文字识别)
目录 1.Tesseract Ocr文字识别 1.1 运行环境 1.2 python模块 1.3 配置tesseract运行文件 1.4 代码识别 2. 手写汉字识别 2.1 下载库 2.2 代码 1 ...
- Tesseract OCR简介(三)--安装及参数使用
参考:AI-Tesseract-OCR简介_花熊的博客-CSDN博客_tesseract坐标 一.windows 1.1 Tesseract安装 适用于Tesseract 3.05和Tesseract ...
- Tesseract OCR简介(一)
简介 Tesseract(/'tesərækt/) 这个词的意思是"超立方体",指的是几何学里的四维标准方体,又称"正八胞体".右图是一个正八胞体绕着两个四维空 ...
- 关于Tesseract OCR 中文训练识别小试(java调用Tess4j)
2017.9.20日小结 最近接到是关于消防系统协议解析仪器的项目,目的是从协议解析仪器获取有效数据,并解析数据(目的是不希望消防主机的数据信息再传给主机厂商而是最后能给自己收集调用).由于各个消防器 ...
最新文章
- Pandas Cheat Sheet
- 视频直播技术详解(1)采集
- Excel表格数据导入到SQLServer数据库
- Git多人开发场景模拟
- 数据处理算法链接 DATA MINING GA LINK
- 无线 在linux叫什么地方,请问有知道atheros无线网卡Linux驱动官方下载地址是什么吗?...
- Django框架——ORM数据库操作
- PyQt5 关于Qt Designer的初步应用和打包
- 【Kafka】Kafka事务是怎么实现的
- 网络监控工具--ntop
- JScript多语言语法加亮引擎改进(修正多行注释识别)
- axios java 参数,vue.js axios发请求时,参数包括dto和一个flag, 后台如何接?
- 9行Python代码搭建神经网络来掌握一些基本概念
- 基于PHP的新闻管理系统(基础版)
- 用JavaScript实现按钮点击全选和下拉列表根据省份复选框显示对应城市功能
- paddle 图标注_没那么简单,手把手教你用Origin制作XRD谱图!
- 互联网寒冬?软件测试行业饱和了?为何每年还会增加40万测试员?
- 相关系数与协方差间的转换
- matlab波门,一种距离波门拖引有源干扰的仿真设计方法与流程
- Vue3+TypeScript+Vite 学习笔记(持续更新中)
热门文章
- Batteries for Mac(电池电量管理软件)
- 玛雅Maya 2022 for Mac(三维动画制作软件)
- 开发工具Charles for Mac(信息抓取) v4.6.3b1
- Mac 用快捷键选取文字,省时省力提高工作效率
- 在苹果Mac上的“磁盘工具”中如何修复储存设备?
- OkHttpClient源码分析(四)—— CacheInterceptor
- Chapter 4. 聚合函数、字符串函数、类型转换函数、时间日期函数
- Rootkit之ntrootkit的配置使用
- virtualenv -- python虚拟沙盒
- Android开发——通过扫描二维码,打开或者下载Android应用