light-ocr

一个跑在本地的 OCR 工具,给 Node.js 和 C++ 用。不用联网,装完就能直接识别图片里的文字,返回内容、置信度和位置坐标。

Github地址

https://github.com/arcships/light-ocr

功能特性

  • 本地处理。 图片和 OCR 结果始终留在本机。
  • 只需安装一个包。 模型和当前平台的预编译组件会随 npm 包一起安装。
  • 直接得到可用结果。 每一行都包含识别文字、置信度和原图位置。
  • 默认使用硬件加速。 Auto 在 macOS 15+ Apple Silicon 上优先使用 Core ML,在下表的 Linux 和 Windows 版本中优先使用 WebGPU。
  • 适合应用内调用。 识别任务在 JavaScript 主线程之外执行,并支持队列、取消和明确释放资源。
  • 识别大图中的小字。 可选的 tiled 模式可以保留高分辨率图片中的小字和密集文字。

快速开始

支持 Node.js 22 和 24。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
npm install @arcships/light-ocr
import { createEngine } from "@arcships/light-ocr";
import { readFile } from "node:fs/promises";

const engine = await createEngine();
const result = await engine.recognizeEncoded(
await readFile("image.jpg"),
);

for (const line of result.lines) {
console.log(line.text, line.confidence, line.box);
}

await engine.close();

createEngine() 会根据当前平台自动选择合适的执行方式。如果应用已经完成图片解码,recognize() 也可以直接接收 GRAY8RGB8BGR8RGBA8 像素数据。