前言
在前端开发中,有时需要进行文字识别和处理的操作,而 tesseract 是一个非常优秀的 OCR(Optical Character Recognition,光学字符识别)引擎,我们可以通过 npm 包 node-tesseract2 来使用它。在本篇文章中,我们会详细讲解如何通过 node-tesseract2 进行文字识别,并给出示例代码方便学习和实践。
什么是 tesseract 和 node-tesseract2
Tesseract 是一个由美国卡内基梅隆大学开发的 OCR 引擎,支持超过 60 种语言,并以高精度、高效率、易扩展等优点而著称。而 node-tesseract2 则是一个基于 tesseract 的 Node.js 模块,使我们可以在 Node.js 环境中使用 tesseract 进行文字识别。
安装 node-tesseract2
在使用 node-tesseract2 之前,需要先安装 tesseract。在 Linux/Mac 环境下,可以使用以下命令进行安装:
sudo apt install tesseract-ocr
安装完成后,我们就可以通过 npm 来安装 node-tesseract2 了:
npm install node-tesseract2 --save
node-tesseract2 常用 API
node-tesseract2 提供了丰富的 API,用来满足我们各种需求。下面列出了一些常用的 API:
recognize(imagePath, options, callback)
识别图片
- imagePath: 待识别的图片路径
- options: 一个对象,可选参数包括
- lang: 识别语言,默认为
'eng'
- psm: Page Segmentation Mode,分页模式,取值范围为
0
到13
,默认值为3
(自动分页)
- lang: 识别语言,默认为
- callback: 回调函数,包含两个参数
- err: 错误信息
- result: 识别结果
setBinaryPath(path)
设置 tesseract 可执行文件路径。这个方法用于当 tesseract 不在系统 PATH 变量中时使用。
getBinaryPath()
获取 tesseract 可执行文件路径。
terminate()
关闭 tesseract 进程。
示例代码
下面是一段使用 node-tesseract2 的简单示例代码:
-- -------------------- ---- ------- ----- --------- - --------------------------- ----- --------- - ------------- ----- ------- - - ----- ------ ---- - -- ------------------------------ -------- ----- ------- -- - -- ----- - ------------------- - ---- - -------------------- - ---
总结
本篇文章介绍了如何使用 node-tesseract2 来进行文字识别,包括安装、API 等方面的内容,并提供了一个简单的示例代码。tesseract 在 OCR 领域有着广泛的应用,对于开发者来说,了解、学习 tesseract 和 node-tesseract2 的使用,将有助于我们在相关领域开展开发工作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5551ab1864dac66ad2