an OCR Javascript library runs on Node.js, Browser, React Native and C++
Based on PaddleOCR and ONNX Runtime, supports PP-OCRv4 model
bun add @gutenye/ocr-node
import Ocr from '@gutenye/ocr-node'
const ocr = await Ocr.create()
const result = await ocr.detect('a.jpg')
bun add @gutenye/ocr-browser
import Ocr from '@gutenye/ocr-browser'
const ocr = await Ocr.create({
models: {
detectionPath: '/assets/ch_PP-OCRv4_det_infer.onnx',
recognitionPath: '/assets/ch_PP-OCRv4_rec_infer.onnx',
dictionaryPath: '/assets/ppocr_keys_v1.txt'
}
})
const result = await ocr.detect('/a.jpg')
bun add @gutenye/ocr-react-native
import Ocr from '@guenye/ocr-react-native'
const ocr = await Ocr.create()
const result = await ocr.detect('a.jpg')
#include "native-ocr.h"
NativeOcr* ocr = new NativeOcr(..)
auto result = ocr->detect("a.jpg");
Ocr.create({
models?: {
detectionPath: string
recognitionPath: string
dictionaryPath: string
},
isDebug?: boolean
debugOutputDir?: string // Node only
recognitionImageMaxSize?: number // RN only
detectionThreshold?: number // RN only
detectionBoxThreshold?: number // RN only
detectionUnclipRatiop?: number // RN only
detectionUseDilate?: boolean // RN only
detectionUsePolygonScore?: boolean // RN only
useDirectionClassify?: boolean // RN only
onnxOptions?: {} // Node only. Pass to ONNX Runtime
}): Promise<Ocr>
ocr.detect(imagePath, {
onnxOptions?: {} // Node only. Pass to ONNX Runtime
}): Promise<TextLine[]>
TextLine {
text: string
score: number
frame: { top, left, width, height }
}
- Requires Git LFS to clone the repo
brew install git-lfs
git clone [email protected]:gutenye/ocr.git
Name | Platforms | Note |
---|---|---|
eSearch-OCR | Electron | |
paddleocr-onnx | Node | Recogination part is incomplete |
ocrjs | Node | Recogination part is incomplete |
Paddle-Lite-Demo | Mobile, C++ |