154

0

Tesseract.js

OCR

支持 100 多种语言的纯 Javascript OCR 可以从图像中获取几乎任何语言的文字。

Tesseract.js 是一个 javascript 库,可以从图像中获取几乎任何语言的文字。演示

图像识别

花式演示 gif

视频实时识别

Tesseract.js 视频

Tesseract.js 包装了Tesseract OCR引擎的emscripten 端口。它在浏览器中使用webpack或带有CDN的纯脚本标签,并在服务器上使用Node.js。安装后,使用起来非常简单:

import Tesseract from 'tesseract.js';

Tesseract.recognize(
  'https://tesseract.projectnaptha.com/img/eng_bw.png',
  'eng',
  { logger: m => console.log(m) }
).then(({ data: { text } }) => {
  console.log(text);
})

或者更命令

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('https://tesseract.projectnaptha.com/img/eng_bw.png');
  console.log(text);
  await worker.terminate();
})();

查看文档以获取 API 的完整说明。

v4 的主要变化

版本 4 包括许多新功能和错误修复——请参阅本期以获取完整列表。下面是几个要点。

  • 添加了旋转预处理选项(包括自动旋转)以显着提高准确性
  • 现在可以检索处理过的图像(旋转、灰度、二进制)
  • 改进了对并行处理(调度程序)的支持
  • 重大变化:
    • createWorker现在是异步的
    • getPDF功能被 pdf识别选项取代

v3 的主要变化

  • 显着更快的性能
    • 识别示例图像时,浏览器的运行时间减少了 84%,Node.js 的运行时间减少了 96%
  • 升级到 Tesseract v5.1.0(使用 emscripten 3.1.18)
  • 为支持的设备添加了支持 SIMD 的构建
  • 添加支持:
    • Node.js 版本 18
  • 删除支持:
    • ASM.js 版本,任何其他旧版本的 Tesseract.js-core (<3.0.0)
    • Node.js 版本 10 和 12

v2 的主要变化

  • 升级到 tesseract v4.1.1(上游使用 emscripten 1.39.10)
  • 同时支持多种语言,eg: eng+chi_tra for English and Traditional Chinese
  • 支持的图像格式:png、jpg、bmp、pbm
  • 支持 WebAssembly(当浏览器不支持时回退到 ASM.js)
  • 支持打字稿

阅读有关 v2 的故事:为什么我重构 tesseract.js v2? 检查版本 1 的support/1.x分支

安装

Tesseract.js <script>通过本地副本或 CDN 使用标签,通过 webpack 通过 npm和在 Node.js 上使用 npm/yarn.

内容分发网络

<!-- v4 -->
<script src='https://unpkg.com/tesseract.js@4.0.0/dist/tesseract.min.js'></script>

包含脚本后,Tesseract变量将全局可用。

节点.js

需要 Node.js v14 或更高版本

# For latest version
npm install tesseract.js
yarn add tesseract.js

# For old versions
npm install tesseract.js@3.0.3
yarn add tesseract.js@3.0.3

文档

以你喜欢的方式使用 tesseract.js!

贡献

发展

要运行 Tesseract.js 的开发副本,请执行以下操作:

# First we clone the repository
git clone https://github.com/naptha/tesseract.js.git
cd tesseract.js

# Then we install the dependencies
npm install

# And finally we start the development server
npm start

开发服务器可以在您喜欢的浏览器中访问http://localhost:3000/examples/browser/demo.html 。当您更改src文件夹中的文件时 tesseract.dev.js,它会自动重建。worker.dev.js

一键在线设置

您可以使用 Gitpod(一种免费的在线 VS 代码,如 IDE)进行贡献。只需单击一下,它就会启动一个准备好编码的工作区,其中构建和启动脚本已经在进行中,几秒钟内它就会启动开发服务器,这样您就可以立即开始贡献,而不会浪费任何时间。

在 Gitpod 中打开

构建静态文件

要构建编译后的静态文件,只需执行以下命令:

npm run build

这会将文件输出到 dist目录中。

贡献者

代码贡献者

这个项目的存在要归功于所有做出贡献的人。[贡献]。

财务贡献者

成为财务贡献者并帮助我们维持我们的社区。[贡献]

个人

组织

与您的组织一起支持这个项目。您的徽标将显示在此处,并带有指向您网站的链接。[贡献]