arcships/light-ocr
Fast, offline OCR for Node.js & C++. PP-OCRv6 with Core ML / WebGPU hardware acceleration — recognize text in images with confidence scores & coordinates. npm: @arcships/light-ocr
light‑ocr – Node.jsおよびC++向けの高速オフラインOCR
概要 – light‑ocrは、画像をクラウドサービスに送信することなく、ローカルで光学文字認識を実行するライブラリです。JPEG/PNG画像、PDF、または生のピクセルバッファからテキストを読み取り、各行のテキスト、信頼度スコア、および元の画像内での四角形の座標を返します。
対象ユーザー – Node.jsアプリケーション、コマンドラインツール、デスクトップソフトウェア、またはデバイス上でのOCRを必要とするネイティブC++プログラムを開発するエンジニア。プライバシー、低レイテンシ、またはオフライン動作が求められる場合に特に有用です。
主な機能 (READMEより)
- 単一のnpmインストール – モデル、OCRランタイム、PDFレンダラー (PDFium)、および中国語フォントがバンドルされています。インストール後のスクリプトや追加のダウンロード、システムフォントへの依存はありません。
- クロスプラットフォームバイナリ – macOS (Apple Silicon & Intel)、Linux (glibc & musl, x64 & arm64)、Windows (x64 & arm64) 向けのネイティブバイナリがプリビルドされています。Node‑API v8バインディングにより、ABI互換性を介してNode 22+ (LTS) 以降で動作します。
- ハードウェアアクセラレーション – 最新のmacOS Apple‑SiliconではCore MLを、利用可能な場合はWebGPU (LinuxではVulkan、WindowsではD3D12) を使用し、それ以外の場合はCPUにフォールバックします。
- 複数のモデル階層 – Small (≈30 MB, デフォルト, 安定版), Tiny (≈6 MB, プレビュー, 49言語, 日本語なし), Medium (≈139 MB, プレビュー, 高品質)。個別のnpmタグでインストール可能です。
- PDFサポート – PDFiumレンダリングとNoto Sans SCフォントを内蔵しており、中国語フォントを参照するPDFのOCRも追加設定なしで実行可能です。
- リッチな出力 – 各行について
text、confidence、および四角形のboxを取得できます。ページレベルのメタデータやタイミング情報も提供されます。 - CLI –
light-ocrコマンドラインツールにより、高速OCR、関心領域処理、検出のみモード、診断 (info,doctor) が可能です。JSON、JSONL、プレーンテキスト出力をサポートしています。 - C++ API – ネイティブ統合のためのCMakeターゲットを備えた静的ライブラリ (
light_ocr::core)。デコードされたピクセル形式 (GRAY8, RGB8, BGR8, RGBA8) を受け入れます。 - エージェントスキル – ローカルOCRを呼び出す必要のあるAIエージェント向けのスキルファイルが用意されており、マルチモーダルモデルよりも決定論的なOCRを優先すべき場合のガイダンスも含まれています。
基本的な使用方法 (Node.js)
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();
同じライブラリを使用して、recognizeDocumentでPDFページのストリーミングOCRも可能です。
パフォーマンス – READMEによると、純粋なCPUと比較して、Apple Silicon (Core ML) やWebGPU経由のNVIDIA/AMD GPUで2〜5倍の高速化が測定されており、CPU使用時間も大幅に削減されています。
ライセンス – Apache 2.0。
結論 – light‑ocrは、高レベルなJavaScript/Node.js開発と低レベルなC++のパフォーマンスのギャップを埋める、本番環境対応のオフラインOCRソリューションです。主要なデスクトッププラットフォーム全体でハードウェアアクセラレーション、PDF処理、容易なインストールを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト