前置知识
在学习和使用 @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
whitelist
和 blacklist
的另一个版本 tessedit_char_whitelist
和 tessedit_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