如何将 tessdata_best 用于 tesseract (pytesseract)。论据和程序是啥?

Posted

技术标签:

【中文标题】如何将 tessdata_best 用于 tesseract (pytesseract)。论据和程序是啥?【英文标题】:how to use tessdata_best for tesseract (pytesseract). What are the arguments and procedure?如何将 tessdata_best 用于 tesseract (pytesseract)。论据和程序是什么? 【发布时间】:2020-12-23 16:03:38 【问题描述】:

TL;DR:我如何在conda 中安装tessdata_best 以在conda 中与pytesseract 一起使用Ubuntu 18

我在conda 环境中使用pytesseract 已经有一段时间了,但是需要提高准确性,我发现tessdata_best 可以提供最佳的准确性。如何安装和使用该版本?我正在使用Ubuntu 18,并且必须使用pytesseract

我的tesseract 安装在/usr/share/tesseract-ocr/,里面只有1 个tessdata

我是否需要通过将tessdata_best 复制到目录/usr/share/tesseract-ocr/ 旁边的tessdata 来从github 获取tessdata_best

即便如此,如果我想使用tessdata-best,我必须使用什么?我是否需要将config 更改为--oem 0/1/2/3

第三也是最后一件事是我的language.trainedata 文件位于/home/deshwal/anaconda3/envs/py36/share/tessdata/eng.traineddata。我还需要在这个位置粘贴tessdata_best 吗?因为当我尝试更改语言目录时,它给我的错误如下:

/home/deshwal/anaconda3/envs/py36/share/tessdata/equ.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'equ\' Tesseract couldn\'t load any languages! Could not initialize tesseract.'

【问题讨论】:

如果您找到了答案,请告诉我。如果您还没有,请尝试研究在新图像上重新训练 Tesseract - 这是一个相当长的学习曲线,但我认为最终还是值得的。祝你好运! 你找到答案了吗?我想使用 tessdata_best 但我不知道如何使用。 @captaincustard 到目前为止一点运气都没有 【参考方案1】:

我不知道我是否清楚地理解了您的问题,但是如果下面有帮助,请告诉我... 您需要将数据路径设置为复制 tessdata_best 训练模型的位置,例如,

Tesseract tesseract = new Tesseract(); // JNA 接口映射 tesseract.setDatapath("/home/tesseract/tessdata_best_4_0_0/tessdata");

您从 (https://github.com/tesseract-ocr/tessdata_best) 下载的所有 .traineddata 文件都应放在您在 setDataPath 中定义的目录中(例如:/home/tesseract/tessdata_best_4_0_0/tessdata)。

请注意:这些模型仅适用于 Tesseract 4 的 LSTM OCR 引擎,因此请确保您使用了库 4.1 或更高版本。

问候, 毛利克

【讨论】:

以上是关于如何将 tessdata_best 用于 tesseract (pytesseract)。论据和程序是啥?的主要内容,如果未能解决你的问题,请参考以下文章

将 Tess4J 作为 Eclipse 中的库包含到 Java 项目中

利用Tess4J实现图片识别

试图让 Tess4J 工作

java使用tess4j 小白教程

Tesseract:如何导出文本和边界框?

Tesseract - 错误 net.sourceforge.tess4j.Tesseract - null