Tesseract-OCR样本训练方法

一、简介

Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文)。 Tesseract最初由HP公司开发,后来由Google维护。

二、下载

1.从https://github.com/UB-Mannheim/tesseract/wiki下载tesseract安装包,目前最新的版本是tesseract-ocr-w64-setup-v4.0.0.20181030.exe。

2.从https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/下载jTessBoxEditor训练工具,目前最新的版本是jTessBoxEditor-2.2.0.zip。

3.由于jTessBoxEditor是用Java开发的,需要安装Java虚拟机才能运行。从https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载Java JDK,目前最新的版本事jdk-8u191-windows-x64.exe。

三、安装tesseract

1.双击tesseract-ocr-setup-4.00.00dev.exe运行。

2.点击Next。

3.I accept the terms of the License Agreement前的复选框打勾,点击Next。

4.Install for anyone using this computer前的复选框打勾,点击Next。

5.选择需要安装的内容,点击Next。

6.点击Browse…选择安装路径,默认安装在C:\Program Files(x86)\Tesseract-OCR,点击Next。

7.点击Install。

8.等待安装完成。

9.点击Next。

10.Show README前的复选框取消打勾,点击Finish。

四、安装Java JDK

1.双击jdk-8u191-windows-x64.exe运行。

2.点击下一步。

3.点击更改。

4.输入安装路径后,点击确定。

5.点击下一步。

6.等待安装完成。

7.点击关闭。

五、配置Java环境变量

1.此电脑右键。

2. 点击属性。

3.点击高级系统设置。

4.选择高级->环境变量。

5.点击新建。

6.变量名输入JAVA_HOME,变量值输入JDK安装目录,点击确定。

7.系统变量中,选择Path,点击编辑。

8.点击新建。

9.输入%JAVA_HOME%\bin,点击确定。

10.点击确定。

11.点击确定。

12.重启电脑。

六、安装jTessBoxEditor

1.解压

2.双击jTessBoxEditor-2.2.0

3.双击jTessBoxEditor

4.双击jTessBoxEditor,jar运行

5.出现以下界面则安装成功。

七、制作训练样本

1. 运行jTessBoxEditor工具,点击Tools。

2.点击Merge TIFF。

3.文件类型选择All Image Files,选择样本图片,点击打开。

4.文件名输入num.font.exp0.tif,文件类型选择TIFF,点击保存。

5.点击确定。

6. 将num.font.exp0.tif文件复制到Tesseract-OCR安装目录。

7. 生成Box File文件。打开cmd命令行,以管理员身份运行。

8.进入Tesseract-OCR安装目录。

9.执行命令:

tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox

生成的box文件为num.font.exp0.box,box文件为Tesseract识别出的字符及其坐标。

注:Make Box File 文件名有一定的格式,不能随便乱取名字,命令格式为:

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox

其中lang为语言名称,fontname为字体名称,num为序号,可以随便定义。

10. 将上一步生成的.box和.tif样本文件放在同一目录。我是放在Tesseract-OCR默认安装目录下。

11.运行jTessBoxEditor工具,点击Box Editor。

12.点击Open。

13.选择之前生成的num.font.exp0.tif,点击打开。

14. 可以看出有些字符识别的位置不准确,可以通过该工具手动对每张图片中识别错误的字符和位置进行校正。校正完成后保存即可。

注: 这里必须修改识别错误的字符,否则做出来的traineddata文件也是错的。可以在下面的界面中修改并保存,也可以直接在traineddata文件中修改。

15. 定义字体特征文件。创建一个名称为font_properties的字体特征文件。font_properties不含有BOM头,文件内容格式如下:

<fontname> <italic> <bold> <fixed> <serif> <fraktur>

其中fontname为字体名称,必须与[lang].[fontname].exp[num].box中的名称保持一致。<italic> 、<bold> 、<fixed> 、<serif>、 <fraktur>的取值为1或0,表示字体是否具有这些属性。

这里在样本图片所在目录下创建一个名称为font_properties的文件,用记事本打开,输入以下下内容:

font 0 0 0 0 0

这里全取值为0,表示字体不是粗体、斜体等等。

16. 生成语言文件。在样本图片所在目录下创建一个批处理文件,输入如下内容:

rem 执行改批处理前先要目录下创建font_properties文件

echo Run Tesseract for Training..

tesseract.exe num.font.exp0.tif num.font.exp0 nobatch box.train

echo Compute the Character Set..

unicharset_extractor.exe num.font.exp0.box

mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr

echo Clustering..

cntraining.exe num.font.exp0.tr

echo Rename Files..

