@areb0s/ocr-common 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Ocr.d.ts +15 -0
- package/build/Ocr.js +24 -0
- package/build/Ocr.js.map +1 -0
- package/build/backend/FileUtilsBase.d.ts +3 -0
- package/build/backend/FileUtilsBase.js +6 -0
- package/build/backend/FileUtilsBase.js.map +1 -0
- package/build/backend/ImageRawBase.d.ts +8 -0
- package/build/backend/ImageRawBase.js +14 -0
- package/build/backend/ImageRawBase.js.map +1 -0
- package/build/backend/backend.d.ts +14 -0
- package/build/backend/backend.js +14 -0
- package/build/backend/backend.js.map +1 -0
- package/build/backend/index.d.ts +3 -0
- package/build/backend/index.js +4 -0
- package/build/backend/index.js.map +1 -0
- package/build/backend/splitIntoLineImages.d.ts +2 -0
- package/build/backend/splitIntoLineImages.js +231 -0
- package/build/backend/splitIntoLineImages.js.map +1 -0
- package/build/index.d.ts +6 -0
- package/build/index.js +6 -0
- package/build/index.js.map +1 -0
- package/build/models/Detection.d.ts +13 -0
- package/build/models/Detection.js +82 -0
- package/build/models/Detection.js.map +1 -0
- package/build/models/ModelBase.d.ts +14 -0
- package/build/models/ModelBase.js +53 -0
- package/build/models/ModelBase.js.map +1 -0
- package/build/models/Recognition.d.ts +12 -0
- package/build/models/Recognition.js +190 -0
- package/build/models/Recognition.js.map +1 -0
- package/build/models/index.d.ts +2 -0
- package/build/models/index.js +3 -0
- package/build/models/index.js.map +1 -0
- package/build/types/index.d.ts +1 -0
- package/build/types/index.js +2 -0
- package/build/types/index.js.map +1 -0
- package/build/types/types.d.ts +67 -0
- package/build/types/types.js +5 -0
- package/build/types/types.js.map +1 -0
- package/package.json +34 -0
- package/src/Ocr.ts +34 -0
- package/src/backend/FileUtilsBase.ts +5 -0
- package/src/backend/ImageRawBase.ts +17 -0
- package/src/backend/backend.ts +29 -0
- package/src/backend/index.ts +3 -0
- package/src/backend/splitIntoLineImages.ts +296 -0
- package/src/index.ts +8 -0
- package/src/models/Detection.ts +96 -0
- package/src/models/ModelBase.ts +74 -0
- package/src/models/Recognition.ts +217 -0
- package/src/models/index.ts +2 -0
- package/src/types/global.d.ts +7 -0
- package/src/types/index.ts +1 -0
- package/src/types/types.ts +90 -0
- package/tsconfig.json +10 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { InferenceSession } from 'onnxruntime-common'
|
|
2
|
+
import { ImageRawBase as ImageRaw } from '#common/backend/ImageRawBase'
|
|
3
|
+
import type { splitIntoLineImages } from '#common/backend/splitIntoLineImages'
|
|
4
|
+
|
|
5
|
+
export { FileUtilsBase as FileUtils } from '#common/backend/FileUtilsBase'
|
|
6
|
+
export { ImageRaw, InferenceSession }
|
|
7
|
+
|
|
8
|
+
export type SplitIntoLineImages = typeof splitIntoLineImages
|
|
9
|
+
|
|
10
|
+
export type ReshapeOptions = {
|
|
11
|
+
mean?: number[]
|
|
12
|
+
std?: number[]
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type ImageRawData = {
|
|
16
|
+
data: Uint8Array | Uint8ClampedArray // Uint8Array: Node Buffer, Uint8ClampedArray: Web ImageData
|
|
17
|
+
width: number
|
|
18
|
+
height: number
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Browser-specific image input types
|
|
23
|
+
* Supports various browser image sources that can be converted to ImageRawData
|
|
24
|
+
*/
|
|
25
|
+
export type BrowserImageInput =
|
|
26
|
+
| string // URL or data URL
|
|
27
|
+
| ImageRawData // Raw pixel data
|
|
28
|
+
| ImageBitmap // From createImageBitmap(), OffscreenCanvas, etc.
|
|
29
|
+
| HTMLImageElement // <img> element
|
|
30
|
+
| HTMLCanvasElement // <canvas> element
|
|
31
|
+
| HTMLVideoElement // <video> element (captures current frame)
|
|
32
|
+
|
|
33
|
+
export type ModelData = {
|
|
34
|
+
data: number[] | Uint8Array
|
|
35
|
+
width: number
|
|
36
|
+
height: number
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type Size = {
|
|
40
|
+
width: number
|
|
41
|
+
height: number
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type SizeOption = {
|
|
45
|
+
width?: number
|
|
46
|
+
height?: number
|
|
47
|
+
fit?: 'contain' | 'cover' | 'fill' | 'inside' | 'outside'
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type LineImage = {
|
|
51
|
+
image: ImageRaw
|
|
52
|
+
// TODO: [top, right, bottom, left], top: [x,y]
|
|
53
|
+
box: number[][]
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export type Region = {
|
|
57
|
+
left: number
|
|
58
|
+
top: number
|
|
59
|
+
width: number
|
|
60
|
+
height: number
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export type Line = {
|
|
64
|
+
text: string
|
|
65
|
+
mean: number
|
|
66
|
+
box?: number[][]
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export type Dictionary = string[]
|
|
70
|
+
|
|
71
|
+
export type Point = [x: number, y: number]
|
|
72
|
+
|
|
73
|
+
export interface ModelBaseConstructorArg {
|
|
74
|
+
model: InferenceSession
|
|
75
|
+
options: ModelBaseOptions
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface ModelBaseOptions {
|
|
79
|
+
isDebug?: boolean
|
|
80
|
+
debugOutputDir?: string
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface ModelCreateOptions extends ModelBaseOptions {
|
|
84
|
+
models?: {
|
|
85
|
+
detectionPath: string
|
|
86
|
+
recognitionPath: string
|
|
87
|
+
dictionaryPath: string
|
|
88
|
+
}
|
|
89
|
+
onnxOptions?: InferenceSession.SessionOptions
|
|
90
|
+
}
|