文本识别

前言

由于我的个人博客之前挂了,一直没来得及迁移,所以又重新拾起了csdn…

在利用python进行文本识别时,使用tesseract往往是一个非常好的选择,且tesseract支持自己训练的字库,自己训练出来的字库一般具有轻量、有针对性、识别率高的特点。本文就讲述了如何使用tesseract自己训练字库。

安装tesseract环境

  • 下载Tesseract-OCR官方命令行工具:
    https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-setup-3.02.02.exe/download
    下载完成后安装,安装完成后,将文件根目录路径添加进系统环境变量中,打开cmd命令行,输入
tesseract -v

如果安装成功,将会出现这样的提示界面:

  • 下载jTessBoxEditor:https://osdn.net/projects/sfnet_vietocr/downloads/jTessBoxEditor/jTessBoxEditor-1.5.zip/
    下载完成后解压即可。**jTessBoxEditor运行需要电脑上提前安装好Java jre8,若电脑上原来没有或者安装的是jre6的话,请去官网上下载最新版的jre。**找到解压路径下的train.bat文件,双击,若能正常打开,表明配置完成。否则

训练字库

获取训练字库图片有两种方式:

  • 直接寻找文字或数字比较完整的图片
  • 自己利用美图秀秀或ps制作字库图片

    可以去网上下载你想要的字体文件,然后打开ps或美图秀秀,创建一张白色背景的图片,分辨率选择合适的。添加文字时注意使用黑色文字

获得字库文件之后,通过画图工具打开,并将图片保存为tif或tiff格式。

生成box文件

更改图片名字:

tif文面命名格式[lang].[fontname].exp[num].tif
-lang: 语言
-fontname: 字体格式
-num: 次数

在cmd中切换到tif文件所在目录,然后输入以下命令行:

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

命令执行成功的话,同目录下会生成num.font.exp0.box文件;否则,请确认命令是否正确输入。

使用jTessBoxEditor工具修正(可选)

box文件本质上就是一堆配置信息,记载了字符和字符在tif文件中的框选位置信息。这一步是可选的,熟悉流程操作后可以直接用编辑器打开上一步产生的box文件直接修改,这里借助jTessBoxEditor工具确认。

直接双击运行jTessBoxEditor目录下的train.bat文件运行java程序,然后点击Box Editor窗口,点击Open加载tif文件。

如果jTessBoxEditor没有运行起来,尝试直接在cmd中切换到解压目录后,输入命令行启动:

java -jar jTessBoxEditor.jar

加载box文件可以发现有三个字符默认识别错误了,需要进行修改,直接点击对应错误的字母,替换正确数字即可.
确认框选位置没有错误,对应字符也正确的情况下,点击save按钮完成box修正。

打包字库文件

打包字库需要一个额外文件font_properties,这个文件指定字库的样式,每一行格式是:

<font-name/字体名称> <italic/斜体> <bold/粗体> <fixed/等宽体> <serif/衬线体> <fraktur/尖角体>

其中italic、bold、fixed、serif和fraktur用1/0代表是/否,例如:timesitalic 1 0 0 1 0

在这里,不需要特殊设置,直接创建一个font_properties文件,填写

font 0 0 0 0 0

即可。

接下来无技术含量,在cmd中依次输入:

tesseract num.font.exp0.tif num.font.exp0 nobatch box.train
unicharset_extractor num.font.exp0.box
mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr
cntraining num.font.exp0.tr
rename normproto num.normproto
rename inttemp num.inttemp
rename pffmtable num.pffmtable
rename shapetable num.shapetable
combine_tessdata num.

如无意外,本地下即可看到num.traineddata文件,就是我们使用自定义字体图片tif文件训练得到的字库文件了。

使用Tesseract-OCR训练自定义字库相关推荐

  1. Tesseract OCR 训练字库

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

  2. Tesseract-OCR-v5.0中文识别,训练自定义字库,提高图片的识别效果

    1,下载安装Tesseract-OCR 安装,链接地址Index of /tesseract 2,安装成功 tesseract -v 注意:安装后,要添加系统环境变量 3,cmd指定目录到 cd C: ...

  3. OCR 训练 中文语言包

    1.下载tesseract安装配置环境变量 环境变量:将OCR根目录配置到环境path里 添加 TESSDATA_PREFIX 为语言包的路径 2.修改tif 文件名称 tif文件命名格式[lang] ...

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

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

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

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

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

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

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

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

  8. Tesseract OCR论文笔记及使用说明

    1.Tesseract介绍 Tesseract是惠普布里斯托实验室在1985到1995年间开发的一一个开源的OCR引擎,曾经在1995 UNLV精确度测试中名列前茅.但1996年后基本停止了开发.20 ...

  9. jTessBoxEditor for Tesseract OCR

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

最新文章

  1. 最牛程序员,雷军年度演讲:最好的投资,就是投资自己
  2. win7 命令行设置DNS,建立集测环境
  3. SimpleDateFormat和DateFormat类不是线程安全的。
  4. 异步加载js的三种方法
  5. mysql主从配置 windows_windows实现mysql主从配置
  6. 2020年第十一届蓝桥杯 - 省赛 - CC++大学A组 - B.既约分数
  7. vs运行时 文本可视化工具 无法点开_webpack 优化:2 款工具帮你找到构建速度“变慢”的原因...
  8. 理论基础 —— 排序 —— 计数排序
  9. 基于JAVA+SpringBoot+Mybatis+MYSQL的社团管理系统
  10. 数据结构专题(二):2.2单链表与顺序表,求元素个数,取值与查找
  11. 张珺 2015/07/13 个人文档
  12. 解决ASP.NET中Redis 每小时6000次访问请求的问题
  13. 190106每日一句
  14. Microsoft Office 2021 简体中文正式版下载
  15. kux格式怎么转换 kux完美转换成MP3音频的技巧分享
  16. 【机器学习实战】决策树算法:预测隐形眼镜类型
  17. 树莓派+L9110S电机模块
  18. 摩尔线程与Ampere Computing达成合作
  19. 数据库中LIMIT和 OFFSET的理解
  20. Flutter-Container详解

热门文章

  1. CAD2016获得当前布局代码C#
  2. Username for ‘https://github.com‘:
  3. 数据库顶级会议——SIGMOD介绍
  4. 安装centos7显示器分辨率不适配的解决办法
  5. android删除文件恢复app,手机删除文件怎么恢复?手机恢复删除App
  6. NX二次开发-UFUN移动工程图视图到另一个图纸页UF_DRAW_move_view_to_drawing
  7. 【机器学习】笔记3:Perceptron 感知机
  8. 西安培训机构python最新排名来啦
  9. 什么是高并发,高并发解决方案
  10. 数据库应用技术(oracle)