js识别图片中的文字插件 tesseract.js

使用方法及步骤

1.安装依赖

npm i tesseract.js

2.引入插件

import { createWorker } from 'tesseract.js';//worker多线程引入这个

import Tesseract from 'tesseract.js';//js单线程引入这个

3.使用插件识别图片

    //使用worker线程识别
    (async () => {
      console.time()
      const worker = await createWorker({
        logger: m => console.log(m) //输出识别中的日志信息,可以使用 status为'recognizing text'时的 progress 做进度条展示
      });
      await worker.loadLanguage('eng');// eng(英文) / chi_sim(简体中文) / chi_tra(繁体中文) / eng+chi_sim(英文+简体中文) / (如果有多种语言用+连接即可)
      await worker.initialize('eng');//使用一种语言会快一些,多种语言混合会慢一些
      const { data: { text } } = await worker.recognize('https://tesseract.projectnaptha.com/img/eng_bw.png');
      console.log('识别结果:',text); //text是最后识别到的内容
      console.timeEnd()
      await worker.terminate();//终止worker线程,节省内存资源
    })();

//直接在js线程中识别
Tesseract.recognize(
  'https://tesseract.projectnaptha.com/img/eng_bw.png',
  'eng',
  { logger: m => console.log(m) }
).then(({ data: { text } }) => {
  console.log(text);
})

注意事项:

  1. 支持的语言可以参考language配置
  2. 正式环境推荐使用worker多线程,防止阻塞js的单线程资源
  3. 图片可以是如下类型:

同时支持浏览器环境和node环境:

  • string with base64 encoded image (fits data:image\/([a-zA-Z]*);base64,([^"]*) regexp)
  • buffer

只支持浏览器环境:

  • File 或者 Blob object
  • img 或者 canvas element

只支持node环境:

  • 本地图片的路径地址

注意:图像必须是支持的图像格式和支持的数据类型。例如,支持包含png图像的缓冲区。不支持包含原始像素数据的缓冲区。

插件地址

tesseract.js

附其他插件地址

ocrad.js

你可能感兴趣的:(javascript,tesseract.js)