简介
@tessdata/mar
是一个基于 Tesseract-OCR 训练数据实现的 OCR 识别库,可用于对图片进行文字识别,支持多种语言。本文将向你介绍如何使用 @tessdata/mar
包实现文字识别。
安装
使用 NPM 安装 @tessdata/mar
包:
npm install @tessdata/mar
使用
首先,我们需要准备一个待识别的图片,所有待识别的图片应该放在同一个文件夹内,例如 /path/to/img_folder
。
创建一个 JavaScript 文件,引入 @tessdata/mar
包:
const { createWorker } = require('tesseract.js');
使用 createWorker
方法创建一个 worker 对象,并指定识别语言:
-- -------------------- ---- ------- ----- ------ - -------------- --------- --------------------- ------- - -- --------------- ------------- --- -- ------------------- ----------- ------------------------------------- -------------- - ---------- ----------------- -------------- -- --------------------- - -- --------------- -- ------------- -------------------- ---
这里我们指定了 langPath
参数来指定识别语言,logger
用于记录日志,errorHandler
用于处理错误。workerPath
指定了 tesseract.js-core
的路径,workerOptions
可以设置 cachePath、maxNumWorkers 和 workerMessageHandler 等参数。
接下来,我们需要初始化 worker,并指定要识别的文件夹路径:
const init = async () => { await worker.load(); await worker.loadLanguage('eng'); await worker.initialize('eng'); const result = await worker.recognize('/path/to/img_folder'); console.log(result.data.text); await worker.terminate(); };
wait worker.load()
) 和 worker.initialize('eng')
分别用于加载语言和初始化 worker。worker.recognize('/path/to/img_folder')
方法会对指定图片进行识别,返回的结果为识别出的文字内容字符串,输出结果并关闭 worker。
示例代码
-- -------------------- ---- ------- ----- - ------------ - - ------------------------ ----- ---- - ----- -- -- - ----- ------ - -------------- --------- --------------------- ------- - -- --------------- ------------- --- -- ------------------- ----------- ------------------------------------- -------------- - ---------- ----------------- -------------- -- --------------------- - -- --------------- -- ------------- -------------------- --- ----- -------------- ----- --------------------------- ----- ------------------------- ----- ------ - ----- ---------------------------------------- ------------------------------ ----- ------------------- --
总结
通过本文的介绍,相信你已经了解了如何使用 @tessdata/mar
进行文字识别。在使用过程中,我们可以根据需要指定不同的语言进行识别,同时通过各种配置参数对识别过程进行更加详细的设置。在实际使用过程中,你还可以根据自己的需求对示例代码进行适当的修改,以实现更多功能的实现。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005625881e8991b448df956