图片提取文字工具Tesseractjs

202 阅读1分钟
Tesseractjs简介

Tesseract.js 是一个基于 Tesseract OCR 引擎的开源 JavaScript 库,用于在浏览器和 Node.js 环境中执行光学字符识别 (OCR)。它的特点是无需依赖服务器端支持,完全在客户端执行 OCR 操作。 跨平台支持:支持 100 多种语言的纯 JavaScript OCR 库; GitHub地址;

Tesseractjs主要特性

跨平台支持

  • 可以在浏览器和 Node.js 中运行。
  • 支持现代浏览器,包括 Chrome、Firefox、Safari 等。

多语言支持:

  • 默认支持 100 多种语言。
  • 允许加载不同的语言数据(如中文、英文等)。

高性能:

  • 使用 WebAssembly (WASM) 技术实现高效的计算。
  • 支持多线程处理,利用 worker 加速 OCR 过程。

易用性:

  • 提供简单易懂的 API 接口。
  • 能够提取图片中的文字,支持图片预处理(如旋转、二值化)。
Tesseractjs基本用法
// cdn
<script src='https://cdn.jsdelivr.net/npm/tesseract.js@5/dist/tesseract.min.js'></script>
// 下载
npm install tesseract.js
yarn add tesseract.js
// Node示例
const Tesseract = require('tesseract.js');
// 识别图片中的文本
Tesseract.recognize(
  'path/to/image.png', // 图片路径
  'eng',              // 语言代码
  {
    logger: info => console.log(info), // 可选:日志输出
  }
).then(({ data: { text } }) => {
  console.log('识别的文本:', text);
}).catch(error => {
  console.error('OCR 失败:', error);
});
// JS示例
import { createWorker } from 'tesseract.js';
(async () => {
  const worker = await createWorker('eng');
  const ret = await worker.recognize('https://tesseract.projectnaptha.com/img/eng_bw.png');
  console.log(ret.data.text);
  await worker.terminate();
})();