@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.
Files changed (55) hide show
  1. package/build/Ocr.d.ts +15 -0
  2. package/build/Ocr.js +24 -0
  3. package/build/Ocr.js.map +1 -0
  4. package/build/backend/FileUtilsBase.d.ts +3 -0
  5. package/build/backend/FileUtilsBase.js +6 -0
  6. package/build/backend/FileUtilsBase.js.map +1 -0
  7. package/build/backend/ImageRawBase.d.ts +8 -0
  8. package/build/backend/ImageRawBase.js +14 -0
  9. package/build/backend/ImageRawBase.js.map +1 -0
  10. package/build/backend/backend.d.ts +14 -0
  11. package/build/backend/backend.js +14 -0
  12. package/build/backend/backend.js.map +1 -0
  13. package/build/backend/index.d.ts +3 -0
  14. package/build/backend/index.js +4 -0
  15. package/build/backend/index.js.map +1 -0
  16. package/build/backend/splitIntoLineImages.d.ts +2 -0
  17. package/build/backend/splitIntoLineImages.js +231 -0
  18. package/build/backend/splitIntoLineImages.js.map +1 -0
  19. package/build/index.d.ts +6 -0
  20. package/build/index.js +6 -0
  21. package/build/index.js.map +1 -0
  22. package/build/models/Detection.d.ts +13 -0
  23. package/build/models/Detection.js +82 -0
  24. package/build/models/Detection.js.map +1 -0
  25. package/build/models/ModelBase.d.ts +14 -0
  26. package/build/models/ModelBase.js +53 -0
  27. package/build/models/ModelBase.js.map +1 -0
  28. package/build/models/Recognition.d.ts +12 -0
  29. package/build/models/Recognition.js +190 -0
  30. package/build/models/Recognition.js.map +1 -0
  31. package/build/models/index.d.ts +2 -0
  32. package/build/models/index.js +3 -0
  33. package/build/models/index.js.map +1 -0
  34. package/build/types/index.d.ts +1 -0
  35. package/build/types/index.js +2 -0
  36. package/build/types/index.js.map +1 -0
  37. package/build/types/types.d.ts +67 -0
  38. package/build/types/types.js +5 -0
  39. package/build/types/types.js.map +1 -0
  40. package/package.json +34 -0
  41. package/src/Ocr.ts +34 -0
  42. package/src/backend/FileUtilsBase.ts +5 -0
  43. package/src/backend/ImageRawBase.ts +17 -0
  44. package/src/backend/backend.ts +29 -0
  45. package/src/backend/index.ts +3 -0
  46. package/src/backend/splitIntoLineImages.ts +296 -0
  47. package/src/index.ts +8 -0
  48. package/src/models/Detection.ts +96 -0
  49. package/src/models/ModelBase.ts +74 -0
  50. package/src/models/Recognition.ts +217 -0
  51. package/src/models/index.ts +2 -0
  52. package/src/types/global.d.ts +7 -0
  53. package/src/types/index.ts +1 -0
  54. package/src/types/types.ts +90 -0
  55. 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
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ // For publish
4
+ "compilerOptions": {
5
+ "baseUrl": ".",
6
+ "paths": {
7
+ "#common/*": ["./src/*"]
8
+ }
9
+ }
10
+ }