使用Tesseract-OCR训练自己的数据集,提高OCR准确率

关于提高PaddleOCR识别准确率的一些优化(三) 关于提高OCR识别准确率的一些优化(三)前言一、优化思路二、完整代码测试总结 前言 1、本文基于上一篇文章:关于提高OCR识别准确率的一些优化(二)进行了一些优化,将图片方向识别准确率提升至96%。 2、在阅读这篇文章之前,建议先看上一篇,以便更好的理解 一、优化思路 1、在上一篇文章中,我们使用paddleocr的方向分类器直接判别图片方向,发现效果并不怎么好,而且效率也很低,识别一张图片平均耗时2s。 2、鉴于以上存在的问题,于是想出了一个新的优化方案: 使用paddleocr的文本矩形框检测得到所 阅读详情

1.上一篇文章使用的是训练好的数据集,但是结合自己的需求,会出现一些识别错误的问题,所以需要训练自己的数据集。(需要的朋友可以查看我的上一篇博客)

2.测试完成之后,写成文档,做个记录,同时有需要的朋友可以直接下载文档。

3.文档中有详细的步骤,以及所需的下载链接,都可以下载到,不用在网上各种寻找。

链接:https://pan.baidu.com/s/14AKWDDBzMruCLaeh8NmmxA 
提取码:ybwk 
 

tesseract-ocr的字库学习步骤(训练自己的文库),关于ocr的对图片的解析,包括tesseract的安装(史上最全) tesseract-ocr的字库学习步骤(训练自己的文库) 简介:在网上看了很多案列。都不是很完整。然后自己用了一天时间进行整理,第一次写文章,希望对大家有帮助。 一、安装tesseract 下载地址https://github.com/UB-Mannheim/tesseract/wiki 1.点击下面下载的这个进行运行(安装的时候有点慢) 2.点击next 3.I accept the terms of the License Agreement前的复选框打勾,点击Next。 4.Install f 阅读详情

相关推荐

python的Tesseract-OCR-04-识别,使用jTessBoxEditor 提高数字验证码识别准确率

python的Tesseract-OCR-04-识别,使用jTessBoxEditor 提高数字验证码识别准确率 文章目录前言一、训练图库的生成1.生成训练图库2.图像读取以及二值化3.形态学操作4.保存图像以及批量生成二、数字验证码识别1.安装训练工具2.获取训练图库3.Merge样本文件4.生成BOX文件5.字符配置文件6.编辑字符7.执行批处理文件7.移动num.traineddata文件三、识别数字验证码四、总结 前言 第二次写博文了,也可以说是自己的学习笔记,希望对你们也有帮助,有问题有错误,

weixin_46874767的博客 2775

如何训练专属的OCR文字识别模型

随着文档数字化的发展,光学字符识别 (OCR) 变得越来越流行,OCR 在处理基于图像的文档中发挥着至关重要的作用。基于电商APP移动端的业务场景,是否也能利用OCR来为用户提供更加便利的购物体验呢。

关于Android开发的一些技术点总结 ╮( ̄▽ ̄”)╭ 1万+

Tesseract-OCR 训练中文

为了提高Tesseract库的中文识别率,可以对它进行中文字的训练。 1.首先安装Tesseract。这里注意要安装,因为安装的程序里面包含其他训练用到的程序,编译版本没有这些工具。 2.下载jTessBoxEditor工具。这个工具是Java写的,运行需要JRE。这个工具主要是用来修改BOX文件的,用来校对文字。下图为该工具的目录,直接点击红框中的程序即可跑起来。 这次准备

Leo的历练之道 1万+

Tesseract-ocr自己做训练样本库来进行字符识别

使用默认的语言库识别 1.安装Tesseract         从http://code.google.com/p/tesseract-ocr/downloads/list下载Tesseract,目前版本为Tesseract3.02。因为只是测试使用,这里直接下载winodws下的安装文件tesseract-ocr-setup-3.02.02.exe。安装成功后会在相应磁盘上生成

lilin020401的专栏 9631

Tesseract-OCR的训练与使用

Tesseract-OCR的训练和使用 概述:用4幅手写数字图片为训练样本,1幅为测试样本,按下面方法得Tesseract-OCR训练字库num.traineddata,最终识别结果准确率较高。

liangfeihong的专栏 2250

Tesseract-OCR的训练

参照:

优快云xiaozhi的博客 1169

使用tesseract训练自己的字库简单方法软件一键训练

tesseract-ocr训练相信在网上大家都看到过,其使用过程需要敲打很多命令而且容易出错,由于每个人的文章层次不齐,导致有的安装其流程或者方法更本行不通,或者卡壳。为了解决训练困难,FIRC最近开发了一个小工具,可以不用写任何代码,您只需要打开软件导入图片,修改校正文字位置和正确文字即可快速得到自己traineddata文件。具体使用方法如下: 第一步:生成BOX:打开软件 导入图片目录,然后选择自己对应图片格式点击生成BOX即可在软件data文件夹下面生成box文件和tif文件,如果您想使

