npm 包 tesseract-wrapper 使用教程

阅读时长 4 分钟读完

Tesseract 是由 Google 开发的一个开源 OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种语言的文字,包括中文、日文、韩文等。而在前端开发中,可以使用 npm 包 tesseract-wrapper 来调用 Tesseract 实现 OCR 功能。本篇文章将详细介绍如何使用 tesseract-wrapper。

tesseract-wrapper 的安装与引入

首先需要使用 npm 安装 tesseract-wrapper:

然后在代码中引入 tesseract-wrapper:

tesseract-wrapper 的使用方法

tesseract-wrapper 可以通过 recognize 方法识别图片中的文字。该方法有两个参数:图片的路径和一些参数配置。

下面是一个简单的例子:

上述代码中,recognize 方法的第一个参数是图片的路径,第二个参数是可选的配置项。该方法返回一个 Promise,如果识别成功,Promise 将会 resolve 并返回一个 Result 对象,该对象包括识别出的文本 text 和可信度 confidence 等信息。

参数配置

recognize 方法可以接受一个对象作为第二个参数,该对象可以设置识别的语言、识别区域、输出格式等:

  • lang:识别的语言,默认为 'eng',可以指定为其他语言代码,例如中文 'chi_sim'。
  • psm:识别区域,默认为 '3',可以设置为其他值,例如 '11' 表示识别单个字符。
  • oem:Tesseract 引擎的使用模式,默认为 '3',可以设置为 '0''1''2'
  • preserve_interword_spaces:是否保留单词间的空格,默认为 false
  • tessedit_char_whitelist:指定识别的字符白名单,默认为 null,表示识别所有字符。

下面是一个包含配置项的例子:

更多使用方法

除了识别图片中的文字,tesseract-wrapper 还提供了其他一些方法,例如加载语言数据包、识别多张图片等详情请见 tesseract-wrapper 官方文档

常见问题及解决方法

在使用 tesseract-wrapper 过程中可能会遇到一些问题,例如识别率低、识别速度慢等。下面是几个常见问题及其解决方法:

  • 识别率低:Tesseract 引擎的识别结果与图片的清晰度、文字大小、字体等相关,建议优化图片质量、调整引擎参数、指定识别区域等方法提高识别率。
  • 识别速度慢:Tesseract 引擎需要额外加载语言数据包,如果多次调用 recognize 方法,建议先加载语言数据包,以提高速度。另外也可以尝试调整 oem 参数使用不同的引擎模式,以获得更快的识别速度。

示例代码

下面是一个完整的示例代码,演示如何使用 tesseract-wrapper 实现图片文字识别并输出识别结果:

总结

tesseract-wrapper 提供了方便的接口来调用 Tesseract 引擎实现 OCR 功能,使用起来比较简单。不过在具体使用时需要根据需要配置相应的参数,以获得更好的识别结果。

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

纠错
反馈