npm 包 @tessdata/msa 使用教程

前置知识

在学习和使用 @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


猜你喜欢

  • npm 包 request-every 使用教程

    在前端开发中,我们需要经常和后端接口进行交互来获取数据或者提交数据,而在这个过程中,我们通常会用到一些封装好的库来帮助我们处理这些请求,其中最常用的就是 request 这个库了。

    3 年前
  • npm 包 rollbar-jquery 使用教程

    在前端开发的过程中,我们经常需要处理错误和异常。这时,一个好用的错误跟踪工具是必不可少的。Rollbar 是一个流行的错误监控和跟踪工具。在本文中,我们将介绍 rollbar-jquery 这个 np...

    3 年前
  • NPM 包 ziptool 使用教程

    介绍 在前端开发过程中,我们常常需要将多个文件或文件夹打包成一个 zip 包进行上传或下载,这时候 ziptool 就可以派上用场了。ziptool 是一个基于 Node.js 平台的 npm 包,可...

    3 年前
  • npm 包 @xxx-trends/react-snapshot 使用教程

    在前端开发中,复杂的应用程序通常需要加载大量的 JavaScript 代码,这不仅会影响页面的加载速度,还会占用用户的带宽。为了解决这个问题,可以使用服务器端渲染(SSR)技术,将应用程序的 HTML...

    3 年前
  • npm 包 custom-is 使用教程

    什么是 custom-is? custom-is 是一个 JavaScript 库,可以用来判断一个变量是否符合我们所定义的规则。它提供了一组基础的校验函数,同时也支持自定义扩展和组合使用。

    3 年前
  • npm 包 vue-retina 使用教程

    在前端开发中,我们经常会遇到需要让我们的网站或应用在高分辨率屏幕下显示更加清晰的需求。这时候,就需要用到一个叫做 vue-retina 的 npm 包来帮助我们处理这个问题。

    3 年前
  • npm 包 gitbook-plugin-commenter 使用教程

    npm 包 gitbook-plugin-commenter 使用教程 在现代 Web 开发中,Git 和 Gitbook 已经成为了必不可少的工具。其中,Gitbook 可以将 Markdown 格...

    3 年前
  • NPM 包 gulp-direct 使用教程

    简介 gulp-direct 是一款基于 Node.js 环境下的自动化构建工具 gulp 的插件,它能够让你更加简单方便地完成项目的构建任务,解放你的双手,让你更专注于业务开发。

    3 年前
  • npm 包 @quantlab/services 使用教程

    npm 是 JavaScript 世界里的包管理工具,现在已成为前端工程师必备的技能之一,通过 npm 将常用的模块封装起来并公开共享在互联网上,我们可以非常方便地在项目中使用这些模块。

    3 年前
  • 前端必学:npm包telegraph.md使用教程

    作为现代前端开发不可或缺的工具,npm已经成为了我们的日常。其中,telegraph.md是一个非常实用的npm包,它可以将Markdown文档转化为HTML格式,并支持自定义样式。

    3 年前
  • npm包@warchet/data 使用教程

    前言 随着Web技术不断发展,前端领域的工作也变得越来越复杂。在前端开发中,我们通常需要使用一些优秀的第三方库来帮助我们完成任务。这些库可以让开发者更有效地编写更好的代码。

    3 年前
  • npm 包 hexlet-braingames-by-mput 使用教程

    Hexlet 是一个在线 IT 教育平台,提供有关编程和计算机科学的课程。 Hexlet Braingames by mput 是一个 Node.js 库,它提供了一系列有趣的智力游戏。

    3 年前
  • npm 包 ps-visitor 使用教程

    在前端开发过程中,我们经常需要对网站或者应用的用户行为进行统计和分析。这时候,一个好用的访问量统计工具就变得尤为重要。npm 包 ps-visitor 就是一个非常不错的选择。

    3 年前
  • npm 包 @codingbull/react-csv 使用教程

    npm 包 @codingbull/react-csv 使用教程 在 React 前端开发中,导出 CSV 文件非常常见,但是如何方便快捷地实现这一功能却常常令开发者头疼。

    3 年前
  • npm 包 canfei 使用教程

    简介 canfei 是一个基于 React 的 UI 组件库,提供了一系列常用的组件,比如 Button、Input、Modal、Spin 等。它的设计理念是简单易用,样式简洁美观,可扩展性强。

    3 年前
  • npm 包 simple-repo 使用教程

    概述 npm 管理器是前端工程师必不可少的工具,其中包含了大量的前端类库,便于我们开发使用。simple-repo 就是其中一个非常实用的 npm 包,它可以帮助我们快速搭建和管理简单的项目仓库。

    3 年前
  • npm包 hyhc-progress-slider 使用教程

    随着前端技术的发展,UI效果也越来越丰富多样化。滑动条是一种在Web应用程序中实现输入互动的通用UI元素,它通常用于选择范围值,调整音量、亮度等参数。本文将介绍一个npm包 hyhc-progress...

    3 年前
  • npm 包 ydb-im-sdk 使用教程

    1. 前言 随着移动互联网快速发展,实时通信技术得到了广泛的应用。而在前端开发中,实时通信往往是一个必不可少的功能。常见的实时通信场景包括聊天、在线客服、呼叫中心等。

    3 年前
  • npm 包 modules-values-extract-6 使用教程

    简介 在 Node.js 和前端开发中,使用模块化开发已经成为了一种标准。在模块化开发过程中,模块之间需要进行数据的传输和处理,而 npm 包 modules-values-extract-6 就是一...

    3 年前
  • npm包electron-redux-connector使用教程

    随着前端技术的不断更新和迭代,越来越多的开发者开始将其目光投向了桌面应用程序的开发。而 electron 是一款可以跨平台开发桌面应用程序的工具包,它是由 GitHub 开发的开源工具,并凭借着其强大...

    3 年前

相关推荐

    暂无文章