FL1623863129的博客 4731

航测无人机las点云数据生成DEM

“ 做航测的同僚都知道,Pix4D或者CC(ContextCapture)都可以生成DSM,往往高程点提取以及土方计算都需要用到DEM,PhotoScan软件可以提出地面点并只应用地面点连接三角网,然而分类效果差,生成的DEM不管是平整度还是精度,都不理想。而传统等高线生DEM需要耗费较长时间,以下提供一种参考方法,供大家探讨。 ” 1 点云数据 航测类软件大多可以生成点云数据,如Pix4D,PhotoScan,CC等,此次点云数据为citymapper2相片基于CC生产的Las点云。 2 筛选地面点 筛.

qq_43173805的博客 1万+

Tesseract-OCR5.0字体训练以及提高准确率、提升训练效率的方法

tesseract训练,提升训练准确率,提升训练效率的方法

桔子code 的博客 3万+

Ubuntu Server 22.04.5系统安装教程

该教程主要是演示在服务器上安装Ubuntu server 22.04系统的详细步骤,主要包含,安装系统前的准备(镜像的下载,启动盘的制作),安装系统时的语言选择,网络设置,切换镜像源(可根据实际需求来配置,本文使用清华镜像源),手动分区,用户设置,ssh服务安装等。以上就是关于Ubuntu Server 22.04系统安装的详细过程。

逆水行舟,不进则退。 7761

Concentration Inequality(集中不等式)更新版

欢迎来我博客 https://wyue.name/2020/04/17/1/阅读这一篇博文 转载前请联系我,联系方式请见我博客 https://wyue.name/ Concentration inequality 刻画了一组随机变量的和(或者样本平均数)与其期望值的偏离程度,在算法收敛性分析过程中是非常有用的一类不等式。 这次主要总结一下最近一段时间遇到的集中不等式,不仅是不等式形式,...

Yue的博客 4554

Tesseract-OCR-v5.5 jTessBoxEditor训练

之前写过python用tesseract-ocr做图像识别, 虽然Tesseract-OCR有chi_sim数据集识别中文,但有时不太精准,需要自行矫正,提高准确率。

愤怒的苹果ext的博客 2390

Unity2018连接MySQL数据库

当前在做的一个Unity项目需要连接到MySQL数据库,弄了一整天,排了很多错,终于在Unity上成功连接到MySQL数据库了,所以分享一下,避免有这个需求的朋友不用花那么多时间。 我使用的软件是 Unity20184.0f1 + mysql-8.0.24 导入 MySql.Data.dll 首先需要把 MySql.Data.dll 导入到Assets/Plugins 这个dll需要安装Connector/NET,在安装目录\Assemblies\v4.0中拿到,最好不要下载版本太高的,版本太高导入的时候

ZLX的博客 9449

jTessBoxEditor 训练

在基于tesseract-ocr的图片文字识别中,可以通过jTessBoxEditor 进行训练,以提高图片文字的识别率。本文简单记录下训练的方法与步骤。 从网站https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/下载jTessBoxEditor,解压到本地即可。运行jTessBoxEditor...

long2010110的专栏 8939

基于PCIe的NVMe协议在FPGA中实现方法

NVMe协议是工作在PCIE的最上层协议层的,故需要先搞清楚PCIE。本文基于Xilinx的UltraScale+,开发工具为Vivado2021.2。NVMe的学习仍以spec为主,其它资料辅助理解,有冲突时以spec为准,必要时可对比最新版本spec。(此文重点介绍学习方法及资料,有时间再加细节)。 主要参考的文章是《老男孩读PCIe》,同时参考《古猫先生》,重点学习TLP报文部分,数据链路层和物理层的内容可以先不看。再买一本书《PCI Express 体系结构导读-王齐》用来查阅做笔记。

leixj的博客 1万+

改进爬山算法之六:随机重启爬山算法(Random-Restart Hill Climbing,RRHC)

随机重启爬山算法(Random-Restart Hill Climbing,RRHC)是爬山算法的一种改进策略,是一种启发式搜索算法,旨在通过随机重启来克服传统爬山算法容易陷入局部最优解的局限性,并增加找到全局最优解的概率。随机重启爬山算法通过在多次运行中不断尝试不同的初始解,并在每次运行中执行标准的爬山算法,最终选择所有运行中找到的最佳解作为最终结果。(1)计算复杂度:由于需要多次运行爬山算法,因此算法的计算复杂度可能较高,特别是在解空间较大或每次迭代需要较长时间的情况下。

