id-scanner-lib 1.3.3 → 1.5.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 (101) hide show
  1. package/README.md +55 -460
  2. package/dist/id-scanner-lib.esm.js +4641 -0
  3. package/dist/id-scanner-lib.esm.js.map +1 -0
  4. package/dist/id-scanner-lib.js +14755 -0
  5. package/dist/id-scanner-lib.js.map +1 -0
  6. package/dist/types/core/base-module.d.ts +44 -0
  7. package/dist/types/core/camera-manager.d.ts +258 -0
  8. package/dist/types/core/config.d.ts +88 -0
  9. package/dist/types/core/errors.d.ts +111 -0
  10. package/dist/types/core/event-emitter.d.ts +55 -0
  11. package/dist/types/core/logger.d.ts +277 -0
  12. package/dist/types/core/module-manager.d.ts +78 -0
  13. package/dist/types/core/plugin-manager.d.ts +158 -0
  14. package/dist/types/core/resource-manager.d.ts +246 -0
  15. package/dist/types/core/result.d.ts +83 -0
  16. package/dist/types/core/scanner-factory.d.ts +93 -0
  17. package/dist/types/index.bundle.d.ts +1303 -0
  18. package/dist/types/index.d.ts +86 -0
  19. package/dist/types/interfaces/external-types.d.ts +174 -0
  20. package/dist/types/interfaces/face-detection.d.ts +293 -0
  21. package/dist/types/interfaces/scanner-module.d.ts +280 -0
  22. package/dist/types/modules/face/face-detector.d.ts +170 -0
  23. package/dist/types/modules/face/index.d.ts +56 -0
  24. package/dist/types/modules/face/liveness-detector.d.ts +177 -0
  25. package/dist/types/modules/face/types.d.ts +136 -0
  26. package/dist/types/modules/id-card/anti-fake-detector.d.ts +170 -0
  27. package/dist/types/modules/id-card/id-card-detector.d.ts +131 -0
  28. package/dist/types/modules/id-card/index.d.ts +89 -0
  29. package/dist/types/modules/id-card/ocr-processor.d.ts +110 -0
  30. package/dist/types/modules/id-card/ocr-worker.d.ts +31 -0
  31. package/dist/types/modules/id-card/types.d.ts +181 -0
  32. package/dist/types/modules/qrcode/index.d.ts +51 -0
  33. package/dist/types/modules/qrcode/qr-code-scanner.d.ts +64 -0
  34. package/dist/types/modules/qrcode/types.d.ts +67 -0
  35. package/dist/types/utils/camera.d.ts +81 -0
  36. package/dist/types/utils/image-processing.d.ts +176 -0
  37. package/dist/types/utils/index.d.ts +175 -0
  38. package/dist/types/utils/performance.d.ts +81 -0
  39. package/dist/types/utils/resource-manager.d.ts +53 -0
  40. package/dist/types/utils/types.d.ts +166 -0
  41. package/dist/types/utils/worker.d.ts +52 -0
  42. package/dist/types/version.d.ts +7 -0
  43. package/package.json +76 -75
  44. package/src/core/base-module.ts +78 -0
  45. package/src/core/camera-manager.ts +798 -0
  46. package/src/core/config.ts +268 -0
  47. package/src/core/errors.ts +174 -0
  48. package/src/core/event-emitter.ts +110 -0
  49. package/src/core/logger.ts +549 -0
  50. package/src/core/module-manager.ts +165 -0
  51. package/src/core/plugin-manager.ts +429 -0
  52. package/src/core/resource-manager.ts +762 -0
  53. package/src/core/result.ts +163 -0
  54. package/src/core/scanner-factory.ts +237 -0
  55. package/src/index.ts +113 -936
  56. package/src/interfaces/external-types.ts +200 -0
  57. package/src/interfaces/face-detection.ts +309 -0
  58. package/src/interfaces/scanner-module.ts +384 -0
  59. package/src/modules/face/face-detector.ts +931 -0
  60. package/src/modules/face/index.ts +208 -0
  61. package/src/modules/face/liveness-detector.ts +908 -0
  62. package/src/modules/face/types.ts +133 -0
  63. package/src/{id-recognition → modules/id-card}/anti-fake-detector.ts +273 -239
  64. package/src/modules/id-card/id-card-detector.ts +474 -0
  65. package/src/modules/id-card/index.ts +425 -0
  66. package/src/{id-recognition → modules/id-card}/ocr-processor.ts +149 -92
  67. package/src/modules/id-card/ocr-worker.ts +259 -0
  68. package/src/modules/id-card/types.ts +178 -0
  69. package/src/modules/qrcode/index.ts +175 -0
  70. package/src/modules/qrcode/qr-code-scanner.ts +230 -0
  71. package/src/modules/qrcode/types.ts +65 -0
  72. package/src/types/tesseract.d.ts +265 -22
  73. package/src/utils/image-processing.ts +68 -49
  74. package/src/utils/index.ts +426 -0
  75. package/src/utils/performance.ts +168 -131
  76. package/src/utils/resource-manager.ts +65 -146
  77. package/src/utils/types.ts +90 -2
  78. package/src/utils/worker.ts +123 -84
  79. package/src/version.ts +11 -0
  80. package/tools/scaffold.js +543 -0
  81. package/dist/id-scanner-core.esm.js +0 -11349
  82. package/dist/id-scanner-core.js +0 -11361
  83. package/dist/id-scanner-core.min.js +0 -1
  84. package/dist/id-scanner-ocr.esm.js +0 -2319
  85. package/dist/id-scanner-ocr.js +0 -2328
  86. package/dist/id-scanner-ocr.min.js +0 -1
  87. package/dist/id-scanner-qr.esm.js +0 -1296
  88. package/dist/id-scanner-qr.js +0 -1305
  89. package/dist/id-scanner-qr.min.js +0 -1
  90. package/dist/id-scanner.js +0 -4561
  91. package/dist/id-scanner.min.js +0 -1
  92. package/src/core.ts +0 -138
  93. package/src/demo/demo.ts +0 -204
  94. package/src/id-recognition/data-extractor.ts +0 -262
  95. package/src/id-recognition/id-detector.ts +0 -510
  96. package/src/id-recognition/ocr-worker.ts +0 -156
  97. package/src/index-umd.ts +0 -477
  98. package/src/ocr-module.ts +0 -187
  99. package/src/qr-module.ts +0 -179
  100. package/src/scanner/barcode-scanner.ts +0 -251
  101. package/src/scanner/qr-scanner.ts +0 -167
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @file 人脸模块类型定义
3
+ * @description 人脸模块相关的类型和接口定义
4
+ * @module modules/face/types
5
+ */
6
+
7
+ /**
8
+ * 人脸检测结果
9
+ */
10
+ export interface FaceDetectionResult {
11
+ /** 人脸边界框 */
12
+ boundingBox: {
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ };
18
+
19
+ /** 人脸特征点 */
20
+ landmarks?: {
21
+ /** 左眼 */
22
+ leftEye: { x: number; y: number };
23
+ /** 右眼 */
24
+ rightEye: { x: number; y: number };
25
+ /** 鼻子 */
26
+ nose: { x: number; y: number };
27
+ /** 嘴巴 */
28
+ mouth: { x: number; y: number };
29
+ /** 下巴 */
30
+ chin: { x: number; y: number };
31
+ };
32
+
33
+ /** 人脸角度 */
34
+ angle?: {
35
+ /** 俯仰角 */
36
+ pitch: number;
37
+ /** 偏航角 */
38
+ yaw: number;
39
+ /** 翻滚角 */
40
+ roll: number;
41
+ };
42
+
43
+ /** 人脸属性 */
44
+ attributes?: {
45
+ /** 性别 */
46
+ gender?: {
47
+ /** 性别值 */
48
+ value: 'male' | 'female';
49
+ /** 置信度 */
50
+ confidence: number;
51
+ };
52
+ /** 年龄 */
53
+ age?: {
54
+ /** 年龄值 */
55
+ value: number;
56
+ /** 置信度 */
57
+ confidence: number;
58
+ };
59
+ /** 表情 */
60
+ emotion?: {
61
+ /** 表情值 */
62
+ value: 'neutral' | 'happiness' | 'surprise' | 'sadness' | 'anger' | 'disgust' | 'fear' | 'contempt';
63
+ /** 置信度 */
64
+ confidence: number;
65
+ };
66
+ };
67
+
68
+ /** 活体检测结果 */
69
+ liveness?: {
70
+ /** 是否通过活体检测 */
71
+ passed: boolean;
72
+ /** 活体检测分数 */
73
+ score: number;
74
+ /** 活体检测类型 */
75
+ type: 'blink' | 'mouth' | 'head' | 'passive';
76
+ };
77
+
78
+ /** 人脸图像 */
79
+ image?: ImageData;
80
+
81
+ /** 置信度 */
82
+ confidence: number;
83
+ }
84
+
85
+ /**
86
+ * 人脸比对结果
87
+ */
88
+ export interface FaceComparisonResult {
89
+ /** 是否匹配 */
90
+ isMatch: boolean;
91
+ /** 相似度分数 */
92
+ similarity: number;
93
+ /** 置信度 */
94
+ confidence: number;
95
+ }
96
+
97
+ /**
98
+ * 人脸模块配置选项
99
+ */
100
+ export interface FaceModuleOptions {
101
+ /** 是否启用模块 */
102
+ enabled?: boolean;
103
+
104
+ /** 检测器配置 */
105
+ detector?: {
106
+ /** 最小置信度 */
107
+ minConfidence?: number;
108
+ /** 是否检测特征点 */
109
+ detectLandmarks?: boolean;
110
+ /** 是否检测属性 */
111
+ detectAttributes?: boolean;
112
+ /** 是否返回人脸图像 */
113
+ returnFaceImage?: boolean;
114
+ };
115
+
116
+ /** 活体检测配置 */
117
+ liveness?: {
118
+ /** 是否启用活体检测 */
119
+ enabled?: boolean;
120
+ /** 活体检测类型 */
121
+ type?: 'blink' | 'mouth' | 'head' | 'passive';
122
+ /** 最小置信度 */
123
+ minConfidence?: number;
124
+ /** 检测超时时间(毫秒) */
125
+ timeout?: number;
126
+ };
127
+
128
+ /** 人脸比对配置 */
129
+ comparison?: {
130
+ /** 最小相似度阈值 */
131
+ minSimilarity?: number;
132
+ };
133
+ }