计算机视觉

tesseract.js

naptha/tesseract.js

把 Tesseract OCR 引擎带到浏览器和 Node.js,通过 WebAssembly 识别图像文字,适合网页端轻量文字提取。

★ 38.7K星级
⑂ 2.4KFork 数
49未解决的问题
JavaScript语言
Apache-2.0许可证
Q90编辑评分

概览

Tesseract.js 的关键价值是执行位置灵活:识别可以在浏览器中运行,也可以部署在 Node.js 服务端。如果业务希望用户先在网页里提取图片文字,再决定是否提交结果,这种结构可以减少服务器处理链路。实际是否向外部发送内容,仍取决于应用代码和资源加载配置。 它包装的是现有 Tesseract 引擎,不是重新训练的视觉语言模型。项目明确不直接支持 PDF,也不通过修改核心识别模型提升精度,因此不应把它宣传为任意文档解析器。选择它主要看 JavaScript 集成需求、图片类型和运行设备能力。

主要功能

  • 浏览器与 Node.js 支持
  • WebAssembly OCR
  • 多语言数据
  • worker 复用
  • JavaScript 异步接口

要求、安装和快速入门

通过 npm 安装 tesseract.js,按当前 README 选择兼容 Node.js 版本或浏览器接入方式。先用官方 createWorker/recognize 示例识别单张图片,再配置语言数据加载与静态资源位置。

用法

先测试清晰截图、旋转照片和低对比扫描图,比较耗时与字符错误。对多张图片复用 worker,限制并发和图片尺寸。若输入是 PDF,先用单独的渲染工具转成图像,再明确逐页识别及阅读顺序的处理方式。

工作原理
WebAssembly 版本的 OCR 引擎在 worker 中加载语言数据,接收图像后进行文字识别。worker 可以复用于多张图片以摊薄初始化开销;完成任务后应释放资源。识别后的字段抽取和版面业务逻辑由上层应用处理。

适用人群与环境
需要在 JavaScript 应用中加入图像 OCR 的开发者。 支持 WebAssembly 的环境、适配版本的 Node.js 或浏览器、OCR 语言数据。

具体使用场景
• 网页截图转文字:浏览器内辅助复制。
• 表单预填:从图片识别文本后交给用户确认。
• Node.js 批处理:统一处理固定格式图片。

局限与选型边界
不直接读取 PDF;复杂表格、手写体和弯曲拍照文字需要专门评估。首次下载语言数据与 WASM 会增加等待时间,移动设备内存及算力可能成为瓶颈。

关联项目与选型分析
tesseract-ocr/tesseract:上下游:Tesseract.js 包装该 OCR 引擎,识别能力与语言数据选择密切相关。

JaidedAI/EasyOCR:对照:EasyOCR 更适合 Python/PyTorch 服务流程,Tesseract.js 强调浏览器与 JavaScript 集成。

资料说明
基于上游资料的编辑分析,未进行安装实测或性能基准;建议场景和项目搭配属于选型分析。

模型兼容性与使用场景

使用 Tesseract 语言数据和 WebAssembly 引擎,不是视觉语言模型接口。

许可证与风险说明

仓库当前页面标注 Apache-2.0;完整条件请查看仓库 LICENSE,模型权重与数据集另查各自说明。

Editorial source review 2026-09-09T05:00:00.950Z. README and live repository page verified; current stars/forks from GitHub HTML. Last-push metadata retained from 2026-09-05 discovery snapshot. No runtime benchmark. Integration proposals are editorial analysis.

发布与维护

资料核对:2026-09-09。统计取自本次仓库页面;功能依据 README 与官方资料整理。版本变化请查看来源区的 Releases。 基于上游资料的编辑分析,未进行安装实测或性能基准;建议场景和项目搭配属于选型分析。

opencv

opencv/opencv

★ 90.7KC++

tesseract

tesseract-ocr/tesseract

★ 76.3KC++

yolov5

ultralytics/yolov5

★ 58KPython

faceswap

deepfakes/faceswap

★ 57.5KPython