rename normproto num.normproto

rename inttemp num.inttemp

rename pffmtable num.pffmtable

rename shapetable num.shapetable

echo Create Tessdata..

combine_tessdata.exe num.

17. 执行批处理文件, num.traineddata便是最终生成的语言文件,将生成的num.traineddata拷贝到程序的样本文件夹里,就可以使用了。

Tesseract-OCR样本训练方法相关推荐

  1. Tesseract OCR手写数字的样本训练

    Tesseract OCR样本训练除需要安装Tesseract OCR软件外,还需要下载Tesseract OCR样本训练工具jTessBoxEditorFX,下载地址: http://dl.pcon ...

  2. tesseract ocr训练样本库以及样本库使用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.tesseract ocr训练样本库 二.样本库的使用 总结 前言 这篇报告主要介绍两个内容: 1.tessera ...

  3. [转]tesseract OCR Engine overview字符识别学习

    原文地址:http://blog.csdn.net/viewcode/article/details/7790065 正文: 原文: An Overview of the Tesseract OCR ...

  4. android自动识别文字,Android文字识别tesseract ocr -训练样本库 识别字库

    目录 安装tesseract ocr引擎和jTessBoxEditor 安装jTessBoxEditor 开始制作box 准备好训练的图片 将图片转为tif格式的样本图片 合并样本图片 修改box文件 ...

  5. Tesseract OCR简介(三)--安装及参数使用

    参考:AI-Tesseract-OCR简介_花熊的博客-CSDN博客_tesseract坐标 一.windows 1.1 Tesseract安装 适用于Tesseract 3.05和Tesseract ...

  6. Tesseract OCR 训练字库

    Tesseract OCR是一款由HP实验室开发由Google维护的开源OCR引擎,在字符识别领域发挥着举足轻重的作用.除了使用软件自带的中英文识别库,我们可以使用Tesseract OCR训练属于自 ...

  7. An Overview of the Tesseract OCR Engine译文

    An Overview of the Tesseract OCR Engine译文 Abstract Tesseract OCR引擎以及UNLV OCR精度第四次年度测试中的HP Research P ...

  8. Tesseract OCR 引擎概述

    原文: https://github.com/tesseract-ocr/docs/blob/master/tesseracticdar2007.pdf Ray Smith 摘要 Tesseract ...

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

    近期leader给了我一个任务,让我研究图像识别,从我们项目的screenshot中识别文字信息,so我開始了学习.与大家分享下. 我看到眼下OCR技术有非常多,最基本的是Asprise OCR,Te ...

  10. jTessBoxEditor for Tesseract OCR

    jTessBoxEditor下载地址 http://vietocr.sourceforge.net/training.html 以下翻译自安装(解压)后的Readme文件 jTessBoxEditor ...

最新文章

  1. if(window.event) e = window.event
  2. 【80端口占用】win7下80端口被(Pid=4)占用的解决方法
  3. 通过调用门进行有特权级变换的转移,详细注解 对pmtest5.asm解释很详细.
  4. 传递函数_使用python计算麦克风阵列信号的传递函数
  5. svn差异查看器 编码_男女学习编码的9个差异
  6. Linux段错误-转
  7. c# 条件编译 Conditional (DEBUG)
  8. 抽象代数学习笔记三《群:对称性变换与对称性群》
  9. 【BottomBar】Android炫酷的底部切换
  10. 如何激活微信里沉睡的客户?
  11. 我去面试没带简历,你让我走人?
  12. 数字后端概念——MIM cell
  13. 研发项目该如何管理?
  14. 详解CI、CD相关概念
  15. 发展你的GDS的应用技术
  16. 零基础自学Python好难?学起来很吃力,想放弃?看看别人是怎样学习的
  17. django mysql sql语句_Django中使用mysql数据库并使用原生sql语句操作
  18. 四级口语计算机对话,2017大学英语四级口语场景对话练习(5)
  19. 2020-02-23
  20. Zabbix 地址Ping检测告警

热门文章

  1. python伪装ip_Python爬虫如何用高质量代理IP伪装?
  2. Angular2 Directive讲解
  3. VS Code + Tex Live + SumatraPDF配置LaTeX反向搜索(持续更新)
  4. 导出单帧图片以及时间线介绍(PR)
  5. 学习大数据可以进入哪些公司?
  6. TJA1050 引脚
  7. 查询-SPJ练习1参考答案
  8. 文本域换行 php,js获取textarea文本域自动换行符
  9. 什么是PON光模块?PON光模块有哪些作用和类型?
  10. 操作系统复习之OS的运行环境