【基本用法】

1、tesseract 基本语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Usage:tesseract.exe imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
pagesegmode values are:
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.
-l lang and/or -psm pagesegmode must occur before anyconfigfile.
Single options:
-v --version: version info
--list-langs: list available languages for tesseract engine
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
tesseract    图片名  输出文件名 -l 字库文件 -psm pagesegmode 配置文件

2、示例:

(1)、

1
2
3
4
5
6
tesseract code.jpg code -l chi_sim -psm 7 digits
code 生成code.txt的结果文件
-l chi_sim 表示用简体中文字库
-psm 7 表示告诉tesseract code.jpg图片是一行文本,默认为 3
configfile 参数值为tessdata\configs 和 tessdata\tessconfigs 目录下的文件名
digits 内容为 tessedit_char_whitelist 0123456789-. 表示数字

(2)、白名单

1
tesseract code.jpg code -l eng -psm 7 -c tessedit_char_whitelist="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

(2)、黑名单

1
tesseract code.jpg code -l eng -psm 7 -c tessedit_char_blacklist="abcdefghijklmnopqrstuvwxy"

【训练】(以训练arial字体为例)

1、准备一张字体图片如下。

2、用 jTessBoxEditor 将图片转为tif文件,将tif文件命名为 eng.arial.exp0.tif。注意这里其实可以选多张图片。

1
Tools -> Merge TIFF...

3、生成坐标文件(.box)。

1
tesseract.exe eng.arial.exp0.tif eng.arial.exp0 batch.nochop makebox

【语法】:tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox

lang为语言名称,fontname为字体名称,num为序号;在tesseract中,一定要注意格式。

4、在当前目录创建 font_properties 文件,内容如下。

1
eng.arial.exp0.box 1 1 1 0 0

【语法】:<fontname> <italic> <bold> <fixed> <serif> <fraktur>

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

5、字符校正。

打开jTessBoxEditor,BOX Editor -> Open,打开 eng.arial.exp0.tif,注意多页时页面切换。

6、执行批处理文件(arial.bat),生成.traineddata文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
echo Run Tesseract for Training.. 
tesseract eng.arial.exp0.tif eng.arial.exp0 nobatch box.train 
  
echo Compute the Character Set.. 
unicharset_extractor eng.arial.exp0.box 
mftraining -F font_properties -U unicharset -O arial.unicharset eng.arial.exp0.tr 
echo Clustering.. 
cntraining eng.arial.exp0.tr 
echo Rename Files.. 
rename normproto arial.normproto 
rename inttemp arial.inttemp 
rename pffmtable arial.pffmtable 
rename shapetable arial.shapetable  
echo Create Tessdata.. 
combine_tessdata arial. 
echo. & pause

7、将生成文件中的arial.traineddata 文件拷贝到相应tessdata目录就可以使用啦!

1
tesseract code.jpg code -l arial

【参考文献】

1、啥都不懂也能识别验证码

2、Tesseract-OCR的简单使用与训练

3、Adding New Fonts to Tesseract 3 OCR Engine

4、Python做简单的验证码识别(ocr)

*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1844753如需转载请自行联系原作者

RQSLT

tesseract-ocr tips相关推荐

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

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

  2. jTessBoxEditor for Tesseract OCR

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

  3. Tesseract OCR——Windows 10 + CMake-GUI + Visual Studio 2019下编译和使用解决方案

    基本概念 Tesseract OCR:Tesseract-OCR 引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一.然而,HP不久便决定放弃OCR业务 ...

  4. C#使用Tesseract OCR 解析验证码

    下面介绍一个开源的OCR引擎Tesseract2.值得庆幸的是虽然是开源的但是它的识别率较高,并不比其他引擎差劲.网上介绍Tessnet2也是当时时间排名第三的识别引擎,只是后来慢慢不维护了,目前是G ...

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

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

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

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

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

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

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

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

  9. Tesseract OCR简介(一)

    简介 Tesseract(/'tesərækt/) 这个词的意思是"超立方体",指的是几何学里的四维标准方体,又称"正八胞体".右图是一个正八胞体绕着两个四维空 ...

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

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

最新文章

  1. IE8下面的line-height的bug
  2. QT中使用QSettings保存应用程序配置信息
  3. QT5开发及实例学习之十六Qt5基础图形的绘制
  4. VISIO画图软件安装
  5. 2008r2服务器频繁自动重启,关于Windows server2008频繁重启问题
  6. 数据库课程设计-NBA球队信息管理系统
  7. 魔方cfop公式软件_按这七步训练,你可以快速玩转魔方!
  8. 车联网大规模商用关键突破口深度调研车路协同智慧高速全国建设情况
  9. 洛谷 P2350 [HAOI2012]外星人(素因子分解,欧拉函数)
  10. ThinkPHP5.0 中使用荣联云通讯
  11. DNS篇之DNS协议详解
  12. 去年这时候辞职一个,不算辞退算是自动劝退2个程序员,不知道他们是否还是在当程序员,大家可以借鉴
  13. pycharm安装sklearn失败解决方法
  14. 【开发经验】客户端互踢实现思路
  15. 正则验证连续重复字符、连续递增递减数字
  16. iOS开发简记(1):指定APP的图标与启动图
  17. PI控制器从连续域到z域到差分方程
  18. java说课_Java说课演示稿.ppt
  19. Qt Creator 快捷键
  20. Cadence 17.2 焊盘制作指南

热门文章

  1. java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!
  2. c++ 如何给 “运行中“ 的线程传递数据;
  3. Leetcode题库 125.验证回文串(双指针 C实现)
  4. C++-Loki Allocator
  5. ios 隔空投安装ipa_ipa文件能不能直接安装到手机上?怎么操作?
  6. kdj超卖_一个判断股票超买超卖现象的指标——KDJ,简单明了,准确且省心
  7. python bytes 操作_Python 3:不支持/:“float”和“bytes”的操作数类型
  8. 强java_Java (强/弱/软/虚)引用
  9. ftpClient的连接超时设置(setConnectTimeout,setSoTimeout)
  10. XML Schema介绍之namespace