Tesseract-OCR-v5.0中文识别,训练自定义字库,提高图片的识别效果
1,下载安装Tesseract-OCR 安装,链接地址Index of /tesseract
2,安装成功 tesseract -v
注意:安装后,要添加系统环境变量
3,cmd指定目录到 cd C:\Work\BlogsTest\TestPic,要识别图片的文件夹 识别:tesseract test.png result -l chi_sim
识别成功的效果,result.txt文件会自动生成
要注意:Tesseract-OCR的安装目录要包含识别中文的字符集chi_sim.traineddata,可以在GitHub下载GitHub - tesseract-ocr/tessdata: Trained models with support for legacy and LSTM OCR engine
4,可见第3步的识别效果不是很好,想到通过训练自定义字库,提高图片的识别效果
(0)下载安装jTessBoxEditor,VietOCR - Browse /jTessBoxEditor at SourceForge.net
注意要安装JavaRuntime
(1)打开jTessBoxEditor,选择Tools->Merge TIFF,进入训练样本所在文件夹,选中要参与训练的样本图片:
(2)点击 “打开” 后弹出保存对话框,选择保存在当前路径下,文件命名为 “qq66.test.exp0.tif” ,格式只有一种 “TIFF” 可选。
tif文面命名格式[lang].[fontname].exp[num].tif
lang是语言,fontname是字体,num为自定义数字。
比如我们要训练自定义字库 qq66,字体名test,那么我们把图片文件命名为 qq66.test.exp0.tif
(3)使用tesseract生成.box文件
tesseract qq66.test.exp0.tif qq66.test.exp0 -l chi_sim --psm 6 batch.nochop makebox
注意:--psm的语法,数字对应不同的 页面分割模式。
(4)使用jTessBoxEditor矫正.box文件的错误
打开后矫正后,点击 save
(5)生成font_properties文件:(该文件没有后缀名)
执行命令,执行完之后,会在当前目录生成font_properties文件
echo test 0 0 0 0 0 >font_properties
也可以手工新建一个名为font_properties的文本文件,输入内容 “test 0 0 0 0 0” 表示字体test的粗体、倾斜等共计5个属性。这里的“test”必须与“qq66.test.exp0.box”中的“test”名称一致。
(6)使用tesseract生成.tr训练文件
执行下面命令,执行完之后,会在当前目录生成qq66.test.exp0.tr文件。
tesseract qq66.test.exp0.tif qq66.test.exp0 nobatch box.train
(7)生成字符集文件:
执行下面命令:执行完之后会在当前目录生成一个名为“unicharset”的文件。
unicharset_extractor qq66.test.exp0.box
(8)生成shape文件:
执行下面命令,执行完之后,会生成 shapetable 和 zwp.unicharset 两个文件。
shapeclustering -F font_properties -U unicharset -O qq66.unicharset qq66.test.exp0.tr
(8)生成聚字符特征文件
执行下面命令,会生成 inttemp、pffmtable、shapetable和zwp.unicharset四个文件。
mftraining -F font_properties -U unicharset -O qq66.unicharset qq66.test.exp0.tr
(9)生成字符正常化特征文件
执行下面命令,会生成 normproto 文件。
cntraining qq66.test.exp0.tr
(10)文件重命名
重新命名inttemp、pffmtable、shapetable和normproto这四个文件的名字为[lang].xxx。
这里修改为qq66.inttemp、qq66.pffmtable、qq66.shapetable和qq66.normproto
(11)合并训练文件
执行下面命令,会生成qq66.traineddata文件。
combine_tessdata qq66.
最后文件目录
5,用新生成的qq66.traineddata字符集,重新识别身份证
6,可以同时选择多个不同的样本生成box文件
7,在原有训练数据的基础上,加入新的字符训练信息
经研究找到实用合并方法(红色部分为示例,实际应为你自己生成的文件名):
在新的训练数据生成.box 和.tr文件后,
生成字符集 unicharset_extractor add.font.exp0.box new.font.exp0.box
合并训练数据(.tr)
mftraining -F font_properties -U unicharset -O added.unicharset add.font.exp0.tr new.font.exp0.tr
聚合所有的tr文件:
cntraining add.font.exp0.tr new.font.exp0.tr
8,设置图片分割模式
Page segmentation modes:
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.
例如:
tesseract test.png result -l chi_sim -psm 7 nobatch
Tesseract-OCR-v5.0中文识别,训练自定义字库,提高图片的识别效果相关推荐
- java图片片识别中文_Java中使用tess4J进行图片文字识别(支持中文)
Java 版本:建议JDK1.8 使用的软件是tesseractocr3.02,3以后的版本才支持中文, 这个软件需要安装在本地电脑中,安装的过程中全部都按照默认进行安装(以便于Java直接调用) 代 ...
- 使用Tesseract-OCR训练自定义字库
文本识别 前言 由于我的个人博客之前挂了,一直没来得及迁移,所以又重新拾起了csdn- 在利用python进行文本识别时,使用tesseract往往是一个非常好的选择,且tesseract支持自己训练 ...
- python文字识别算法_Python图像处理之图片文字识别(OCR)
OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几 ...
- 视频识别训练2.3(实现TensorFlow视频识别)
盯住梅西:TensorFlow目标检测实战 https://baijiahao.baidu.com/s?id=1581115075233058548&wfr=spider&for=pc ...
- 英文识别 java_Java-百度API的图片文字识别(支持英文)
PS: 基于Java 1.8 版本控制:maven 使用之前需要获取对应的项目API_KEY,SECRET_KEY,这些参数在使用API的时候必须用到,用于生成access_token. 如何获取这些 ...
- python识别文字软件_|python图片文字识别扫描工具下载免费版 - 欧普软件下载
python图片文字识别扫描工具是一款文字识别软件,软件基于Python和百度识别接口设计而来,可快速识别图片中的文字,写入TXT文件,支持快捷键F1截屏,虽说是基于命令行的操作,但是操作也算简单,需 ...
- Python人工智能之图片识别,一行代码实现图片文字识别
我们以识别诗词为例 下面是我们要识别的图片 先看下效果图 我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来. 一行代码就能识别图片,我们背后要做些准备工作的 •这里我们需要用到 ...
- 强大的抓包工具 Fiddler Web Debugger v5.0 中文破解版
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 . 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试 ...
- python图片识别训练汽车_python实现图片识别汽车功能
本文实例为大家分享了python实现图片识别汽车的具体代码,供大家参考,具体内容如下 准备工作 1.登陆 2.安装 pip install baidu-aip 模块 原理读取图片的二进制信息,调用百度 ...
最新文章
- Android ListView (多个adapter 说明)
- 求二叉树最长路径长度和
- 问题引发由于与GI相关的python脚本中的错误,Gnome终端无法启动
- HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测
- 程序员离职代码交接_程序员离职大半个月,被老板命令回单位讲代码,员工:一次1万...
- 3144: [Hnoi2013]切糕
- 有史以来最强的 5G 入门科普!
- MATLAB实现智能优化算法
- 2022年下半年软考报名时间汇总,最新版!
- 计算机科学发展与大规模集成电路,计算机科学与技术发展趋势
- 资产配置(理论+模型),科学找圣杯
- 基于python技术的酒店管理系统
- Linux下Teamviewer安装、设置及开机启动
- 静态HTML网页设计作品——动漫电影《你的名字》(7页) HTML+CSS大作业_ 动漫电网页制作作业_动漫电网页设计...
- 用fiddler+chrome搞定在线学习网站
- 春风十里不如Node中的一股清流
- 【机器学习】线性回归与逻辑回归的理论与实战
- 基于SSM的超市会员管理系统
- 采用FFmpeg从视频中提取音频(声音)保存为mp3文件
- 计算机屏幕大小怎么计算,电视机尺寸怎么算 电视机的尺寸换算公式