前言
在前端开发中,图像识别技术日益成熟,OCR(Optical Character Recognition,光学字符识别)也是其中之一,可以将图片中的文字转换为可编辑的文本。而 @tessdata/ces 正是一个 OCR 包,可以实现图像识别与提取文本,让我们在日常工作中更加高效。
安装
在使用前,需要先进行安装。使用 npm 即可:
npm install @tessdata/ces
使用
加载模型
首先,我们需要加载 OCR 模型,通过下面的代码实现:
-- -------------------- ---- ------- ----- - ------------ - - ----------------------- ----- ------ - -------------- -- ------- --------- ------------------------------------------------------ ----- ----- -- ----- ------------- ----- ------------------------------ ----- ----------------------------
我们通过 createWorker 方法来创建一个 tesseract.js 的 worker 对象,并且加载中文语言包 chi_sim.traineddata.gz
,初始化完成之后,就可以开始提取文本了。
提取文本
下面是一个基础的例子,通过图片提取中文:
-- -------------------- ---- ------- ----- - ------------ - - ----------------------- ----- ------ - -------------- --------- ------------------------------------------------------ ----- ----- -- ----- ----------- - -------------------------------- ----- ------ - ----- -- -- - ----- ------------- ----- ------------------------------ ----- ---------------------------- ----- - ---- - - ----- ----------------------------- ---------------------- ----- ------------------ - -----------------------------
其中,我们通过 fs 模块读取图片文件,然后传入到 worker.recognize
方法中,进行 OCR 处理,最终通过 data.text 属性可以获取到提取的文本。
监听 OCR 过程
如果图片过大,OCR 处理需要较长时间,为了方便,我们可以通过监听的方式,了解 OCR 处理的进程。下面是一个监听进度的例子:
-- -------------------- ---- ------- ----- - ------------ - - ----------------------- ----- ------ - -------------- --------- ------------------------------------------------------ ----- ----- -- ----- ----------- - -------------------------------- ----- ------ - ----- -- -- - ----- ------------- ----- ------------------------------ ----- ---------------------------- ----------------------------- - -- -- -------- -- --------- ------ -- - ----------------- -- -- ----- - ---- - - ----- ------------------------ --- -------- --------------------------------- ----- ---------------- ----------- ----- ------------------ - -----------------------------
在 worker.recognize
方法中,传入一个 options 对象,监听 progress 事件,在事件中,我们可以获取到 OCR 处理的进程,从而让我们更好地了解 OCR 的处理情况。
总结
通过本文,我们了解到了 @tessdata/ces 包的使用方法,实现了图片 OCR 文本提取功能,并且了解了如何监听 OCR 处理进程。这将会在我们的日常工作中提升效率,同时也为图像识别科技的发展提供了帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005624b81e8991b448df8c0