npm 包 @tessdata/ces 使用教程

阅读时长 4 分钟读完

前言

在前端开发中,图像识别技术日益成熟,OCR(Optical Character Recognition,光学字符识别)也是其中之一,可以将图片中的文字转换为可编辑的文本。而 @tessdata/ces 正是一个 OCR 包,可以实现图像识别与提取文本,让我们在日常工作中更加高效。

安装

在使用前,需要先进行安装。使用 npm 即可:

使用

加载模型

首先,我们需要加载 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

纠错
反馈