bgustreadimg-wasm
v0.3.0
Published
WebAssembly build of bgustreadimg for high-performance frontend image preprocessing, Sauvola binarization, and optional OCR in the browser.
Maintainers
Readme
bgustreadimg-wasm 🖼️
WebAssembly build of bgustreadimg for high-performance frontend image preprocessing and Sauvola binarization directly in the browser.
Scope
v0.2.x: this WASM package only exposes image preprocessing (Sauvola binarization). OCR (text recognition) is planned for v0.3.0 and will use
onnxruntime-webas an optional peer dependency (the WASM package stays small; installonnxruntime-webonly if you need OCR in the browser). OCR models are downloaded from the GitHub Release, not bundled in the package.
Install
npm install bgustreadimg-wasm
# Optional, only if you need OCR in the browser (v0.3.0):
npm install onnxruntime-webUsage
import init, { preprocessImage } from 'bgustreadimg-wasm';
await init();
const fileBuffer = await file.arrayBuffer();
const cleanBuffer = preprocessImage(new Uint8Array(fileBuffer), 25, 0.2, 1280);windowSize: local window for adaptive analysis (odd, >= 3). Default25.k: Sauvola contrast sensitivity (0.0–1.0). Default0.2.targetWidth: target resize width, aspect ratio preserved. Default1280.
OCR (v0.3.0+)
import init, { preprocessImage } from 'bgustreadimg-wasm';
import { ocrImage } from 'bgustreadimg-wasm/ocr.js';
await init();
const result = await ocrImage(imageFile, {
detModel: 'https://github.com/B-GUST/bgustreadimg/releases/download/v0.3.0/det.onnx',
recModel: 'https://github.com/B-GUST/bgustreadimg/releases/download/v0.3.0/rec.onnx',
dictUrl: 'https://github.com/B-GUST/bgustreadimg/releases/download/v0.3.0/ppocrv5_dict.txt',
});
console.log(result.text);ocrImage requires the optional peer dependency onnxruntime-web (npm install onnxruntime-web) and the PP-OCRv5 models from the GitHub Release. It is a browser-side wrapper; the native OCR engine (napi/pyo3/cargo) runs the same models with ort.
License
Business Source License 1.1 (BUSL-1.1). Part of the BGUST ecosystem. Third-party: ONNX Runtime (MIT), PP-OCRv5 models (Apache-2.0, PaddlePaddle).
