返回

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

2024-11-19 OCR Tesseractjs 855 3

Tesseract.js 简介

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

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

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 官方文档 中找到更多详细信息。

您可能感兴趣:

阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价

领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!

DOVE 网络加速器 梯子 免费 试用

网友点评
  • waygdwn

    同问,这怎么解决呢

  • 匿名用户

    我的是node 14.19.2 执行的时候为什么报:Uncaught NetworkError: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'https://cdn.jsdelivr.net/npm/tesseract.js@v5.1.1/dist/worker.min.js' failed to load. at handleError (webpack-internal:///./node_modules/webpack-dev-server/client/overlay.js:252:58) at eval (webpack-internal:///./node_modules/webpack-dev-server/client/overlay.js:271:7)

    • 匿名用户

      这个报错是由于 Tesseract.js 的 worker.min.js 文件无法被正确加载导致的。可能的原因包括网络问题、跨域限制、资源路径错误或项目配置问题。使用浏览器直接访问https://cdn.jsdelivr.net/npm/tesseract.js@v5.1.1/dist/worker.min.js可以打开吗?

顶部