概述
这个仓库包含了可以被Tesseract.js使用的各种.traineddata
文件集。这包括Tesseract.js默认使用的文件,以及其他替代版本。以下将解释这些文件的内容以及如何在Tesseract.js中使用它们。
语言数据
以下是每组文件的描述。同时列出了来源,尽管此处使用的版本可能不反映链接仓库中文件的最新版本。
4.0.0_best_int
- "Tessdata Best"的整数化版本- OEM: 仅LSTM
- Tesseract.js默认使用:是
- 当OEM设置为仅LSTM(默认设置)时,这是默认使用的数据。
- 发布到NPM包:是
4.0.0
- "Tessdata"- OEM: LSTM + 传统引擎
- 包含LSTM引擎的"Tessdata Best"整数化版本,以及传统引擎的数据。
- Tesseract.js默认使用:是
- 当OEM设置为传统引擎或带传统引擎回退的LSTM时,这是默认使用的数据。
- 发布到NPM包:是
- 来源:https://github.com/tesseract-ocr/tessdata
- OEM: LSTM + 传统引擎
4.0.0-fast
- "Tessdata Fast"- OEM: 仅LSTM
- Tesseract.js默认使用:否
- 发布到NPM包:否
- 来源:https://github.com/tesseract-ocr/tessdata_fast
4.0.0_best
- "Tessdata Best"- OEM: 仅LSTM
- Tesseract.js默认使用:否
- 这些数据可能比整数化版本大得多,可能导致更长的运行时间。虽然结果可能更准确,但差异通常从可忽略到微小不等。
- 在使用这些数据之前,开发者应该检查文件大小并进行准确性/性能测试,以确认实施是否值得。
- 发布到NPM包:否
- 来源:https://github.com/tesseract-ocr/tessdata_best
3.0.2
- Tesseract v3的历史Tessdata文件- OEM: 仅传统引擎
- Tesseract.js默认使用:否
- 这些是旧文件,可能会在某个时候从此仓库中移除。
- 发布到NPM包:否
NPM包
每种语言的4.0.0
和4.0.0_best_int
文件都发布在特定语言的NPM包中。每种语言都有自己的包,因为将它们合并到一个包中会导致下载量巨大。包名为@tesseract.js-data/{lang}
。例如,英语包名为@tesseract.js-data/eng
。
在Tesseract.js中使用语言数据
有关如何手动设置langPath
的说明,请参阅Tesseract.js文档。以下是有关在此仓库中可以找到文件的位置的详细信息。
CDN
这些文件可以通过任何自动镜像NPM的CDN访问。以下是常见的例子。
JSDelivr(默认)
默认情况下,Tesseract.js使用JSDelivr CDN。以下是JSDelivr上默认英语数据的链接。 https://cdn.jsdelivr.net/npm/@tesseract.js-data/eng@1.0.0/4.0.0_best_int/eng.traineddata.gz
Unpkg
Unpkg是另一个镜像NPM的CDN。在大多数地区,unpkg的可靠性似乎略低于JSDelivr(尽管仍然可用)。然而,有用户报告说在中国的某些地区可以访问unpkg,而JSDelivr被封锁,所以出于这个原因可以使用unpkg。关于这个问题的讨论以及从JSDelivr切换到unpkg
的示例代码可以在这里找到。
以下是unpkg上默认英语数据的链接。 https://unpkg.com/@tesseract.js-data/eng/4.0.0_best_int/eng.traineddata.gz
本地副本
用户可以自由使用这些文件的本地副本,而不是依赖远程CDN。对于Node.js,你可以简单地将相关的NPM包添加为依赖项,或下载文件并将其作为项目资源包含进来。对于浏览器版本,只需下载相关文件并在你的网站上自行托管。
GitHub Pages站点(已弃用)
tessdata.projectnaptha.com
站点已弃用,不再更新。不要在新代码中指向此站点。
在Tesseract.js的旧版本中,默认的langPath
位置是一个简单的GitHub pages站点,托管这个仓库。然而,除了用户报告GitHub pages不可靠外,这个仓库现在已经超过了GitHub pages的大小限制。因此,该站点不再更新。为了避免破坏旧代码,该站点保持原样,但鼓励开发者进行切换。