npm 包 @tessdata/msa 使用教程

阅读时长 5 分钟读完

前置知识

在学习和使用 @tessdata/msa 包前,你需要掌握以下知识:

  • JavaScript 基础语法
  • Node.js 的安装和使用
  • npm 包管理器的使用

如果你还不熟悉以上知识,建议先学习一下。

简介

@tessdata/msa 是一个由 Tesseract OCR 提供的 npm 包,该包提供了一个多种字体支持的 OCR 模型。

OCR(Optical Character Recognition)即光学字符识别,是一种将图像转化为文本的技术,常常被用于数字化文档和自动化数据录入。

安装

安装 @tessdata/msa 可以使用 npm 包管理器,打开终端并输入以下命令:

使用

在使用 @tessdata/msa 前,你需要先准备一张图片,并将其放在你的项目中。这里假设你将图片命名为 sample.png,并将其放在了项目的根目录中。

在您的 JavaScript 文件中,使用以下语句导入 @tessdata/msa 包:

识别图片

识别图片的最基本使用方法如下:

解析:

  • recognize() 方法接受三个参数:图片路径、语言代码和配置对象。我们将图片路径设置为 ./sample.png,将语言设置为 'eng'(代表英语),并将配置对象写为一个对象字面量。

  • 配置对象中传入了 logger 属性,这表示在识别图片的过程中将日志信息输出到控制台。

  • then() 方法将于识别结束后执行,它从返回的结果中提取 OCR 识别出的文本,并将其输出到控制台。

更多配置

@tessdata/msa 提供了一些配置选项,可以用于优化你的 OCR 识别。

whitelist / blacklist

在 OCR 识别的过程中,你可以传入一个 whitelist 属性或 blacklist 属性来筛选你想要或不想要识别的字符。以下是筛选数字的例子:

这里我们将白名单设置为数字集合 0123456789

类似地,你还可以使用黑名单,它将过滤你不希望识别的字符。

tessedit_char_whitelist / tessedit_char_blacklist

whitelistblacklist 的另一个版本 tessedit_char_whitelisttessedit_char_blacklist ,它们虽然功能类似,但使用方式会有一些不同。

whitelist 属性的功能在该代码段中被改为了 tessedit_char_whitelist

psm

psm(Page segmentation mode)是一种表示 OCR 引擎金额:在识别文本时要采用的页分段模式。Tesseract 提供了多种页分段模式,以适应不同种类的文本。

如下代码演示了如何使用 psm 属性来指定页分段模式:

其中,psm 设置为 3,一般用于文本检测。

other languages

@tessdata/msa 内置了多种语言的 OCR 模型。可以使用以下代码指定不同的语言:

这里我们将语言设置为 'fra',代表法语。你可以在 ISO 639-2/3 code 中查找所有可用的语言代码。

总结

我们通过一个简单的例子,学习了如何使用 @tessdata/msa 这个 OCR 模型 npm 包。在实际开发中,使用这个包可以帮助我们从图片中提取数据,实现自动化的数据处理和录入,提高我们的开发效率。同时,我们也了解了一些定制化配置,可以帮助我们更好地应用 @tessdata/msa 包到我们的项目中。

示例代码

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005625881e8991b448df958

纠错
反馈