Guten OCR
Demo | Roadmap
an OCR Javascript library runs on Node.js, Browser, React Native and C++
Based on PaddleOCR and ONNX Runtime, supports PP-OCRv4 model
Getting Started
Node
Example
bun add @gutenye/ocr-node
import Ocr from '@gutenye/ocr-node'
const ocr = await Ocr.create()
const result = await ocr.detect('a.jpg')
Browser
Example
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')
React Native
Example
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')
C++
Example
#include "native-ocr.h"
NativeOcr* ocr = new NativeOcr(..)
auto result = ocr->detect("a.jpg");
API Reference
Ocr.create({
models?: {
detectionPath: string
recognitionPath: string
dictionaryPath: string
},
isDebug?: boolean
debugOutputDir?: string
recognitionImageMaxSize?: number
detectionThreshold?: number
detectionBoxThreshold?: number
detectionUnclipRatiop?: number
detectionUseDilate?: boolean
detectionUsePolygonScore?: boolean
useDirectionClassify?: boolean
onnxOptions?: {}
}): Promise<Ocr>
ocr.detect(imagePath, {
onnxOptions?: {}
}): Promise<TextLine[]>
TextLine {
text: string
score: number
frame: { top, left, width, height }
}
Development
- Requires Git LFS to clone the repo
brew install git-lfs
git clone git@github.com:gutenye/ocr.git
Related Projects