雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

Tesseractjs 前端OCR识别提取图像文本字符工具 支持 100+ 种语言

2024-11-20 25

Tesseract.js 简介

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

Tesseract.js GitHub地址:https://github.com/naptha/tesseract.js#tesseractjs

Tesseract.js 主要特性

跨平台支持:

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

多语言支持:

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

高性能:

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

易用性:

提供简单易懂的 API 接口。 能够提取图片中的文字,支持图片预处理(如旋转、二值化)。

Tesseract.js 基本用法

使用 npm 安装

npm install tesseract.js

示例代码

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);
});

Tesseract.js 主要功能

识别图片中的文字

支持从图片中提取文字,可处理多种格式(如 PNG、JPEG、GIF),支持语言模型自定义。可加载自定义语言包(如繁体中文)。自定义训练数据可提升特定场景的识别精度。

进度和日志

提供进度日志,方便开发者监控 OCR 处理状态。

输出格式

返回多种结果形式(纯文本、每个字符的位置信息等)。

Tesseract.js 应用场景

文本提取:扫描文档、图片、名片等。 数据分析:从票据、表格、账单中提取结构化数据。 多语言处理:从多语言图片或文档中识别文字。

限制和注意事项

性能消耗:OCR 是一个计算密集型任务,可能会在低性能设备上表现不佳。图片的分辨率和质量会显著影响识别准确性。 依赖的语言数据:使用时需要加载语言包,如果未正确加载会导致识别失败。 复杂场景支持:对于复杂布局或手写文字的识别,可能需要预处理或其他工具配合。

Tesseract.js 是前端或 Node.js 环境中执行 OCR 的一种强大解决方案,适合需要无服务端依赖的轻量级应用场景。你可以在 Tesseract.js 官方文档 中找到更多详细信息。

更新于:18天前
赞一波!1

文章评论

评论问答