龙空技术网

js文字识别OCR,由谷歌开源,支持任何语言Tesseract

Git风去云往 3256

前言:

现时兄弟们对“jsocr”大约比较注重,各位老铁们都需要剖析一些“jsocr”的相关知识。那么小编在网上搜集了一些关于“jsocr””的相关资讯,希望我们能喜欢,小伙伴们一起来学习一下吧!

Tesseract.js是一个JavaScript库,是由谷歌开源的一个库,是Tesseract的js版本。可以从图像中获取几乎任何语言的单词。包括:图像识别、视频实时识别。

Tesseract.js包装了Tesseract OCR引擎的Webassembly端口。 它在浏览器中使用 webpack 或带有 CDN 的纯脚本标签,并使用 Node.js 在服务器上工作。

同时支持多种语言,例如:英语和繁体中文的eng+chi_tra支持的图像格式:png,jpg,bmp,pbm支持WebAssembly支持打字稿为支持的设备添加了支持 SIMD 的构建添加了旋转预处理选项(包括自动旋转),可显著提高精度现在可以检索处理后的图像(旋转、灰度、二进制)改进了对并行处理(调度程序)的支持createWorker是异步的getPDF功能被识别选项取代pdf支持多线程

以下是识别效果

识别前原图

识别结果

使用方法安装

Tesseract.js通过本地副本或CDN使用标签,通过Node和在Node上使用webpack.js使用。

<script>、npm、npm/yarn

CDN方式

<script src=';></script>

npm方式

# For latest versionnpm install tesseract.jsyarn add tesseract.js# For old versionsnpm install tesseract.js@3.0.3yarn add tesseract.js@3.0.3
安装后使用

方式1:

import Tesseract from 'tesseract.js';Tesseract.recognize(  ';,  'eng',  { logger: m => console.log(m) }).then(({ data: { text } }) => {  console.log(text);})

方式2:

import { createWorker } from 'tesseract.js';const worker = await createWorker({  logger: m => console.log(m)});(async () => {  await worker.loadLanguage('eng');  await worker.initialize('eng');  const { data: { text } } = await worker.recognize(';);  console.log(text);  await worker.terminate();})();

在浏览器环境中,只需提供 API 层。在内部,它会打开一个 Web Worker 来处理请求。该工作线程本身从 Emscripten 构建的代码加载代码,该代码本身托管在 CDN 上。然后,它会动态加载托管在另一个 CDN 上的语言文件。tesseract.jstesseract.js-core

因此,我们建议从 CDN 加载。但是,如果您确实需要将所有文件放在本地,则可以传递额外的参数来指定工作线程、语言和核心的自定义路径。tesseract.jsTesseractWorker

在 Node.js 环境中,您可能想要自定义的唯一路径是 languages/langPath。

Tesseract.recognize(image, langs, {  workerPath: ';,  langPath: ';,  corePath: ';,})

const worker = await createWorker({  workerPath: ';,  langPath: ';,  corePath: ';,});

标签: #jsocr