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)解決方案。它無需外部 API 呼叫或複雜的系統層依賴,讓開發者能在本地機器上直接辨識影像(JPEG、PNG)與 PDF 中的文字。

工作原理

此專案預設使用 PP-OCRv6 Small 模型,並整合 PDFium 用於文件渲染。以單一 npm 套件形式發行,內含 OCR 執行時、模型與必要字型,無需安裝後下載或編譯器。

為優化效能,會自動偵測硬體加速:在 Apple Silicon(macOS 15+)上使用 Core ML,在 Linux 與 Windows 上使用 WebGPU(透過 Vulkan 或 D3D12),否則回退至 CPU。

適用對象

  • Node.js 開發者:開發 CLI、桌面軟體或需要本地文字辨識的伺服器端應用的開發者。
  • C++ 開發者:需要 OCR 集成之原生靜態函式庫的開發者。
  • AI 代理:此專案包含「代理技能」,協助 AI 代理在收據提取或驗證等任務中,判斷何時使用確定性 OCR 而非多模態模型。

主要特色

  • 零設定:一次 npm install 即可取得全部(模型、執行時、PDF 渲染器與字型),無需二次下載。
  • 本地化與隱私:所有處理皆在裝置上完成,確保資料隱私。
  • 硬體加速:原生支援 Core ML 與 WebGPU,相比 CPU 執行有顯著加速。
  • 靈活輸入:支援 PDF、JPEG、PNG 與原始像素緩衝區(GRAY8、RGB8、BGR8、RGBA8)。
  • 多階模型:提供 Small(穩定)、Tiny(超輕量)、Medium(品質導向)三種模型選項。
  • 分塊模式:可選模式,用於在高解析度影像中保留小而密集的文字。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案