搏博的专栏 2206

Tesseract训练生成新的语言库

 在使用Tesseract进行图像识别时,对在识别汉字或一些字符时会出现识别不正确的情况。此时就需要自己调整训练生成新的语言库,本片文章用来简单介绍使用jTessBoxEditor进行训练生成新的语言库。一.前期准备:1.jdk1.8或1.8以上。2.jTessBoxEditor,下载地址:https://sourceforge.net/projects/vietocr/?source=...

笑的博客 1326

ASPICE1-配置管理

SUP.8配置管理 BP1:开发配置管理策略 BP2:识别配置项 BP3:建立配置项管理系统 BP4:建立分支管理 BP5:控制变更和发布 BP6: 建立基线 BP7:报告配置项状态 BP8:验证配置项信息 BP9:管理配置项和基线的存储 1.配置管理概念 配置管理(Configuration Management,CM)是通过使用技术或行政手段对软件产品进行控制,以实现对软件开发过程和生命周期进行控制、规范的一系列措施。 完整性、一致性、可控性。 2.配置管理的主要活动: 1.

HDZQ2005的专栏 3687

tesseract识别验证码

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33720956的博客 260

1.07---共识机制详解(PoW、PoS、DPoS 对比)

【摘要】区块链能成为“无需信任的协作网络”,靠的正是它的“共识机制”。本节将深入剖析 PoW、PoS、DPoS 等核心共识模型,并结合以太坊从 PoW 到 PoS 的转型与 Solana 等新型方案,为你拆解这一决定区块链运行方式、性能、安全性的“发动机系统”。什么是共识机制?为何不是多数投票这么简单?三大主流共识算法(PoW、PoS、DPoS)机制对比与演化路线以太坊从 PoW 到 PoS 的转型细节(The Merge)Solana 的 PoH + PoS 混合共识机制解析。

鄙人kunzhi96,感恩遇见! 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python OCR Tesseract 训练

Ps:Tesseract识别英文和字母效果好 中文的话,虽然有训练数据也可以识别,但是效果不是很好 Tesseract的安装和使用: 1.首先用 pip 下载包 pip install tesseract 这时还没法直接用,还要下载一些东西 2.tesseract 我下载的是5.0 64位的版本 3.配置环境变量 把上面下载的Tesseract-ocr的目录添加到Path中 4.可以使用了 from PIL import Image import pytesseract text = pytessera

藏经阁 6742

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

tesseract_ocr 字符识别基础及训练字库、合并字库

最近公司让我做文字串识别,通过查阅资料,谷歌的开源框架 tesseract-ocr可以帮助我们进行识别,他可以识别多种语言(一些常用的语言),多种图片格式,非常强大。 首先体验一下tesseract的强大 功能,首先下载 tesseract_ocr,我下载好了,直接点击这里进行下载

why200981317的专栏 3万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Tesseract训练个人字库提高准确率操作全流程(详细)

摘要 本文详细介绍了如何训练自定义Tesseract OCR字库,以提升特定字体识别准确率。主要内容包括:1) Tesseract OCR引擎简介及其应用场景;2) Windows 11系统下的环境搭建步骤,包括Tesseract安装配置、特定版本JDK(OpenJDK 1.8.0_392)安装及jTessBoxEditor工具的使用方法;3) 训练数据准备流程,强调路径不能包含中文等注意事项。文章特别指出了使用新版本JDK导致jTessBoxEditor闪退的解决方案,提供了从环境配置到字体训练的全流程

fxjzzyo的博客 1989

Tesseract-OCR的简单使用与训练

Tesseract-OCR的简单使用与训练

weixin_44143876的博客 5456

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

1,下载安装Tesseract-OCR 安装,链接地址https://digi.bib.uni-mannheim.de/tesseract/ 2,安装成功tesseract -v 注意:安装后,要添加系统环境变量 3,cmd指定目录到 cd C:\Work\BlogsTest\TestPic,要识别图片的文件夹 识别:tesseract test.png result -l chi...

9点0频道 2万+

提高Tesseract-OCR验证码识别率

Tesseract-OCR训练自己需要的语言 在正常使用Tesseract-OCR的默认eng去识别复杂的验证码失败率很高,这时候就需要自己训练出自己需要的语言来提高识别成功率。如何训练呢? 训练提高识别率 从jTessBoxEditor:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/,上下载jTessBoxEditor训练工具,训练工具是java写的,所以需要你电脑上有java环境变量(什么,如何装?妈耶,不会吧不会吧!不会有人

qq_39095899的博客 4131
上一篇: 安装Tesseract-OCR,实现文字识别
下一篇: 使用Win10自带的OCR,Windows.Media.Ocr.Cli.exe
ctgu_sq
博客等级 码龄10年 24粉丝 36原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值