id-scanner-lib 1.2.2 → 1.3.2
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/LICENSE +1 -1
- package/README.md +375 -363
- package/dist/id-scanner-core.esm.js +427 -221
- package/dist/id-scanner-core.esm.js.map +1 -1
- package/dist/id-scanner-core.js +427 -221
- package/dist/id-scanner-core.js.map +1 -1
- package/dist/id-scanner-core.min.js +1 -9
- package/dist/id-scanner-core.min.js.map +1 -1
- package/dist/id-scanner-ocr.esm.js +451 -276
- package/dist/id-scanner-ocr.esm.js.map +1 -1
- package/dist/id-scanner-ocr.js +451 -276
- package/dist/id-scanner-ocr.js.map +1 -1
- package/dist/id-scanner-ocr.min.js +1 -9
- package/dist/id-scanner-ocr.min.js.map +1 -1
- package/dist/id-scanner-qr.esm.js +483 -233
- package/dist/id-scanner-qr.esm.js.map +1 -1
- package/dist/id-scanner-qr.js +482 -232
- package/dist/id-scanner-qr.js.map +1 -1
- package/dist/id-scanner-qr.min.js +1 -9
- package/dist/id-scanner-qr.min.js.map +1 -1
- package/dist/id-scanner.js +2138 -358
- package/dist/id-scanner.js.map +1 -1
- package/dist/id-scanner.min.js +1 -9
- package/dist/id-scanner.min.js.map +1 -1
- package/package.json +27 -7
- package/src/demo/demo.ts +178 -62
- package/src/id-recognition/anti-fake-detector.ts +317 -0
- package/src/id-recognition/id-detector.ts +184 -155
- package/src/id-recognition/ocr-processor.ts +193 -146
- package/src/id-recognition/ocr-worker.ts +82 -72
- package/src/index-umd.ts +347 -110
- package/src/index.ts +866 -91
- package/src/ocr-module.ts +108 -60
- package/src/qr-module.ts +104 -54
- package/src/scanner/barcode-scanner.ts +145 -58
- package/src/scanner/qr-scanner.ts +86 -47
- package/src/utils/image-processing.ts +479 -294
- package/dist/core.d.ts +0 -77
- package/dist/demo/demo.d.ts +0 -14
- package/dist/id-recognition/data-extractor.d.ts +0 -105
- package/dist/id-recognition/id-detector.d.ts +0 -100
- package/dist/id-recognition/ocr-processor.d.ts +0 -64
- package/dist/id-scanner.esm.js +0 -94656
- package/dist/id-scanner.esm.js.map +0 -1
- package/dist/index-umd.d.ts +0 -96
- package/dist/index.d.ts +0 -78
- package/dist/ocr-module.d.ts +0 -67
- package/dist/qr-module.d.ts +0 -68
- package/dist/scanner/barcode-scanner.d.ts +0 -90
- package/dist/scanner/qr-scanner.d.ts +0 -80
- package/dist/types/core.d.ts +0 -77
- package/dist/types/demo/demo.d.ts +0 -14
- package/dist/types/id-recognition/data-extractor.d.ts +0 -105
- package/dist/types/id-recognition/id-detector.d.ts +0 -100
- package/dist/types/id-recognition/ocr-processor.d.ts +0 -64
- package/dist/types/index-umd.d.ts +0 -96
- package/dist/types/index.d.ts +0 -78
- package/dist/types/ocr-module.d.ts +0 -67
- package/dist/types/qr-module.d.ts +0 -68
- package/dist/types/scanner/barcode-scanner.d.ts +0 -90
- package/dist/types/scanner/qr-scanner.d.ts +0 -80
- package/dist/types/utils/camera.d.ts +0 -81
- package/dist/types/utils/image-processing.d.ts +0 -75
- package/dist/types/utils/types.d.ts +0 -65
- package/dist/utils/camera.d.ts +0 -81
- package/dist/utils/image-processing.d.ts +0 -75
- package/dist/utils/types.d.ts +0 -65
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 相机工具类
|
|
3
|
-
* @description 提供访问和控制设备摄像头的功能
|
|
4
|
-
* @module Camera
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 相机配置选项接口
|
|
8
|
-
*
|
|
9
|
-
* @interface CameraOptions
|
|
10
|
-
* @property {number} [width] - 视频宽度,默认为640
|
|
11
|
-
* @property {number} [height] - 视频高度,默认为480
|
|
12
|
-
* @property {string} [facingMode] - 摄像头朝向,'user'为前置摄像头,'environment'为后置摄像头,默认为'environment'
|
|
13
|
-
*/
|
|
14
|
-
export interface CameraOptions {
|
|
15
|
-
width?: number;
|
|
16
|
-
height?: number;
|
|
17
|
-
facingMode?: 'user' | 'environment';
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 相机工具类
|
|
21
|
-
*
|
|
22
|
-
* 提供访问设备摄像头、获取视频流以及捕获图像帧的功能
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* // 创建相机实例
|
|
27
|
-
* const camera = new Camera({
|
|
28
|
-
* width: 1280,
|
|
29
|
-
* height: 720,
|
|
30
|
-
* facingMode: 'environment' // 使用后置摄像头
|
|
31
|
-
* });
|
|
32
|
-
*
|
|
33
|
-
* // 初始化相机
|
|
34
|
-
* const videoElement = document.getElementById('video') as HTMLVideoElement;
|
|
35
|
-
* await camera.start(videoElement);
|
|
36
|
-
*
|
|
37
|
-
* // 捕获当前视频帧
|
|
38
|
-
* const imageData = camera.captureFrame();
|
|
39
|
-
*
|
|
40
|
-
* // 使用结束后释放资源
|
|
41
|
-
* camera.stop();
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare class Camera {
|
|
45
|
-
private options;
|
|
46
|
-
private stream;
|
|
47
|
-
private videoElement;
|
|
48
|
-
/**
|
|
49
|
-
* 创建相机实例
|
|
50
|
-
* @param {CameraOptions} [options] - 相机配置选项
|
|
51
|
-
*/
|
|
52
|
-
constructor(options?: CameraOptions);
|
|
53
|
-
/**
|
|
54
|
-
* 启动摄像头并将视频流绑定到视频元素
|
|
55
|
-
* @param videoElement HTML视频元素
|
|
56
|
-
* @returns Promise<void>
|
|
57
|
-
*/
|
|
58
|
-
start(videoElement: HTMLVideoElement): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* 停止摄像头并释放资源
|
|
61
|
-
*/
|
|
62
|
-
stop(): void;
|
|
63
|
-
/**
|
|
64
|
-
* 初始化相机,获取视频流并绑定到视频元素
|
|
65
|
-
*
|
|
66
|
-
* @param {HTMLVideoElement} videoElement - 用于显示视频流的视频元素
|
|
67
|
-
* @returns {Promise<void>} 初始化完成的Promise
|
|
68
|
-
* @throws 如果无法访问摄像头,将抛出错误
|
|
69
|
-
*/
|
|
70
|
-
initialize(videoElement: HTMLVideoElement): Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* 捕获当前视频帧
|
|
73
|
-
*
|
|
74
|
-
* @returns {ImageData|null} 视频帧的ImageData对象,如果未初始化则返回null
|
|
75
|
-
*/
|
|
76
|
-
captureFrame(): ImageData | null;
|
|
77
|
-
/**
|
|
78
|
-
* 释放摄像头资源
|
|
79
|
-
*/
|
|
80
|
-
release(): void;
|
|
81
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 图像处理工具类
|
|
3
|
-
* @description 提供图像处理相关的辅助功能
|
|
4
|
-
* @module ImageProcessor
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 图像处理工具类
|
|
8
|
-
*
|
|
9
|
-
* 提供常用的图像处理功能,如亮度和对比度调整、灰度转换、图像大小调整等。
|
|
10
|
-
* 这些功能可用于增强图像质量,提高OCR和扫描的识别率。
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* // 使用图像处理功能增强图像
|
|
15
|
-
* const enhancedImage = ImageProcessor.adjustBrightnessContrast(
|
|
16
|
-
* originalImageData,
|
|
17
|
-
* 15, // 增加亮度
|
|
18
|
-
* 25 // 增加对比度
|
|
19
|
-
* );
|
|
20
|
-
*
|
|
21
|
-
* // 转换为灰度图像
|
|
22
|
-
* const grayImage = ImageProcessor.toGrayscale(originalImageData);
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export declare class ImageProcessor {
|
|
26
|
-
/**
|
|
27
|
-
* 将ImageData转换为Canvas元素
|
|
28
|
-
*
|
|
29
|
-
* @param {ImageData} imageData - 要转换的图像数据
|
|
30
|
-
* @returns {HTMLCanvasElement} 包含图像的Canvas元素
|
|
31
|
-
*/
|
|
32
|
-
static imageDataToCanvas(imageData: ImageData): HTMLCanvasElement;
|
|
33
|
-
/**
|
|
34
|
-
* 将Canvas转换为ImageData
|
|
35
|
-
*
|
|
36
|
-
* @param {HTMLCanvasElement} canvas - 要转换的Canvas元素
|
|
37
|
-
* @returns {ImageData|null} Canvas的图像数据,如果获取失败则返回null
|
|
38
|
-
*/
|
|
39
|
-
static canvasToImageData(canvas: HTMLCanvasElement): ImageData | null;
|
|
40
|
-
/**
|
|
41
|
-
* 调整图像亮度和对比度
|
|
42
|
-
*
|
|
43
|
-
* @param {ImageData} imageData - 要处理的图像数据
|
|
44
|
-
* @param {number} [brightness=0] - 亮度调整值,正值增加亮度,负值降低亮度,范围建议为-100到100
|
|
45
|
-
* @param {number} [contrast=0] - 对比度调整值,正值增加对比度,负值降低对比度,范围建议为-100到100
|
|
46
|
-
* @returns {ImageData} 处理后的图像数据
|
|
47
|
-
*/
|
|
48
|
-
static adjustBrightnessContrast(imageData: ImageData, brightness?: number, contrast?: number): ImageData;
|
|
49
|
-
/**
|
|
50
|
-
* 确保值在0-255范围内
|
|
51
|
-
*
|
|
52
|
-
* @private
|
|
53
|
-
* @param {number} value - 要截断的值
|
|
54
|
-
* @returns {number} 截断后的值,范围为0-255
|
|
55
|
-
*/
|
|
56
|
-
private static truncate;
|
|
57
|
-
/**
|
|
58
|
-
* 将彩色图像转换为灰度图像
|
|
59
|
-
*
|
|
60
|
-
* 灰度转换可以简化图像,提高OCR和条形码识别的准确率
|
|
61
|
-
*
|
|
62
|
-
* @param {ImageData} imageData - 要转换的彩色图像
|
|
63
|
-
* @returns {ImageData} 转换后的灰度图像
|
|
64
|
-
*/
|
|
65
|
-
static toGrayscale(imageData: ImageData): ImageData;
|
|
66
|
-
/**
|
|
67
|
-
* 调整图像大小
|
|
68
|
-
*
|
|
69
|
-
* @param {ImageData} imageData - 原图像数据
|
|
70
|
-
* @param {number} newWidth - 新宽度
|
|
71
|
-
* @param {number} newHeight - 新高度
|
|
72
|
-
* @returns {ImageData} 调整大小后的图像数据
|
|
73
|
-
*/
|
|
74
|
-
static resize(imageData: ImageData, newWidth: number, newHeight: number): ImageData;
|
|
75
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 类型定义文件
|
|
3
|
-
* @description 定义全局类型
|
|
4
|
-
* @module Types
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 身份证检测结果接口
|
|
8
|
-
*
|
|
9
|
-
* 包含身份证检测的结果信息,如是否成功检测到身份证、身份证的四个角点坐标以及裁剪后的身份证图像
|
|
10
|
-
*
|
|
11
|
-
* @interface DetectionResult
|
|
12
|
-
* @property {boolean} success - 是否成功检测到身份证
|
|
13
|
-
* @property {Object[]} [corners] - 检测到的身份证四个角点坐标
|
|
14
|
-
* @property {number} corners[].x - 角点X坐标
|
|
15
|
-
* @property {number} corners[].y - 角点Y坐标
|
|
16
|
-
* @property {ImageData} [croppedImage] - 裁剪后的身份证图像
|
|
17
|
-
*/
|
|
18
|
-
export interface DetectionResult {
|
|
19
|
-
success: boolean;
|
|
20
|
-
corners?: {
|
|
21
|
-
x: number;
|
|
22
|
-
y: number;
|
|
23
|
-
}[];
|
|
24
|
-
croppedImage?: ImageData;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* 身份证信息接口
|
|
28
|
-
*
|
|
29
|
-
* 包含从身份证中提取的各项个人信息
|
|
30
|
-
*
|
|
31
|
-
* @interface IDCardInfo
|
|
32
|
-
* @property {string} [name] - 姓名
|
|
33
|
-
* @property {string} [gender] - 性别
|
|
34
|
-
* @property {string} [nationality] - 民族
|
|
35
|
-
* @property {string} [birthDate] - 出生日期
|
|
36
|
-
* @property {string} [address] - 地址
|
|
37
|
-
* @property {string} [idNumber] - 身份证号码
|
|
38
|
-
* @property {string} [issuingAuthority] - 签发机关
|
|
39
|
-
* @property {string} [validPeriod] - 有效期限
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* // 身份证信息示例
|
|
44
|
-
* const idInfo: IDCardInfo = {
|
|
45
|
-
* name: '张三',
|
|
46
|
-
* gender: '男',
|
|
47
|
-
* nationality: '汉族',
|
|
48
|
-
* birthDate: '1990-01-01',
|
|
49
|
-
* address: '北京市海淀区xxxxx',
|
|
50
|
-
* idNumber: '110101199001011234',
|
|
51
|
-
* issuingAuthority: '北京市公安局海淀分局',
|
|
52
|
-
* validPeriod: '2020.01.01-2040.01.01'
|
|
53
|
-
* };
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
|
-
export interface IDCardInfo {
|
|
57
|
-
name?: string;
|
|
58
|
-
gender?: string;
|
|
59
|
-
nationality?: string;
|
|
60
|
-
birthDate?: string;
|
|
61
|
-
address?: string;
|
|
62
|
-
idNumber?: string;
|
|
63
|
-
issuingAuthority?: string;
|
|
64
|
-
validPeriod?: string;
|
|
65
|
-
}
|
package/dist/utils/camera.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 相机工具类
|
|
3
|
-
* @description 提供访问和控制设备摄像头的功能
|
|
4
|
-
* @module Camera
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 相机配置选项接口
|
|
8
|
-
*
|
|
9
|
-
* @interface CameraOptions
|
|
10
|
-
* @property {number} [width] - 视频宽度,默认为640
|
|
11
|
-
* @property {number} [height] - 视频高度,默认为480
|
|
12
|
-
* @property {string} [facingMode] - 摄像头朝向,'user'为前置摄像头,'environment'为后置摄像头,默认为'environment'
|
|
13
|
-
*/
|
|
14
|
-
export interface CameraOptions {
|
|
15
|
-
width?: number;
|
|
16
|
-
height?: number;
|
|
17
|
-
facingMode?: 'user' | 'environment';
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 相机工具类
|
|
21
|
-
*
|
|
22
|
-
* 提供访问设备摄像头、获取视频流以及捕获图像帧的功能
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* // 创建相机实例
|
|
27
|
-
* const camera = new Camera({
|
|
28
|
-
* width: 1280,
|
|
29
|
-
* height: 720,
|
|
30
|
-
* facingMode: 'environment' // 使用后置摄像头
|
|
31
|
-
* });
|
|
32
|
-
*
|
|
33
|
-
* // 初始化相机
|
|
34
|
-
* const videoElement = document.getElementById('video') as HTMLVideoElement;
|
|
35
|
-
* await camera.start(videoElement);
|
|
36
|
-
*
|
|
37
|
-
* // 捕获当前视频帧
|
|
38
|
-
* const imageData = camera.captureFrame();
|
|
39
|
-
*
|
|
40
|
-
* // 使用结束后释放资源
|
|
41
|
-
* camera.stop();
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare class Camera {
|
|
45
|
-
private options;
|
|
46
|
-
private stream;
|
|
47
|
-
private videoElement;
|
|
48
|
-
/**
|
|
49
|
-
* 创建相机实例
|
|
50
|
-
* @param {CameraOptions} [options] - 相机配置选项
|
|
51
|
-
*/
|
|
52
|
-
constructor(options?: CameraOptions);
|
|
53
|
-
/**
|
|
54
|
-
* 启动摄像头并将视频流绑定到视频元素
|
|
55
|
-
* @param videoElement HTML视频元素
|
|
56
|
-
* @returns Promise<void>
|
|
57
|
-
*/
|
|
58
|
-
start(videoElement: HTMLVideoElement): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* 停止摄像头并释放资源
|
|
61
|
-
*/
|
|
62
|
-
stop(): void;
|
|
63
|
-
/**
|
|
64
|
-
* 初始化相机,获取视频流并绑定到视频元素
|
|
65
|
-
*
|
|
66
|
-
* @param {HTMLVideoElement} videoElement - 用于显示视频流的视频元素
|
|
67
|
-
* @returns {Promise<void>} 初始化完成的Promise
|
|
68
|
-
* @throws 如果无法访问摄像头,将抛出错误
|
|
69
|
-
*/
|
|
70
|
-
initialize(videoElement: HTMLVideoElement): Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* 捕获当前视频帧
|
|
73
|
-
*
|
|
74
|
-
* @returns {ImageData|null} 视频帧的ImageData对象,如果未初始化则返回null
|
|
75
|
-
*/
|
|
76
|
-
captureFrame(): ImageData | null;
|
|
77
|
-
/**
|
|
78
|
-
* 释放摄像头资源
|
|
79
|
-
*/
|
|
80
|
-
release(): void;
|
|
81
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 图像处理工具类
|
|
3
|
-
* @description 提供图像处理相关的辅助功能
|
|
4
|
-
* @module ImageProcessor
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 图像处理工具类
|
|
8
|
-
*
|
|
9
|
-
* 提供常用的图像处理功能,如亮度和对比度调整、灰度转换、图像大小调整等。
|
|
10
|
-
* 这些功能可用于增强图像质量,提高OCR和扫描的识别率。
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* // 使用图像处理功能增强图像
|
|
15
|
-
* const enhancedImage = ImageProcessor.adjustBrightnessContrast(
|
|
16
|
-
* originalImageData,
|
|
17
|
-
* 15, // 增加亮度
|
|
18
|
-
* 25 // 增加对比度
|
|
19
|
-
* );
|
|
20
|
-
*
|
|
21
|
-
* // 转换为灰度图像
|
|
22
|
-
* const grayImage = ImageProcessor.toGrayscale(originalImageData);
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export declare class ImageProcessor {
|
|
26
|
-
/**
|
|
27
|
-
* 将ImageData转换为Canvas元素
|
|
28
|
-
*
|
|
29
|
-
* @param {ImageData} imageData - 要转换的图像数据
|
|
30
|
-
* @returns {HTMLCanvasElement} 包含图像的Canvas元素
|
|
31
|
-
*/
|
|
32
|
-
static imageDataToCanvas(imageData: ImageData): HTMLCanvasElement;
|
|
33
|
-
/**
|
|
34
|
-
* 将Canvas转换为ImageData
|
|
35
|
-
*
|
|
36
|
-
* @param {HTMLCanvasElement} canvas - 要转换的Canvas元素
|
|
37
|
-
* @returns {ImageData|null} Canvas的图像数据,如果获取失败则返回null
|
|
38
|
-
*/
|
|
39
|
-
static canvasToImageData(canvas: HTMLCanvasElement): ImageData | null;
|
|
40
|
-
/**
|
|
41
|
-
* 调整图像亮度和对比度
|
|
42
|
-
*
|
|
43
|
-
* @param {ImageData} imageData - 要处理的图像数据
|
|
44
|
-
* @param {number} [brightness=0] - 亮度调整值,正值增加亮度,负值降低亮度,范围建议为-100到100
|
|
45
|
-
* @param {number} [contrast=0] - 对比度调整值,正值增加对比度,负值降低对比度,范围建议为-100到100
|
|
46
|
-
* @returns {ImageData} 处理后的图像数据
|
|
47
|
-
*/
|
|
48
|
-
static adjustBrightnessContrast(imageData: ImageData, brightness?: number, contrast?: number): ImageData;
|
|
49
|
-
/**
|
|
50
|
-
* 确保值在0-255范围内
|
|
51
|
-
*
|
|
52
|
-
* @private
|
|
53
|
-
* @param {number} value - 要截断的值
|
|
54
|
-
* @returns {number} 截断后的值,范围为0-255
|
|
55
|
-
*/
|
|
56
|
-
private static truncate;
|
|
57
|
-
/**
|
|
58
|
-
* 将彩色图像转换为灰度图像
|
|
59
|
-
*
|
|
60
|
-
* 灰度转换可以简化图像,提高OCR和条形码识别的准确率
|
|
61
|
-
*
|
|
62
|
-
* @param {ImageData} imageData - 要转换的彩色图像
|
|
63
|
-
* @returns {ImageData} 转换后的灰度图像
|
|
64
|
-
*/
|
|
65
|
-
static toGrayscale(imageData: ImageData): ImageData;
|
|
66
|
-
/**
|
|
67
|
-
* 调整图像大小
|
|
68
|
-
*
|
|
69
|
-
* @param {ImageData} imageData - 原图像数据
|
|
70
|
-
* @param {number} newWidth - 新宽度
|
|
71
|
-
* @param {number} newHeight - 新高度
|
|
72
|
-
* @returns {ImageData} 调整大小后的图像数据
|
|
73
|
-
*/
|
|
74
|
-
static resize(imageData: ImageData, newWidth: number, newHeight: number): ImageData;
|
|
75
|
-
}
|
package/dist/utils/types.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 类型定义文件
|
|
3
|
-
* @description 定义全局类型
|
|
4
|
-
* @module Types
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 身份证检测结果接口
|
|
8
|
-
*
|
|
9
|
-
* 包含身份证检测的结果信息,如是否成功检测到身份证、身份证的四个角点坐标以及裁剪后的身份证图像
|
|
10
|
-
*
|
|
11
|
-
* @interface DetectionResult
|
|
12
|
-
* @property {boolean} success - 是否成功检测到身份证
|
|
13
|
-
* @property {Object[]} [corners] - 检测到的身份证四个角点坐标
|
|
14
|
-
* @property {number} corners[].x - 角点X坐标
|
|
15
|
-
* @property {number} corners[].y - 角点Y坐标
|
|
16
|
-
* @property {ImageData} [croppedImage] - 裁剪后的身份证图像
|
|
17
|
-
*/
|
|
18
|
-
export interface DetectionResult {
|
|
19
|
-
success: boolean;
|
|
20
|
-
corners?: {
|
|
21
|
-
x: number;
|
|
22
|
-
y: number;
|
|
23
|
-
}[];
|
|
24
|
-
croppedImage?: ImageData;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* 身份证信息接口
|
|
28
|
-
*
|
|
29
|
-
* 包含从身份证中提取的各项个人信息
|
|
30
|
-
*
|
|
31
|
-
* @interface IDCardInfo
|
|
32
|
-
* @property {string} [name] - 姓名
|
|
33
|
-
* @property {string} [gender] - 性别
|
|
34
|
-
* @property {string} [nationality] - 民族
|
|
35
|
-
* @property {string} [birthDate] - 出生日期
|
|
36
|
-
* @property {string} [address] - 地址
|
|
37
|
-
* @property {string} [idNumber] - 身份证号码
|
|
38
|
-
* @property {string} [issuingAuthority] - 签发机关
|
|
39
|
-
* @property {string} [validPeriod] - 有效期限
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* // 身份证信息示例
|
|
44
|
-
* const idInfo: IDCardInfo = {
|
|
45
|
-
* name: '张三',
|
|
46
|
-
* gender: '男',
|
|
47
|
-
* nationality: '汉族',
|
|
48
|
-
* birthDate: '1990-01-01',
|
|
49
|
-
* address: '北京市海淀区xxxxx',
|
|
50
|
-
* idNumber: '110101199001011234',
|
|
51
|
-
* issuingAuthority: '北京市公安局海淀分局',
|
|
52
|
-
* validPeriod: '2020.01.01-2040.01.01'
|
|
53
|
-
* };
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
|
-
export interface IDCardInfo {
|
|
57
|
-
name?: string;
|
|
58
|
-
gender?: string;
|
|
59
|
-
nationality?: string;
|
|
60
|
-
birthDate?: string;
|
|
61
|
-
address?: string;
|
|
62
|
-
idNumber?: string;
|
|
63
|
-
issuingAuthority?: string;
|
|
64
|
-
validPeriod?: string;
|
|
65
|
-
}
|